void Update()
 {
     if (mISM != null)
     {
         mISM.Update();
     }
     SMHBaseState state = mISM.GetFromDic <SMHBaseState>(mISM.GetCurrentFirstState());
     //Debug.Log(state.mName);
 }
    public override void OnTap(TapGesture gesture)
    {
        SMHBaseState state = mISM.GetFromDic <SMHBaseState>(mISM.GetCurrentFirstState());

        if (state != null)
        {
            state.OnTap(gesture);
        }
    }
    public override void OnSimpleFingerUp(object v)
    {
        SMHBaseState state = mISM.GetFromDic <SMHBaseState>(mISM.GetCurrentFirstState());

        if (state != null)
        {
            state.OnSimpleFingerUp(v);
        }
    }
    public override void OnDrag(DragGesture gesture)
    {
        base.OnDrag(gesture);
        SMHBaseState state = mISM.GetFromDic <SMHBaseState>(mISM.GetCurrentFirstState());

        if (state != null)
        {
            state.OnDrag(gesture);
        }
    }