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); }
public void Unregister(MyTimerComponent timerComponent) { m_timerComponents.Remove(timerComponent); }
public void Register(MyTimerComponent timerComponent) { m_timerComponents.Add(timerComponent); }