Example #1
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);
                }
            }
        }