private long SpawnInventoryContainer(MyDefinitionId bagDefinition)
        {
            MyEntity builder     = Character;
            var      worldMatrix = Character.WorldMatrix;

            worldMatrix.Translation += worldMatrix.Up + worldMatrix.Forward;

            MyObjectBuilder_EntityBase bagBuilder = new MyObjectBuilder_EntityBase();

            var position = new MyPositionAndOrientation(worldMatrix);

            bagBuilder.PositionAndOrientation = position;
            bagBuilder.EntityId = MyEntityIdentifier.AllocateId();
            var entity = MyEntities.CreateAndAddFromDefinition(bagBuilder, bagDefinition);

            entity.Physics.ClearSpeed();
            entity.Physics.ForceActivate();
            entity.NeedsUpdate = MyEntityUpdateEnum.EACH_100TH_FRAME;

            MyTimerComponent timerComponent = new MyTimerComponent();

            timerComponent.SetRemoveEntityTimer(1440);
            entity.GameLogic = timerComponent;


            MySyncCreate.SendEntityCreated(entity.GetObjectBuilder(), bagDefinition);

            return(entity.EntityId);
        }
示例#2
0
 public void Unregister(MyTimerComponent timerComponent)
 {
     m_timerComponents.Remove(timerComponent);
 }
示例#3
0
 public void Register(MyTimerComponent timerComponent)
 {
     m_timerComponents.Add(timerComponent);
 }