public bool IsDetected(Vector3 radarPosition, IMyObjectToDetect objectToDetect) { //if (objectToDetect is MyFoundationFactory) //{ // return false; //} //// we don't want detect prefab containers with hagnars //if (objectToDetect is MyPrefabContainer && ((MyPrefabContainer)objectToDetect).ContainsPrefab(PrefabTypesFlagEnum.Hangar)) //{ // return false; //} if (!CanBeDetected(objectToDetect)) { return(false); } BoundingSphere detectingSphere = new BoundingSphere(radarPosition, Range); if (!detectingSphere.Intersects(objectToDetect.WorldAABB)) { return(false); } return(IsObjectMeetDetectCriterium(objectToDetect)); }
protected override bool IsObjectMeetDetectCriterium(IMyObjectToDetect objectToDetect) { // entity movement, prefabcontainer or ship detect if (objectToDetect is MyEntity) { MyEntity entity = objectToDetect as MyEntity; if (entity.Physics != null && entity.Physics.Speed > MyHudConstants.RADAR_MOVEMENT_DETECTOR_MIN_SPEED_TO_DETECT) { return(true); } else { if (entity is MyShip || entity is MyPrefabBase) { return(true); } } } // ore detect else if (objectToDetect is MyVoxelMapOreDepositCell) { return(true); } return(false); }
protected override bool IsObjectMeetDetectCriterium(IMyObjectToDetect objectToDetect) { // entity movement, prefabcontainer or ship detect if(objectToDetect is MyEntity) { MyEntity entity = objectToDetect as MyEntity; if (entity.Physics != null && entity.Physics.Speed > MyHudConstants.RADAR_MOVEMENT_DETECTOR_MIN_SPEED_TO_DETECT) { return true; } else { if(entity is MyShip || entity is MyPrefabBase) { return true; } } } // ore detect else if (objectToDetect is MyVoxelMapOreDepositCell) { return true; } return false; }
public bool IsDetected(Vector3 radarPosition, IMyObjectToDetect objectToDetect) { //if (objectToDetect is MyFoundationFactory) //{ // return false; //} //// we don't want detect prefab containers with hagnars //if (objectToDetect is MyPrefabContainer && ((MyPrefabContainer)objectToDetect).ContainsPrefab(PrefabTypesFlagEnum.Hangar)) //{ // return false; //} if (!CanBeDetected(objectToDetect)) { return false; } BoundingSphere detectingSphere = new BoundingSphere(radarPosition, Range); if (!detectingSphere.Intersects(objectToDetect.WorldAABB)) { return false; } return IsObjectMeetDetectCriterium(objectToDetect); }
protected override bool CanBeDetected(IMyObjectToDetect objectToDetect) { //return objectToDetect is MyEntity && // !(objectToDetect is MySmallDebris || objectToDetect is MyExplosionDebrisBase || objectToDetect is MyLargeDebrisField) && // !(objectToDetect is MyPrefabBase); return(objectToDetect is MyShip || objectToDetect is MyAmmoBase); }
protected override bool CanBeDetected(IMyObjectToDetect objectToDetect) { //return objectToDetect is MyEntity || objectToDetect is MyMwcVoxelMaterialsEnum; return(objectToDetect is MyShip || objectToDetect is MyPrefabFoundationFactory || objectToDetect is MyPrefabHangar || objectToDetect is MyAmmoBase || objectToDetect is MyVoxelMapOreDepositCell); }
protected override bool CanBeDetected(IMyObjectToDetect objectToDetect) { //return objectToDetect is MyEntity || objectToDetect is MyMwcVoxelMaterialsEnum; return objectToDetect is MyShip || objectToDetect is MyPrefabFoundationFactory || objectToDetect is MyPrefabHangar || objectToDetect is MyAmmoBase || objectToDetect is MyVoxelMapOreDepositCell; }
private static void RemoveClosedObject(IMyObjectToDetect obj) { using (m_detectedObjectsLock.AcquireExclusiveUsing()) { m_detectedObjects.Remove(obj); m_detectedBotsAndLargeWeapons.Remove(obj); m_detectedObjectsHelperCollection.Remove(obj); m_objectsToDetect.Remove(obj); } }
protected override bool IsObjectMeetDetectCriterium(IMyObjectToDetect objectToDetect) { MyEntity entity = objectToDetect as MyEntity; if (entity.Physics == null) { return(false); } return(entity.Physics.Speed > MyHudConstants.RADAR_MOVEMENT_DETECTOR_MIN_SPEED_TO_DETECT); }
protected override bool IsObjectMeetDetectCriterium(IMyObjectToDetect objectToDetect) { if (objectToDetect is MySmallShip) { MySmallShip smallShip = objectToDetect as MySmallShip; return(smallShip.Radar != null); } if (objectToDetect is MyPrefabBase) { MyPrefabBase prefab = objectToDetect as MyPrefabBase; return(prefab.GetOwner().ContainsPrefab(PrefabTypesFlagEnum.LargeShip)); } return(false); }
protected override bool IsObjectMeetDetectCriterium(IMyObjectToDetect objectToDetect) { if (objectToDetect is MySmallShip) { MySmallShip smallShip = objectToDetect as MySmallShip; return smallShip.Radar != null; } if(objectToDetect is MyPrefabBase) { MyPrefabBase prefab = objectToDetect as MyPrefabBase; return prefab.GetOwner().ContainsPrefab(PrefabTypesFlagEnum.LargeShip); } return false; }
static bool CanBeDetected(IMyObjectToDetect objectToDetect) { if (objectToDetect is MyVoxelMapOreDepositCell) { MyVoxelMapOreDepositCell oreDeposit = objectToDetect as MyVoxelMapOreDepositCell; return(oreDeposit.GetTotalRareOreContent() > 0); } //return objectToDetect is MyEntity || objectToDetect is MyMwcVoxelMaterialsEnum; return(objectToDetect is MyShip || objectToDetect is MyPrefabFoundationFactory || objectToDetect is MyPrefabHangar || objectToDetect is MyPrefabLargeWeapon || objectToDetect is MyAmmoBase /*|| * objectToDetect is MyVoxelMapOreDepositCell*/); }
protected override bool IsObjectMeetDetectCriterium(IMyObjectToDetect objectToDetect) { MyEntity entity = objectToDetect as MyEntity; // TODO: temporary disable displaying mission entities on radar /*// we detect all mission entities if(MyMissions.IsMissionEntity(entity)) { return true; } // we detect all friendly ship, foundation factories and hangars else */if(entity is MyShip || entity is MyPrefabFoundationFactory || entity is MyPrefabHangar) { return MyFactions.GetFactionsRelation(m_ship, entity) == MyFactionRelationEnum.Friend; } return false; }
protected override bool IsObjectMeetDetectCriterium(IMyObjectToDetect objectToDetect) { MyEntity entity = objectToDetect as MyEntity; // TODO: temporary disable displaying mission entities on radar /*// we detect all mission entities * if(MyMissions.IsMissionEntity(entity)) * { * return true; * } * // we detect all friendly ship, foundation factories and hangars * else */if (entity is MyShip || entity is MyPrefabFoundationFactory || entity is MyPrefabHangar) { return(MyFactions.GetFactionsRelation(m_ship, entity) == MyFactionRelationEnum.Friend); } return(false); }
private static bool CanShout(IMyObjectToDetect detectedObject) { MyEntity detectedEntity = detectedObject as MyEntity; if (detectedEntity != null) { MyFactionRelationEnum factionRelation = MyFactions.GetFactionsRelation(MySession.PlayerShip, detectedEntity); if (detectedEntity is MySmallShipBot && factionRelation != MyFactionRelationEnum.Friend) { MySmallShipBot bot = detectedEntity as MySmallShipBot; return(!bot.IsParked() && !bot.IsPilotDead()); } if (detectedEntity is MyPrefabLargeWeapon && factionRelation == MyFactionRelationEnum.Enemy) { MyPrefabLargeWeapon largeWeapon = detectedEntity as MyPrefabLargeWeapon; return(largeWeapon.IsWorking()); } } return(false); }
protected override bool IsObjectMeetDetectCriterium(IMyObjectToDetect objectToDetect) { return true; }
private static bool CanShout(IMyObjectToDetect detectedObject) { MyEntity detectedEntity = detectedObject as MyEntity; if (detectedEntity != null) { MyFactionRelationEnum factionRelation = MyFactions.GetFactionsRelation(MySession.PlayerShip, detectedEntity); if (detectedEntity is MySmallShipBot && factionRelation != MyFactionRelationEnum.Friend) { MySmallShipBot bot = detectedEntity as MySmallShipBot; return !bot.IsParked() && !bot.IsPilotDead(); } if (detectedEntity is MyPrefabLargeWeapon && factionRelation == MyFactionRelationEnum.Enemy) { MyPrefabLargeWeapon largeWeapon = detectedEntity as MyPrefabLargeWeapon; return largeWeapon.IsWorking(); } } return false; }
protected abstract bool CanBeDetected(IMyObjectToDetect objectToDetect);
protected override bool IsObjectMeetDetectCriterium(IMyObjectToDetect objectToDetect) { MyVoxelMapOreDepositCell oreDeposit = (MyVoxelMapOreDepositCell)objectToDetect; return oreDeposit.GetOreContent(m_oreMaterial) > 0; }
protected override bool CanBeDetected(IMyObjectToDetect objectToDetect) { return(objectToDetect is MyVoxelMapOreDepositCell); }
static bool CanBeDetected(IMyObjectToDetect objectToDetect) { if (objectToDetect is MyVoxelMapOreDepositCell) { MyVoxelMapOreDepositCell oreDeposit = objectToDetect as MyVoxelMapOreDepositCell; return oreDeposit.GetTotalRareOreContent() > 0; } //return objectToDetect is MyEntity || objectToDetect is MyMwcVoxelMaterialsEnum; return objectToDetect is MyShip || objectToDetect is MyPrefabFoundationFactory || objectToDetect is MyPrefabHangar || objectToDetect is MyPrefabLargeWeapon || objectToDetect is MyAmmoBase /*|| objectToDetect is MyVoxelMapOreDepositCell*/; }
protected override bool CanBeDetected(IMyObjectToDetect objectToDetect) { return(objectToDetect is MySmallShip || objectToDetect is MyPrefabFoundationFactory || objectToDetect is MyPrefabHangar); }
protected abstract bool IsObjectMeetDetectCriterium(IMyObjectToDetect objectToDetect);
protected override bool CanBeDetected(IMyObjectToDetect objectToDetect) { return objectToDetect is MySmallShip || objectToDetect is MyPrefabFoundationFactory || objectToDetect is MyPrefabHangar; }
protected override bool CanBeDetected(IMyObjectToDetect objectToDetect) { return objectToDetect is MyVoxelMapOreDepositCell; }
protected override bool IsObjectMeetDetectCriterium(IMyObjectToDetect objectToDetect) { MyVoxelMapOreDepositCell oreDeposit = (MyVoxelMapOreDepositCell)objectToDetect; return(oreDeposit.GetOreContent(m_oreMaterial) > 0); }
protected override bool CanBeDetected(IMyObjectToDetect objectToDetect) { //return objectToDetect is MyShip || objectToDetect is MyPrefabContainer; return(objectToDetect is MyEntity); }
protected override bool IsObjectMeetDetectCriterium(IMyObjectToDetect objectToDetect) { return(true); }
protected override bool CanBeDetected(IMyObjectToDetect objectToDetect) { //return objectToDetect is MyShip || objectToDetect is MyPrefabContainer; return objectToDetect is MyEntity; }