public void OnAreaEnter(ReactiveArea area) { if (DestroyInWater && Controller.Inside <Water>()) { Remove(); } }
public void OnAreaEnter(ReactiveArea area) { var water = area as Water; if (water != null) { _water = water; Electrocute(); } }
private void OnAreaExit(ReactiveArea area) { if (Underwater && !Controller.Inside <Water>()) { Underwater = false; OnExitWater.Invoke(); UpdateCanBreathe(); } if (StatusAnimator != null && UnderwaterBoolHash != 0) { StatusAnimator.SetBool(UnderwaterBoolHash, Underwater); } }
protected void OnAreaExit(ReactiveArea area) { if (!(area is Water) || Player.Inside <Water>()) { return; } var exit = FindWaterExit(); if (!exit) { return; } var splash = Instantiate(Splash); splash.transform.position = exit.point; splash.transform.eulerAngles = new Vector3( splash.transform.eulerAngles.x, splash.transform.eulerAngles.y, DMath.Angle(exit.normal) * Mathf.Rad2Deg - 90f); OnExitSplash.Invoke(); }