Beispiel #1
0
 public bool factionHasSoldier(SoldierEntity entity)
 {
     for (int i = 0; i < soldiers.Count; i++)
     {
         if (soldiers[i] == entity)
         {
             return(true);
         }
     }
     return(false);
 }
Beispiel #2
0
        //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;
 }