public virtual void StateChange(TRAJSTATE astate) { if (state != astate) { _time = Time.realtimeSinceStartup; if (astate == TRAJSTATE.STATE_BEGIN) { OnBeginStart(); } else if (astate == TRAJSTATE.STATE_MOVE) { ShowEffect(TRAJSTATE.STATE_MOVE, true); OnMoveStart(); } else if (astate == TRAJSTATE.STATE_IDLE) { ShowEffect(TRAJSTATE.STATE_MOVE, false); OnHitStart(); } else if (astate == TRAJSTATE.STATE_OVER) { ShowEffect(TRAJSTATE.STATE_OVER, true); } state = astate; } }
public virtual void Reset() { state = TRAJSTATE.STATE_OVER; _time = 0; _startTime = 0; _active = false; _moved = false; _hited = false; SetState(TRAJSTATE.STATE_BEGIN); if (effecrObj.Count >= 1) { foreach (var e in effecrObj) { GameObject.DestroyImmediate(e); } } effecrObj.Clear(); }
public virtual void SetState(TRAJSTATE astate) { StateChange(astate); }
public virtual void ShowEffect(TRAJSTATE state, bool show) { }