12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- class GiftBox_Base extends Container_Base
- {
- protected vector m_HalfExtents; // The Y value contains a heightoffset and not the halfextent !!!
- protected ref OpenableBehaviour m_Openable;
-
- void GiftBox_Base()
- {
- m_HalfExtents = vector.Zero;
- m_Openable = new OpenableBehaviour(false);
- RegisterNetSyncVariableBool("m_Openable.m_IsOpened");
- }
-
- override bool CanReceiveItemIntoCargo(EntityAI item)
- {
- if (!super.CanReceiveItemIntoCargo(item))
- return false;
-
- if (GameInventory.GetInventoryCheckContext() == InventoryCheckContext.DEFAULT)
- {
- if (!GetGame().IsDedicatedServer())
- return IsOpen();
- }
-
- return true;
- }
-
-
- override void Open()
- {
- m_Openable.Open();
- SetSynchDirty();
- }
-
- override void Close()
- {
- m_Openable.Close();
- SetSynchDirty();
- }
-
- override bool IsOpen()
- {
- return m_Openable.IsOpened();
- }
-
- override void SetActions()
- {
- super.SetActions();
- AddAction(ActionUnpackGift);
- }
-
- override void OnDebugSpawn()
- {
- EntityAI entity;
- if (Class.CastTo(entity, this))
- {
- entity.GetInventory().CreateInInventory("Chemlight_Green");
- }
- }
- override void EEHealthLevelChanged(int oldLevel, int newLevel, string zone)
- {
- super.EEHealthLevelChanged(oldLevel,newLevel,zone);
-
- if (newLevel == GameConstants.STATE_RUINED && GetGame().IsServer())
- {
- MiscGameplayFunctions.DropAllItemsInInventoryInBounds(this, m_HalfExtents);
- DeleteSafe();
- }
- }
- }
- class GiftBox_Small extends GiftBox_Base {}
- class GiftBox_Medium extends GiftBox_Base {}
- class GiftBox_Large extends GiftBox_Base {}
|