public void InitializeShipBaseArc() { ArcInfo = new ArcsHolder(this); switch (ShipBaseArcsType) { case BaseArcsType.ArcRear: ArcInfo.Arcs.Add(new ArcRear(ShipBase)); break; case BaseArcsType.ArcSpecial180: ArcInfo.Arcs.Add(new ArcSpecial180(ShipBase)); break; case BaseArcsType.Arc360: ArcInfo.GetArc <OutOfArc>().ShotPermissions.CanShootPrimaryWeapon = true; break; case BaseArcsType.ArcMobile: ArcInfo.Arcs.Add(new ArcMobile(ShipBase)); break; case BaseArcsType.ArcBullseye: ArcInfo.Arcs.Add(new ArcBullseye(ShipBase)); break; case BaseArcsType.ArcSpecialGhost: ArcInfo.Arcs.Add(new ArcSpecialGhost(ShipBase)); break; default: break; } }
public void InitializeShipBaseArc() { if (ArcInfo != null) { List <GenericArc> oldArcs = new List <GenericArc>(ArcInfo.Arcs); foreach (var arc in oldArcs) { arc.RemoveArc(); } } ; ArcInfo = new ArcsHolder(this); switch (ShipBaseArcsType) { case BaseArcsType.ArcRear: ArcInfo.Arcs.Add(new ArcRear(ShipBase)); break; case BaseArcsType.ArcSpecial180: ArcInfo.Arcs.Add(new ArcSpecial180(ShipBase)); break; case BaseArcsType.Arc360: ArcInfo.GetArc <OutOfArc>().ShotPermissions.CanShootPrimaryWeapon = true; break; case BaseArcsType.ArcMobile: ArcInfo.Arcs.Add(new ArcMobile(ShipBase)); break; case BaseArcsType.ArcMobileOnly: ArcInfo.Arcs.Add(new ArcMobile(ShipBase)); ArcInfo.Arcs.RemoveAll(a => a is ArcPrimary); break; case BaseArcsType.ArcMobileDual: ArcInfo.Arcs.Add(new ArcMobileDualA(ShipBase)); ArcInfo.Arcs.Add(new ArcMobileDualB(ShipBase)); ArcInfo.Arcs.RemoveAll(a => a is ArcPrimary); break; case BaseArcsType.ArcBullseye: ArcInfo.Arcs.Add(new ArcBullseye(ShipBase)); break; case BaseArcsType.ArcSpecialGhost: ArcInfo.Arcs.Add(new ArcSpecialGhost(ShipBase)); break; default: break; } RuleSet.Instance.AdaptArcsToRules(this); }
public void InitializeShipBaseArc() { ArcsInfo = new ArcsHolder(this); foreach (ShipArcInfo arc in ShipInfo.ArcInfo.Arcs) { switch (arc.ArcType) { case ArcType.Front: ArcsInfo.Arcs.Add(new ArcFront(ShipBase)); break; case ArcType.Rear: ArcsInfo.Arcs.Add(new ArcRear(ShipBase)); break; case ArcType.FullFront: ArcsInfo.Arcs.Add(new ArcFullFront(ShipBase)); break; case ArcType.SingleTurret: ArcsInfo.Arcs.Add(new ArcSingleTurret(ShipBase)); break; case ArcType.DoubleTurret: ArcsInfo.Arcs.Add(new ArcDualTurretA(ShipBase)); ArcsInfo.Arcs.Add(new ArcDualTurretB(ShipBase)); break; case ArcType.Bullseye: ArcsInfo.Arcs.Add(new ArcBullseye(ShipBase)); break; case ArcType.TurretPrimaryWeapon: //TODOREVERT // Primary weapon can be used from outside the arc break; case ArcType.SpecialGhost: ArcsInfo.Arcs.Add(new ArcSpecialGhost(ShipBase)); break; default: break; } } }