ScientificBriefcase.c
class ScientificBriefcase : Container_Base
{
protected ref OpenableBehaviour m_Openable;
override void InitItemVariables()
{
super.InitItemVariables();
m_Openable = new OpenableBehaviour(false);
RegisterNetSyncVariableBool("m_Openable.m_IsOpened");
}
override void OnStoreSave(ParamsWriteContext ctx)
{
super.OnStoreSave(ctx);
ctx.Write(m_Openable.IsOpened());
}
override bool OnStoreLoad(ParamsReadContext ctx, int version)
{
if (!super.OnStoreLoad(ctx, version))
return false;
bool opened;
if (version >= 139 && ctx.Read(opened))
{
if (opened)
Open();
else
Close();
}
return true;
}
override bool CanReceiveItemIntoCargo(EntityAI item)
{
if (GetHealthLevel() == GameConstants.STATE_RUINED)
return false;
if (!IsOpen())
return false;
return super.CanReceiveItemIntoCargo(item);
}
override bool IsOpen()
{
return m_Openable.IsOpened();
}
override void Open()
{
m_Openable.Open();
SetSynchDirty();
}
override void Close()
{
m_Openable.Close();
SetSynchDirty();
}
}