Esempio n. 1
0
        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());
            }
        }
Esempio n. 2
0
        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());
            }
        }