public SinglePokeData(ePokeDetail detail, Vector2 start_pos, int frame_count) { mCurrentPosValid = false; mStartPos = start_pos; mDetail = detail; mFrameCount = frame_count; }
private void ExitSinglePoke(ePokeDetail detail, bool current_pos_valid) { SinglePokeData data = current_pos_valid ? new SinglePokeData(detail, mSinglePoke_StartPos, GetSingleTouchPos(), mSinglePoke_FrameCount) : new SinglePokeData(detail, mSinglePoke_StartPos, mSinglePoke_FrameCount); XBulletinBoard.Instance().mBroadcaster_SinglePoke.Post(data); }
private eContactChange State_SinglePoke() { double k_drift_thresh_sqr = XMath.Sqr(45d); Vector2 current_pos = GetSingleTouchPos(); Vector2 drift = current_pos - mSinglePoke_StartPos; if (drift.LengthSquared() > k_drift_thresh_sqr) { return(eContactChange.StillToMoving); } ePokeDetail detail = mSinglePoke_FrameCount == 0 ? ePokeDetail.Start : ePokeDetail.Hold; SinglePokeData data = new SinglePokeData(detail, mSinglePoke_StartPos, current_pos, mSinglePoke_FrameCount); XBulletinBoard.Instance().mBroadcaster_SinglePoke.Post(data); ++mSinglePoke_FrameCount; return(eContactChange.NoChange); }