//==============================================================================// // Setter、Getter // //==============================================================================// public void CountCoinEventStock(COIN_EVENT_ID id) { CoinEventStock[(int)id]++; //ストック+1 judgeRequestNecessity(id); updateCoinEventStockLampDisplayState(id); //ストックランプの表示状態の更新 Debug.Log("コイン放出イベントパターン" + id + "のストック:現在" + CoinEventStock[(int)id]); }
private void outputCoinEventStockLampDisplayState(COIN_EVENT_ID id) { for (int lamp = NUM_STOCK_MIN; lamp < NUM_STOCK_MAX; lamp++) { CoinEventStockLampInfo[(int)id, lamp].OnObject.SetActive(CoinEventStockLampInfo[(int)id, lamp].DisplayState); CoinEventStockLampInfo[(int)id, lamp].OffObject.SetActive(!(CoinEventStockLampInfo[(int)id, lamp].DisplayState)); } }
private void requestCoinEvent(COIN_EVENT_ID id) { bool ready = CoinEventController.GetCoinEventIsReadyOk(); //コイン放出イベント要求してもよいか確認のためのフラグを取得 if (ready == true) //コインイベントの準備OKなら { CoinEventController.SetCoinPayoutRequest(PATTERN_COIN_EVENT[(int)id]); //コイン放出イベント要求 } }
//==============================================================================// // private関数 // //==============================================================================// private void judgeRequestNecessity(COIN_EVENT_ID id) { if (CoinEventStock[(int)id] >= NUM_STOCK_MAX) //ストックがたまったら { requestCoinEvent(id); //コイン放出イベント要求 CoinEventStock[(int)id] = 0; //ストックのリセット updateCoinEventStockLampDisplayState(id); //ストックランプの表示状態の更新(ストックに変化があったIDのみ) } else //たまってないなら { //なにもしない } }
private void settingTurnOnLamp(COIN_EVENT_ID id) { /* 基本消灯(点灯するなら上書きされる) */ for (int lamp = NUM_STOCK_MIN; lamp < NUM_STOCK_MAX; lamp++) { CoinEventStockLampInfo[(int)id, lamp].DisplayState = OFF; } /* ストックに応じてつける必要があるならONに設定 */ for (int lamp = NUM_STOCK_MIN; lamp < CoinEventStock[(int)id]; lamp++) { CoinEventStockLampInfo[(int)id, lamp].DisplayState = ON; } }
//==============================================================================// // Setter、Getter // //==============================================================================// public void CountCoinEventStock(COIN_EVENT_ID id) { CoinEventStock[(int)id]++; //ストック+1 judgeRequestNecessity(id); updateCoinEventStockLampDisplayState(id); //ストックランプの表示状態の更新 }
/* ストックランプの表示状態の更新 */ private void updateCoinEventStockLampDisplayState(COIN_EVENT_ID id) { settingTurnOnLamp(id); //ストックに応じて点灯する必要のあるランプの設定 outputCoinEventStockLampDisplayState(id); //出力 }