Пример #1
0
 internal void RemoveSquadron(Squadron squadron)
 {
     foreach (var entry in squadron.AircraftsWithRelPositions)
     {
         RemoveAircraft(entry.Key);
     }
     Squadrons.Remove(squadron);
     ActiveSquadrons.Remove(squadron);
 }
Пример #2
0
        protected override void OnRawDataUpdated()
        {
            Name   = RawData.Name;
            Option = RawData.Option;

            Squadrons.UpdateRawData(RawData.Squadrons, r => new AirForceSquadron(this, r), (rpData, rpRawData) => rpData.Update(rpRawData));

            CombatRadius = RawData.CombatRadius;

            UpdateFighterPower();
            UpdateLBASConsumption();
        }
Пример #3
0
        internal void AddSquadron(Squadron squadron, CCPoint position, float CCdirection)
        {
            squadron.Leader.Position = position;
            squadron.Leader.RotateTo(CCdirection);
            // rotate all formation positions correctly around the leader and set everyone to their positions
            float angle = Constants.CCDegreesToMathRadians(CCdirection);

            foreach (var entry in squadron.AircraftsWithRelPositions)
            {
                var formationPoint = CCPoint.RotateByAngle(entry.Value, CCPoint.Zero, angle);
                entry.Key.Position = position + formationPoint;
                entry.Key.RotateTo(CCdirection);
                AddAircraft(entry.Key);
            }
            squadron.GenerateWayPoint();
            Squadrons.Add(squadron);
        }
        private void SetSquadrons(string apiname, dynamic data)
        {
            foreach (var elem in data)
            {
                int id = (int)elem.api_squadron_id;

                if (!Squadrons.ContainsKey(id))
                {
                    var a = new BaseAirCorpsSquadron();
                    a.LoadFromResponse(apiname, elem);
                    Squadrons.Add(a);
                }
                else
                {
                    Squadrons[id].LoadFromResponse(apiname, elem);
                }
            }
        }