/** * ドラッグが実行中のランチャーメニューの処理 * @brief ドラッグが実行中に実行 ランチャー実行前、実行中 それぞれの処理を実行 * @param[in] processInDragPos ドラッグ中の座標 */ public void OnDragProcess(Vector2 processInDragPos) { m_launcherMenuState = checkLauncherMenuState(); switch (m_launcherMenuState) { case launcherMenuState.BeforeCountDown: break; case launcherMenuState.CountDown: stopDelayedLauncherMenu(m_coroutine); break; case launcherMenuState.Executing: //今回のメニューの座標を計算しドラッグと起点からの距離 角度を求める Vector2 menuProcessInDragPos = new Vector2(processInDragPos.x * m_screenDiameter, processInDragPos.y * m_screenDiameter); float processInDistance = getDistance(m_menuBasePos, menuProcessInDragPos); double setDegree = getDegree(menuProcessInDragPos.x, menuProcessInDragPos.y, m_menuBasePos.x, m_menuBasePos.y); //メニューの処理 menuProcess(processInDistance, setDegree, m_launcherMenuList); break; default: break; } }
/** * ランチャーメニューの状態を確認する * @brief launcherMenuStateを更新し返す * @returns launcherMenuStateの状態 */ private launcherMenuState checkLauncherMenuState() { launcherMenuState state = launcherMenuState.BeforeCountDown; //ランチャーの実行前 if (m_isDisplaying == false) { // ランチャーの待機前 if (m_isInWaiting == false) { state = launcherMenuState.BeforeCountDown; } // ランチャーの待機中 if (m_isInWaiting == true) { state = launcherMenuState.CountDown; } } //ランチャーの実行中 else { state = launcherMenuState.Executing; } return(state); }
/** * ドラックが開始時のランチャーメニューの処理 * @brief ドラックが開始したとき時に実行 ランチャー実行前、実行中 それぞれの処理を実行 */ public void OnBeginDragProcess() { m_launcherMenuState = checkLauncherMenuState(); switch (m_launcherMenuState) { case launcherMenuState.BeforeCountDown: break; case launcherMenuState.CountDown: stopDelayedLauncherMenu(m_coroutine); break; case launcherMenuState.Executing: break; default: break; } }
/** * 画面を押した時のランチャーメニューの処理を実行 * @brief 画面を押した時のランチャー実行前、実行中 それぞれで実行する処理 * @param[in] basePointPos 画面を押した始めのスクリーン座標 */ public void OnPointerDownProcess(Vector2 basePointPos) { m_launcherMenuState = checkLauncherMenuState(); switch (m_launcherMenuState) { case launcherMenuState.BeforeCountDown: m_screenBasePos = new Vector2(basePointPos.x, basePointPos.y); m_menuBasePos = new Vector2(m_screenBasePos.x * m_screenDiameter, m_screenBasePos.y * m_screenDiameter); startDelayedLauncherMenu(m_menuStartWaitingTime); break; case launcherMenuState.CountDown: break; case launcherMenuState.Executing: break; default: break; } }