コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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;
                }
            }
        }