public override void ResetTrap() { if (_currDart != null) { Destroy(_currDart); } transform.position = _startPos; _myState = DartState.NONE; }
public override void DisableTrap() { if (_currDart != null) { Destroy(_currDart); } _possessed = false; _myState = DartState.ROOMDONE; }
//Initilize function public override void Init() { base.Init(); _startPos = transform.position; _realFireDelay = _fireDelay; _realSpawnDelay = _spawnDelay; _init = true; _startDelay = Time.time; _myState = DartState.SPAWNING; }
private void FireDart() { _currDelay = (Time.time - _startDelay) / _realFireDelay; if (_currDelay >= 1) { _currDelay = 1; _currDart.GetComponent <DartMovement>().Init(_trapDamage); _startDelay = Time.time; _myState = DartState.SPAWNING; } }
//creates a dart behind whatever wall the plate in on private void SpawnDart() { _currDelay = (Time.time - _startDelay) / _realSpawnDelay; Vector3 _spawnPos = transform.position; Quaternion _spawnRot = transform.rotation; if (_currDelay >= 1) { _currDelay = 1; _currDart = Instantiate <GameObject>(_dartsPrefab, _spawnPos, _spawnRot, this.transform); _startDelay = Time.time; _myState = DartState.FIRING; } }