示例#1
0
        protected Weapon _createWeapon(Ship s, ProjectileManager projectileManager, WeaponTypes type, byte slot)
        {
            Weapon retWeap = null;

            switch (type)
            {
            case WeaponTypes.Laser:
                retWeap = new Laser(projectileManager, s, slot);
                break;

            case WeaponTypes.NaniteLauncher:
                retWeap = new NaniteLauncher(projectileManager, s, slot);
                break;

            case WeaponTypes.None:
                retWeap = new NullWeapon(s);
                break;

            case WeaponTypes.BC_Laser:
                retWeap = new BC_Laser(projectileManager, s, slot);
                break;

            case WeaponTypes.LaserWave:
                retWeap = new LaserWave(projectileManager, s, slot);
                break;

            case WeaponTypes.PlasmaCannon:
                retWeap = new PlasmaCannon(projectileManager, s, slot);
                break;

            case WeaponTypes.HurrDurr:
                retWeap = new HurrDurr(projectileManager, s, slot);
                break;

            case WeaponTypes.AltLaser:
                retWeap = new AltLaser(projectileManager, s, slot);
                break;

            case WeaponTypes.MissileLauncher:
                retWeap = new MissileLauncher(projectileManager, ProjectileTypes.AmbassadorMissile, s, slot);
                break;

            case WeaponTypes.GravBomber:
                retWeap = new GravBomber(projectileManager, s, slot);
                break;

            default:
                ConsoleManager.WriteLine("Error: Invalid weapon type passed to ClientShipManager", ConsoleMessageType.Error);
                retWeap = new NullWeapon(s);
                break;
            }

            return(retWeap);
        }
示例#2
0
    private void Start()
    {
        laserWave         = GetComponentInChildren <LaserWave>();
        laserWaveRenderer = GetComponentInChildren <LaserWaveRenderer>();
        inputController   = GetComponent <InputController>();
        laserCollider     = laserWave.GetComponent <BoxCollider>();
        character         = GetComponent <Character>();

        Registry.musicManager.BeatPassed         += MusicManager_BeatPassed;
        Registry.musicManager.NearestBeatChanged += MusicManager_NearestBeatChanged;
    }
示例#3
0
    IEnumerator Special()
    {
        LaserWave tempSW = Instantiate(special, transform.position, special.transform.rotation);

        tempSW.Initialize(slowFactor, range * 2, specialTime, this);
        lineRenderer.colorGradient = specGrad;
        damageOverTime            *= 3;
        yield return(new WaitForSeconds(specialTime));

        damageOverTime            /= 3;
        lineRenderer.colorGradient = mainGrad;
    }