void Window_Selectable::Update(){ // 共通アップデート Update_Common(); // 選択時にウィンドウを閉じるかの判定 CheckAutoClose(); // キャンセル可能かどうかの判定 CheckCancelable(); switch(state){ case UPDATING: // 更新 switch(select.Move()){ case SELECT2D_CHOOSE: result = select.index; if(autoClose){ state = IDLE; Close(); } break; case SELECT2D_CANCEL: if(cancelable){ result = WND_SELECTABLE_RESULT_CANCEL; Close(); } break; } break; case SUSPENDED: // SUSPENDED状態の判定 state = UPDATING; break; } }
void Window_Selectable::Update(){ // 共通アップデート Update_Common(); // 選択時にウィンドウを閉じるかの判定 CheckAutoClose(); // キャンセル可能かどうかの判定 CheckCancelable(); switch(state){ case UPDATING: // 更新 switch(select.Move()){ case SELECT2D_CHOOSE: result = select.index; if(autoClose){ state = IDLE; Close(); } break; case SELECT2D_CANCEL: if(cancelable){ // キャンセルされた時の値を返す。 result = indexOnCanceled; /* if(indexOnCanceled >= 0){ select.index = indexOnCanceled; } */ state = IDLE; Close(); } break; } break; case SUSPENDED: // SUSPENDED状態の判定 state = UPDATING; break; } }