public bool factionHasSoldier(SoldierEntity entity) { for (int i = 0; i < soldiers.Count; i++) { if (soldiers[i] == entity) { return(true); } } return(false); }
//returns true if intel on the soldier exists // public bool updateSoldierIntel(SoldierEntity entity, Vector3 pos){ // for (int i = 0; i < soldierIntelData.Count; i++) { // if (soldierIntelData[i].soldierEntityToTrack==entity){ // if (soldierIntelData[i].lastKnownPosition==Vector3.zero){ // soldierIntelData[i].averageVelocity = soldierIntelData[i].soldierEntityToTrack.facingRotation*Vector3.forward*FireTeamController.soldierInterpolationSpeed; // } else { // soldierIntelData[i].averageVelocity = ((1- (1/((Time.time>0?Time.time:1)-soldierIntelData[i].TimeWhenIntelWasLastUpdated)))*(pos-soldierIntelData[i].lastKnownPosition)/((Time.time>0?Time.time:1)-soldierIntelData[i].TimeWhenIntelWasLastUpdated) + (1/((Time.time>0?Time.time:1)-soldierIntelData[i].TimeWhenIntelWasLastUpdated)*soldierIntelData[i].averageVelocity)); //we use a exponential weighted moving avg here. // } // soldierIntelData[i].lastKnownPosition = pos; // soldierIntelData[i].TimeWhenIntelWasLastUpdated = Time.time; // return true; // } // } // return false; // } public SoldierIntel getSoldierIntel(SoldierEntity entity) { Debug.Assert(entity.faction != factionName); for (int i = 0; i < soldierIntelData.Count; i++) { if (soldierIntelData[i].soldierEntityToTrack == entity) { return(soldierIntelData[i]); } } soldierIntelData.Add(new SoldierIntel(entity)); return(soldierIntelData [soldierIntelData.Count - 1]); }
public SoldierIntel(SoldierEntity soldierEntityToTrack) { this.soldierEntityToTrack = soldierEntityToTrack; }