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