public void UpdateSquadMission(ConquestDroneSquad squad) { ConquestMission mission = null; if (squad.Mission() != null && squad.Mission().MissionType == ActionTypes.Patrol) { mission = GenerateMission(squad, true); if (mission != null) { squad.IssueMission(mission); squad.SetOwner(GetMothershipID()); Util.GetInstance().Log("[ConquestDroneManager.UpdateSquadMission] Switching from patrol mission to assist Mission " + squad.myid, logpath); } } if (mission == null) { mission = squad.ReadyForNewMission(ticks) ? GenerateMission(squad) : squad.Mission(); squad.IssueMission(mission); squad.SetOwner(GetMothershipID()); } }
public void AddDrone(ConquestDrone drone) { foreach (var squad in _squads) { if (squad.DroneCount() < DronesPerConquestSquad) { Util.GetInstance().Log("[ConquestDronemanager.AddDrone] drone added!"); squad.AddDrone(drone); return; } } if (_squads.Count < MaxNumConquestSquads) { var sq = new ConquestDroneSquad(drone.GetOwnerId()); sq.AddDrone(drone); Util.GetInstance().Log("[ConquestDronemanager.AddDrone] squad created: drone added!"); _squads.Add(sq); sq.SetOwner(drone.GetOwnerId()); } }