private void OnActionEnter(HaggisBehaviour.Action newAction, HaggisBehaviour.Action oldAction) { //Debug.LogFormat("OnActionEnter called on ID: {0}", GetInstanceID()); switch (newAction) { case HaggisBehaviour.Action.Hop: HaggisHop(jumpPower); break; case HaggisBehaviour.Action.Leaping: HaggisLeap(leapPower.x, leapPower.y); break; case HaggisBehaviour.Action.Bombing: rigidBody.velocity = Vector3.zero; break; case HaggisBehaviour.Action.Exploding: //if (explosionEffect) ParticleSystem ee = Instantiate(explosionEffect, transform.position, Quaternion.Euler(90.0f, 0.0f, 0.0f)); if (ee) { ee.Play(); Destroy(ee.gameObject, ee.startLifetime); } rend.enabled = false; break; case HaggisBehaviour.Action.Building: { // seems to just play animation automatically } break; } }
public bool SetCurrentSelectedAction(HaggisBehaviour.Action action) { switch (action) { case HaggisBehaviour.Action.Walking: case HaggisBehaviour.Action.Leaping: case HaggisBehaviour.Action.Falling: case HaggisBehaviour.Action.FastFalling: case HaggisBehaviour.Action.Dead: case HaggisBehaviour.Action.Hop: default: return(false); case HaggisBehaviour.Action.Blocking: case HaggisBehaviour.Action.Building: case HaggisBehaviour.Action.Bombing: case HaggisBehaviour.Action.Exploding: case HaggisBehaviour.Action.None: currentSelectedAction = action; return(true); } }