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); } } }