public virtual void Init(MyObjectBuilder_AiTarget builder) { this.m_currentTarget = builder.CurrentTarget; this.m_targetEntity = null; if (builder.EntityId == null) { this.m_currentTarget = MyAiTargetEnum.NO_TARGET; } else if (!Sandbox.Game.Entities.MyEntities.TryGetEntityById(builder.EntityId.Value, out this.m_targetEntity, false)) { this.m_currentTarget = MyAiTargetEnum.NO_TARGET; } this.m_targetCube = builder.TargetCube; this.SetMTargetPosition(builder.TargetPosition); this.m_compoundId = builder.CompoundId; if (builder.UnreachableEntities != null) { foreach (MyObjectBuilder_AiTarget.UnreachableEntitiesData data in builder.UnreachableEntities) { VRage.Game.Entity.MyEntity entity = null; if (Sandbox.Game.Entities.MyEntities.TryGetEntityById(data.UnreachableEntityId, out entity, false)) { this.m_unreachableEntities.Add(entity, MySandboxGame.TotalGamePlayTimeInMilliseconds + data.Timeout); } } } }
public virtual MyObjectBuilder_AiTarget GetObjectBuilder() { long?nullable1; MyObjectBuilder_AiTarget target = MyObjectBuilderSerializer.CreateNewObject <MyObjectBuilder_AiTarget>(); if (this.m_targetEntity != null) { nullable1 = new long?(this.m_targetEntity.EntityId); } else { nullable1 = null; } target.EntityId = nullable1; target.CurrentTarget = this.m_currentTarget; target.TargetCube = this.m_targetCube; target.TargetPosition = this.m_targetPosition; target.CompoundId = this.m_compoundId; target.UnreachableEntities = new List <MyObjectBuilder_AiTarget.UnreachableEntitiesData>(); foreach (KeyValuePair <VRage.Game.Entity.MyEntity, int> pair in this.m_unreachableEntities) { MyObjectBuilder_AiTarget.UnreachableEntitiesData item = new MyObjectBuilder_AiTarget.UnreachableEntitiesData { UnreachableEntityId = pair.Key.EntityId, Timeout = pair.Value - MySandboxGame.TotalGamePlayTimeInMilliseconds }; target.UnreachableEntities.Add(item); } return(target); }
public virtual void Init(MyObjectBuilder_AiTarget builder) { m_currentTarget = builder.CurrentTarget; m_targetEntity = null; if (builder.EntityId.HasValue) { if (!MyEntities.TryGetEntityById(builder.EntityId.Value, out m_targetEntity)) { m_currentTarget = MyAiTargetEnum.NO_TARGET; } } else { m_currentTarget = MyAiTargetEnum.NO_TARGET; } m_targetCube = builder.TargetCube; m_targetPosition = builder.TargetPosition; m_compoundId = builder.CompoundId; if (builder.UnreachableEntities != null) { foreach (var data in builder.UnreachableEntities) { MyEntity entity = null; if (MyEntities.TryGetEntityById(data.UnreachableEntityId, out entity)) { m_unreachableEntities.Add(entity, MySandboxGame.TotalGamePlayTimeInMilliseconds + data.Timeout); } else { Debug.Assert(false, "Couldn't find entity with given id: " + data.UnreachableEntityId); } } } }
public abstract void Init(MyObjectBuilder_AiTarget builder);