public void Initialize(DataMonsterMaster _dataMaster, int _iCostNokori) { m_bIsUserData = false; m_eStep = STEP.IDLE; m_eStepPre = STEP.MAX; m_lbTitle.text = _dataMaster.name; m_lbTitle2.text = _dataMaster.name; m_lbDescription.text = _dataMaster.description_cell; //m_lbPrize.text = _dataMaster.size.ToString(); m_lbPrize.text = _dataMaster.cost.ToString(); m_lbPrizeExp.text = _dataMaster.cost.ToString(); string strIcon = GetSpriteName(_dataMaster); UIAtlas atlas = AtlasManager.Instance.GetAtlas(strIcon); m_sprIcon.atlas = atlas; m_sprIcon.spriteName = strIcon; SetPrice(_dataMaster); m_buttonBase = GetComponent <ButtonBase> (); m_monsterDetail = null; m_dataMonsterMaster = _dataMaster; m_lbDifficulty.text = UtilString.GetSyuunyuu(m_dataMonsterMaster.revenew_coin, m_dataMonsterMaster.revenew_interval); m_bAbleUse = DataManager.user.AbleBuy(_dataMaster.coin, _dataMaster.ticket, m_dataMonsterMaster.cost, _iCostNokori, 0, 0, ref m_eReason); if (0 < GameMain.Instance.TutorialMonster) { if (GameMain.Instance.TutorialMonster == _dataMaster.monster_id) { m_goTutorialRoot.SetActive(true); } else { // 実際は違うけどとりあえず何か理由が欲しかった m_eReason = ABLE_BUY_REASON.LIMIT; m_bAbleUse = false; } } SetReasonSprite(m_sprReason, m_eReason); m_sprIgnoreBlack.gameObject.SetActive(!m_bAbleUse); SetEnableIcon(m_bAbleUse); m_sprIllness.enabled = false; }
// Update is called once per frame void Update() { bool bInit = false; if (m_eStepPre != m_eStep) { m_eStepPre = m_eStep; bInit = true; } switch (m_eStep) { case STEP.IDLE: if (bInit) { m_buttonBase.TriggerClear(); } if (m_buttonBase.ButtonPushed) { m_buttonBase.TriggerClear(); if (m_bAbleUse) { Debug.Log("clicked:BannerBase.Mode=" + BannerBase.Mode.ToString()); //SoundManager.Instance.PlaySE (SoundName.BUTTON_PUSH); switch (BannerBase.Mode) { case BannerBase.MODE.MONSTER_DETAIL: m_eStep = STEP.DETAIL; break; case BannerBase.MODE.MONSTER_SET_BUY: m_eStep = STEP.SET_BUY; break; case BannerBase.MODE.MONSTER_SET_MINE: m_eStep = STEP.SET_MINE; break; case BannerBase.MODE.MONSTER_SICK: m_eStep = STEP.SICK; break; default: break; } } } break; case STEP.DETAIL: if (bInit) { SoundManager.Instance.PlaySE(SoundName.BUTTON_PUSH); // この作り方はいただけませんねぇ・・・ GameObject obj = PrefabManager.Instance.MakeObject("prefab/PrefMonsterDetail", gameObject.transform.parent.parent.parent.parent.gameObject); m_monsterDetail = obj.GetComponent <CtrlMonsterDetail> (); m_monsterDetail.Initialize(m_dataMonster.monster_serial); } if (m_monsterDetail.IsEnd()) { SoundManager.Instance.PlaySE(SoundName.BUTTON_PUSH); Destroy(m_monsterDetail.gameObject); m_monsterDetail = null; m_eStep = STEP.IDLE; } break; case STEP.SET_BUY: if (bInit) { SoundManager.Instance.PlaySE(SoundName.SET_ANIMAL); CsvMonsterData monster_data = DataManager.GetMonster(m_dataMonsterMaster.monster_id); if (0 < monster_data.coin) { DataManager.user.AddGold(-1 * monster_data.coin); } else if (0 < monster_data.ticket) { DataManager.user.AddTicket(-1 * monster_data.ticket); } else { ; // エラーちゃう? } // 0番のページに飛ばす DataMonster insertMonster = GameMain.dbMonster.Insert(m_dataMonsterMaster.monster_id, GameMain.Instance.m_iSettingItemSerial); m_tabParent.TriggerOn(0); CtrlFieldItem fielditem = GameMain.ParkRoot.GetFieldItem(GameMain.Instance.m_iSettingItemSerial); GameObject objIcon = PrefabManager.Instance.MakeObject("prefab/PrefIcon", fielditem.gameObject); CtrlIconRoot iconRoot = objIcon.GetComponent <CtrlIconRoot> (); iconRoot.Initialize(insertMonster, fielditem); fielditem.Add(iconRoot); // 仕事の確認 DataWork.WorkCheck(); GameMain.Instance.HeaderRefresh(); if (0 < GameMain.Instance.TutorialMonster) { TutorialManager.Instance.Next(); GameMain.Instance.TutorialMonster = 0; } } break; case STEP.SET_MINE: if (bInit) { SoundManager.Instance.PlaySE(SoundName.SET_ANIMAL); Dictionary <string, string> dict = new Dictionary <string, string> (); dict.Add("item_serial", GameMain.Instance.m_iSettingItemSerial.ToString()); dict.Add("collect_time", "\"" + TimeManager.StrNow() + "\""); GameMain.dbMonster.Update(m_dataMonster.monster_serial, dict); //GameMain.dbMonster.Update (m_dataMonster.monster_serial, GameMain.Instance.m_iSettingItemSerial); m_tabParent.TriggerOn(0); DataMonster insertMonster = GameMain.dbMonster.Select(m_dataMonster.monster_serial); CtrlFieldItem fielditem = GameMain.ParkRoot.GetFieldItem(GameMain.Instance.m_iSettingItemSerial); GameObject objIcon = PrefabManager.Instance.MakeObject("prefab/PrefIcon", fielditem.gameObject); CtrlIconRoot iconRoot = objIcon.GetComponent <CtrlIconRoot> (); iconRoot.Initialize(insertMonster, fielditem); fielditem.Add(iconRoot); // 仕事の確認 DataWork.WorkCheck(); GameMain.Instance.HeaderRefresh(); } break; case STEP.SICK: if (bInit) { GameObject objOjisan = PrefabManager.Instance.MakeObject("prefab/PrefOjisanCheck", gameObject.transform.parent.parent.parent.parent.gameObject); CsvMonsterData monster = DataManager.GetMonster(m_dataMonster.monster_id); int iCost = monster.revenew_coin * (int)(600.0f / (float)monster.revenew_interval); bool bYesOnly = false; string strText = string.Format("こちらの動物を\n治療しますか\n\n治療費:{0}G\n\n{1}G → [FFD900]{2}[-]G", iCost, DataManager.user.m_iGold, DataManager.user.m_iGold - iCost); if (DataManager.user.m_iGold < iCost) { bYesOnly = true; strText = string.Format("こちらの動物を\n治療しますか\n治療費:{0}G\n\n[FFD900]GOLDが足りません[-]", iCost); } m_ojisanCheck = objOjisan.GetComponent <CtrlOjisanCheck> (); m_ojisanCheck.Initialize(strText, bYesOnly); } if (m_ojisanCheck.IsYes()) { SoundManager.Instance.PlaySE("se_cure"); CsvMonsterData monster = DataManager.GetMonster(m_dataMonster.monster_id); int iCost = monster.revenew_coin * (int)(600.0f / (float)monster.revenew_interval); DataManager.user.AddGold(-1 * iCost); GameMain.ListRefresh = true; Destroy(m_ojisanCheck.gameObject); Dictionary <string, string> dict = new Dictionary <string, string> (); int iConditionFine = (int)Define.Monster.CONDITION.FINE; dict.Add("condition", iConditionFine.ToString()); dict.Add("clean_time", string.Format("\"{0}\" ", TimeManager.StrGetTime())); Debug.Log(TimeManager.StrGetTime()); GameMain.dbMonster.Update(m_dataMonster.monster_serial, dict); m_eStep = STEP.IDLE; } else if (m_ojisanCheck.IsNo()) { SoundManager.Instance.PlaySE(SoundName.BUTTON_PUSH); Destroy(m_ojisanCheck.gameObject); m_eStep = STEP.IDLE; } else { } break; case STEP.SET_CAGE: break; case STEP.MAX: default: break; } }