Beispiel #1
0
    // Called before change to white state
    private void BeforeChangeToWState()
    {
        Overload = false;

        _whiteOverloadTimer = 0f;
        _whiteShotTimer     = 100f;

        Vector3    emitterPos = transform.position + new Vector3(0, 0.4f, 0);
        Quaternion emitterRot = Quaternion.identity;

        _curEmitter = Instantiate(WhiteBulletEmitter, emitterPos, emitterRot,
                                  transform) as WBulletEmitController;

        if (_curLaser)
        {
            Destroy(_curLaser.gameObject);
            _curLaser = null;
        }
    }
Beispiel #2
0
    // Called before change to black state
    private void BeforeChangeToBState()
    {
        Overload = false;

        _blackOverloadTimer = 0f;

        Vector3    laserPos = transform.position + new Vector3(0, 0.258f, 0);
        Quaternion laserRot = Quaternion.identity;

        _curLaser             = Instantiate(LaserPrefab, laserPos, laserRot, transform) as GrowthLaser;
        _curLaser.LaserWidth  = LaserWidthCurve.Evaluate(_blackOverloadTimer);
        _curLaser.Damage      = (int)LaserDamageCurve.Evaluate(_blackOverloadTimer);
        _curLaser.Interval    = LaserInterval;
        _curLaser.GrowthSpeed = LaserGrowthSpeed;

        if (_curEmitter != null)
        {
            Destroy(_curEmitter.gameObject);
            _curEmitter = null;
        }
    }