Пример #1
0
    public void Initialize(MasterStageParam _master)
    {
        m_masterStageParam = _master;

        m_imgThumb.sprite = SpriteManager.Instance.Get(_master.thumb);

        m_txtName.text    = _master.stage_name;
        m_txtOutline.text = _master.outline;

        m_txtWave.text = string.Format("Wave:{0}", _master.total_wave);

        DataStageParam data_stage = DMCamp.Instance.dataStage.list.Find(p => p.stage_id == _master.stage_id);

        if (data_stage != null)
        {
            m_imgClearStarArr[0].color = 0 < data_stage.clear_count ? Color.yellow : Color.white;
            m_imgClearStarArr[1].color = data_stage.best_reload <= m_masterStageParam.challenge_reload ? Color.yellow : Color.white;
            m_imgClearStarArr[2].color = data_stage.best_play <= m_masterStageParam.challenge_play ? Color.yellow : Color.white;
        }
        else
        {
            for (int i = 0; i < m_imgClearStarArr.Length; i++)
            {
                m_imgClearStarArr[i].color = Color.white;
            }
        }



        m_btn.onClick.AddListener(() =>
        {
            SEControl.Instance.Play(Defines.KEY_SOUNDSE_DECIDE);            // cursor_01
            OnBanner.Invoke(this);
        });
    }
Пример #2
0
    public void Initialize(DataStageParam _data, MasterStageParam _master)
    {
        m_txtStage.text = string.Format("Stage{0}", _master.stage_id);

        if (_data.status == 1)
        {
            m_txtStatus.text = "<color=red>挑戦中</color>";
        }
        else if (_data.status == 2)
        {
            m_txtStatus.text = "<color=#0FF>クリア</color>";
        }

        m_imgThumb.sprite = m_spriteAtlas.GetSprite(_master.thumb_name);
    }
Пример #3
0
    public int Initialize(int _iStageId)
    {
        int iRetRequestFood          = 0;
        MasterStageParam masterStage = DMCamp.Instance.masterStage.list.Find(p => p.stage_id == _iStageId);

        m_txtStageName.text    = masterStage.stage_name;
        m_imgStageThumb.sprite = SpriteManager.Instance.Get(masterStage.thumb);
        m_txtStageOutline.text = masterStage.outline;

        m_txtTotalWave.text     = string.Format("Wave:{0}", masterStage.total_wave);
        m_txtTotalCorridor.text = string.Format("約{0}回廊", masterStage.total_length);

        m_txtStageMissionText[0].text = "クリア済み";
        m_txtStageMissionText[1].text = string.Format("リロード{0}回以内", masterStage.challenge_reload);
        m_txtStageMissionText[2].text = string.Format("カードプレイ{0}以内", masterStage.challenge_play);

        List <DataUnitParam> party_members = DMCamp.Instance.dataUnitCamp.list.FindAll(p => p.unit == "chara" && p.position != "none");
        int iPartyCost = 0;

        foreach (DataUnitParam unit in party_members)
        {
            MasterCharaParam master_chara = DMCamp.Instance.masterChara.list.Find(p => p.chara_id == unit.chara_id);
            iPartyCost += master_chara.food;
        }
        m_txtFoodParty.text = iPartyCost.ToString();
        m_txtFoodStage.text = masterStage.food_rate.ToString();
        iRetRequestFood     = iPartyCost * masterStage.food_rate;
        m_txtFoodTotal.text = iRetRequestFood.ToString();

        DataStageParam data_stage = DMCamp.Instance.dataStage.list.Find(p => p.stage_id == _iStageId);

        if (data_stage != null)
        {
            m_imgStageMissionStar[0].color = 0 < data_stage.clear_count ? Color.yellow : Color.white;
            m_imgStageMissionStar[1].color = data_stage.best_reload <= masterStage.challenge_reload ? Color.yellow : Color.white;
            m_imgStageMissionStar[2].color = data_stage.best_play <= masterStage.challenge_play ? Color.yellow : Color.white;
        }
        else
        {
            for (int i = 0; i < m_imgStageMissionStar.Count; i++)
            {
                m_imgStageMissionStar[i].color = Color.white;
            }
        }

        return(iRetRequestFood);
    }
Пример #4
0
        public override void OnEnter()
        {
            base.OnEnter();

            bool bFirstClear = false;

            int floor_id = DataManager.Instance.game_data.ReadInt("floor_id");
            MasterFloorParam current_floor = DataManager.Instance.masterFloor.list.Find(p => p.floor_id == floor_id);
            MasterStageParam current_stage = DataManager.Instance.masterStage.list.Find(p => p.stage_id == current_floor.stage_id);

            DataFloorParam data_floor = DataManager.Instance.dataFloor.list.Find(p => p.floor_id == current_floor.floor_id);

            if (data_floor == null)
            {
                data_floor = new DataFloorParam();
                DataManager.Instance.dataFloor.list.Add(data_floor);
                data_floor.floor_id = floor_id;
            }
            data_floor.count += 1;
            // 初クリア判定は2(クリア状態じゃなければ)
            bFirstClear       = data_floor.status != 2;
            data_floor.status = 2;
            if (DataManager.Instance.IsTest)
            {
                // マジックナンバーか!
                DataManager.Instance.armor_interval = 5;
                DataWeaponParam weapon = DataManager.Instance.dataWeapon.list.Find(p => 0 < p.equip);
                data_floor.test_weapon_id    = weapon.weapon_id;
                data_floor.test_weapon_level = weapon.level;
                DataArmorParam armor = DataManager.Instance.dataArmor.list[0];
                data_floor.test_armor_level = armor.level;
            }

            // 次のフロアが必要な場合
            if (0 < current_floor.next_floor_id)
            {
                DataFloorParam data_next_floor = DataManager.Instance.dataFloor.list.Find(p => p.floor_id == current_floor.next_floor_id);
                if (data_next_floor == null)
                {
                    MasterFloorParam master_next_floor = DataManager.Instance.masterFloor.list.Find(p => p.floor_id == current_floor.next_floor_id);

                    data_next_floor          = new DataFloorParam();
                    data_next_floor.floor_id = master_next_floor.floor_id;
                    data_next_floor.stage_id = master_next_floor.stage_id;
                    data_next_floor.status   = 1;
                    data_next_floor.count    = 0;
                    DataManager.Instance.dataFloor.list.Add(data_next_floor);

                    // ステージが異なる場合はここで追加
                    if (current_floor.stage_id != master_next_floor.stage_id)
                    {
                        DataStageParam data_new_stage = DataManager.Instance.dataStage.list.Find(p => p.stage_id == master_next_floor.stage_id);
                        if (data_new_stage == null)
                        {
                            data_new_stage          = new DataStageParam();
                            data_new_stage.stage_id = master_next_floor.stage_id;
                            data_new_stage.status   = 1;
                            DataManager.Instance.dataStage.list.Add(data_new_stage);
                        }
                    }
                }
            }

            // 現在のフロア攻略チェック
            DataFloorParam check_stage_complete = DataManager.Instance.dataFloor.list.Find(p => p.stage_id == current_floor.stage_id && p.status != 2);

            if (check_stage_complete == null)
            {
                DataStageParam data_current_stage = DataManager.Instance.dataStage.list.Find(p => p.stage_id == current_floor.stage_id);
                data_current_stage.status = 2;
            }

            DataManager.Instance.dataStage.Save();
            DataManager.Instance.dataFloor.Save();
            DataManager.Instance.dataPotion.Save();

            // 獲得Coinの補正
            DataItemParam data_item_coin = DataManager.Instance.dataGetItem.list.Find(p => p.item_id == Defines.ITEM_ID_COIN);
            int           get_coin_num   = 0;

            if (data_item_coin != null)
            {
                get_coin_num = data_item_coin.num;
            }
            get_coin_num = Mathf.CeilToInt((float)get_coin_num * (float)((float)gamemain.player_chara.m_dataUnitParam.coin / 100.0f));

            gamemain.m_goFadePanel.SetActive(true);
            gamemain.m_panelResult.Initialize(floor_id, (int)gamemain.m_fGameTime);
            gamemain.m_panelResult.gameObject.SetActive(true);

            foreach (DataItemParam get in DataManager.Instance.dataGetItem.list)
            {
                if (get.item_id == 1)
                {
                    DataManager.Instance.AddCoin(get.num);
                }
                else if (get.item_id == 2)
                {
                    DataManager.Instance.AddGem(get.num);
                }
                else if (get.item_id == 3)
                {
                    DataManager.Instance.AddKey(get.num);
                }
                else if (get.item_id == 4)
                {
                    DataManager.Instance.AddGoldKey(get.num);
                }
                else
                {
                    DataManager.Instance.dataItem.Add(get.item_id, get.num);
                }
            }
            DataManager.Instance.dataItem.Save();
            DataManager.Instance.dataGetItem.list.Clear();

            DataManager.Instance.user_data.Save();

            gamemain.m_panelResult.m_btnCamp.onClick.RemoveAllListeners();
            gamemain.m_panelResult.m_btnCamp.onClick.AddListener(() =>
            {
                Fsm.Event("camp");
            });
            gamemain.m_panelResult.m_btnRetry.onClick.RemoveAllListeners();
            gamemain.m_panelResult.m_btnRetry.onClick.AddListener(() =>
            {
                Fsm.Event("retry");
            });
            gamemain.m_panelResult.m_btnRetry10.onClick.RemoveAllListeners();
            gamemain.m_panelResult.m_btnRetry10.onClick.AddListener(() =>
            {
                Fsm.Event("retry10");
            });

            gamemain.m_panelResult.m_btnNext.interactable = 0 < current_floor.next_floor_id;
            gamemain.m_panelResult.m_btnNext.onClick.RemoveAllListeners();
            gamemain.m_panelResult.m_btnNext.onClick.AddListener(() =>
            {
                Fsm.Event("next");
            });

            gamemain.m_panelResult.m_btnContinueEnd.onClick.RemoveAllListeners();
            gamemain.m_panelResult.m_btnContinueEnd.onClick.AddListener(() =>
            {
                button_active(true);
                continue_count.Value = 0;
            });
            gamemain.m_panelResult.m_btnQuickNext.onClick.RemoveAllListeners();
            gamemain.m_panelResult.m_btnQuickNext.onClick.AddListener(() =>
            {
                Fsm.Event("retry");
            });

            if (0 < continue_count.Value)
            {
                button_active(false);
                StartCoroutine(auto_retry());
            }
            else
            {
                button_active(true);
            }

            if (DataManager.Instance.IsTest)
            {
                Fsm.Event("retry");
            }
            if (current_floor.next_floor_id == 0 && bFirstClear)
            {
                Fsm.Event("ending");
            }
        }
Пример #5
0
    IEnumerator init_network()
    {
        Debug.Log("init_network start");
        yield return(StartCoroutine(config.SpreadSheet(Defines.SS_MASTER, "config", () => { })));

        masterChara.SetSaveFilename(Defines.FILENAME_MASTERCHARA);

        masterChara.Load(m_textAssetHolder.Get("master_chara"));
        masterWeapon.Load(m_textAssetHolder.Get("master_weapon"));
        masterArmor.Load(m_textAssetHolder.Get("master_armor"));
        masterSkill.Load(m_textAssetHolder.Get("master_skill"));
        masterPotion.Load(m_textAssetHolder.Get("master_potion"));
        masterTreasure.Load(m_textAssetHolder.Get("master_treasure"));
        masterEnemy.Load(m_textAssetHolder.Get("master_enemy"));
        masterItem.Load(m_textAssetHolder.Get("master_item"));
        masterStage.Load(m_textAssetHolder.Get("master_stage"));
        masterFloor.Load(m_textAssetHolder.Get("master_floor"));
        masterHelp.Load(m_textAssetHolder.Get("master_help"));

#if UNITY_EDITOR
        if (m_bLoadNetworkData)
        {
            #region 通信初期化
            yield return(StartCoroutine(masterChara.SpreadSheet(Defines.SS_MASTER, "chara", () => { })));

            yield return(StartCoroutine(masterWeapon.SpreadSheet(Defines.SS_MASTER, "weapon", () => { })));

            yield return(StartCoroutine(masterArmor.SpreadSheet(Defines.SS_MASTER, "armor", () => { })));

            yield return(StartCoroutine(masterSkill.SpreadSheet(Defines.SS_MASTER, "skill", () => { })));

            yield return(StartCoroutine(masterPotion.SpreadSheet(Defines.SS_MASTER, "potion", () => { })));

            yield return(StartCoroutine(masterTreasure.SpreadSheet(Defines.SS_MASTER, "treasure", () =>
            {
                /*
                 * foreach( MasterTreasureParam master in masterTreasure.list)
                 * {
                 *      Debug.Log(string.Format("id:{0} name:{1} sprite:{2}", master.treasure_id , master.name , master.sprite_name));
                 * }
                 */
            })));

            yield return(StartCoroutine(masterEnemy.SpreadSheet(Defines.SS_MASTER, "enemy", () => { })));

            yield return(StartCoroutine(masterItem.SpreadSheet(Defines.SS_MASTER, "item", () => { })));

            yield return(StartCoroutine(masterStage.SpreadSheet(Defines.SS_MASTER, "stage", () => { })));

            yield return(StartCoroutine(masterFloor.SpreadSheet(Defines.SS_MASTER, "floor", () => { })));

            yield return(StartCoroutine(masterHelp.SpreadSheet(Defines.SS_MASTER, "help", () => { })));

            #endregion
        }
#endif
        // 未初期化扱い
        if (!user_data.HasKey(Defines.KEY_AUTOPOTION_RATE))
        {
            user_data.WriteInt(Defines.KEY_USE_AUTOMOVE, 1);
            user_data.WriteInt(Defines.KEY_USE_AUTOPOTION, 1);

            user_data.WriteFloat(Defines.KEY_AUTOPOTION_RATE, Defines.DEFAULT_AUTOPOTION_RATE);
            user_data.WriteFloat(Defines.KEY_SOUNDVOLUME_BGM, Defines.SOUND_VOLME_DEFAULT);
            user_data.WriteFloat(Defines.KEY_SOUNDVOLUME_SE, Defines.SOUND_VOLME_DEFAULT);
        }


        game_data.SetSaveFilename(Defines.FILENAME_GAMEDATA);
        if (game_data.LoadMulti() == false)
        {
            // なんかする
            // なにもしなくてok
        }
        dataChara.SetSaveFilename(Defines.FILENAME_DATACHARA);
        if (dataChara.LoadMulti() == false)
        {
            // 初期データ的ななにか保存はしない
            DataCharaParam slime = new DataCharaParam();
            slime.chara_id = 1;
            slime.status   = DataChara.STATUS.USING.ToString();
            dataChara.list.Add(slime);
        }
        dataWeapon.SetSaveFilename(Defines.FILENAME_DATAWEAPON);
        if (dataWeapon.LoadMulti() == false)
        {
            DataWeaponParam add_weapon = new DataWeaponParam();
            add_weapon.weapon_id = 1;
            add_weapon.level     = 1;
            add_weapon.equip     = 1;           // 武器はtfで良いのでは?
            dataWeapon.Add(add_weapon);
        }
        dataWeaponAlbum.SetSaveFilename(Defines.FILENAME_DATAWEAPONALBUM);
        if (dataWeaponAlbum.LoadMulti() == false)
        {
            dataWeaponAlbum.AddAlbum(1);
        }


        dataArmor.SetSaveFilename(Defines.FILENAME_DATAARMOR);
        if (dataArmor.LoadMulti() == false)
        {
            for (int i = 0; i < MasterArmor.ArmorPositionArr.Length; i++)
            {
                DataArmorParam add = new DataArmorParam();
                add.position = MasterArmor.ArmorPositionArr[i];
                add.level    = 1;
                MasterArmorParam mas = masterArmor.list.Find(p => p.position == add.position && p.level == add.level);
                add.armor_id = mas.armor_id;
                dataArmor.list.Add(add);
            }
        }
        dataSkill.SetSaveFilename(Defines.FILENAME_DATASKILL);
        if (dataSkill.LoadMulti() == false)
        {
            dataSkill.list.Add(new DataSkillParam(1, 1));
        }
        dataPotion.SetSaveFilename(Defines.FILENAME_DATAPOTION);
        if (dataPotion.LoadMulti() == false)
        {
            DataPotionParam add = new DataPotionParam();
            add.potion_id = 1;
            add.num       = 9;
            add.is_use    = true;
            dataPotion.list.Add(add);
        }

        dataTreasure.SetSaveFilename(Defines.FILENAME_DATATREASURE);
        if (dataTreasure.LoadMulti() == false)
        {
            /*
             * int add_serial = dataTreasure.Add(1001);
             * DataTreasureParam add_treasure = dataTreasure.list.Find(p => p.serial == add_serial);
             * add_treasure.equip = 1;
             */
        }
        dataTreasureAlbum.SetSaveFilename(Defines.FILENAME_DATATREASUREALBUM);
        if (dataTreasureAlbum.LoadMulti() == false)
        {
            /*
             * dataTreasureAlbum.Add(1002);
             * dataTreasureAlbum.Add(1003);
             * dataTreasureAlbum.Add(1006);
             * dataTreasureAlbum.Add(1010);
             * dataTreasureAlbum.Add(1026);
             */
        }

        /*
         * dataScroll.SetSaveFilename(Defines.FILENAME_DATASCROLL);
         * if( dataScroll.LoadMulti()== false)
         * {
         *      dataScroll.list.Add(new DataScrollParam(1, 120));
         *      dataScroll.list.Add(new DataScrollParam(2, 120));
         *      dataScroll.list.Add(new DataScrollParam(3, 120));
         *      dataScroll.list.Add(new DataScrollParam(4, 120));
         *      dataScroll.list.Add(new DataScrollParam(5, 120));
         * }
         */
        dataUnit.SetSaveFilename(Defines.FILENAME_DATAUNIT);
        if (dataUnit.LoadMulti() == false)
        {
        }
        dataItem.SetSaveFilename(Defines.FILENAME_DATAITEM);
        if (dataItem.LoadMulti() == false)
        {
            for (int i = 0; i < 5; i++)
            {
                dataItem.Add(Defines.ITEM_ID_SCROLL_BLUE + i, 0);
            }
        }
        dataGetItem.SetSaveFilename(Defines.FILENAME_DATAITEM_GET);
        if (dataGetItem.LoadMulti() == false)
        {
        }
        dataStage.SetSaveFilename(Defines.FILENAME_DATASTAGE);
        if (dataStage.LoadMulti() == false)
        {
            DataStageParam data = new DataStageParam();
            data.stage_id = 1;
            data.status   = 1;
            dataStage.list.Add(data);
        }
        dataFloor.SetSaveFilename(Defines.FILENAME_DATAFLOOR);
        if (dataFloor.LoadMulti() == false)
        {
            DataFloorParam data = new DataFloorParam();
            data.floor_id = 1;
            data.status   = 1;
            dataFloor.list.Add(data);
        }


        if (m_txtKey != null)
        {
            user_data.AddListenerInt(Defines.KeyKey, (iValue) =>
            {
                m_txtKey.text = iValue.ToString();
            });
            user_data.AddListenerInt(Defines.KeyGoldKey, (iValue) =>
            {
                m_txtGoldKey.text = iValue.ToString();
            });
            user_data.AddListenerInt(Defines.KeyCoin, (iValue) =>
            {
                m_txtCoin.text = iValue.ToString();
            });
            user_data.AddListenerInt(Defines.KeyGem, (iValue) =>
            {
                m_txtGem.text = iValue.ToString();
            });

#if UNITY_EDITOR
            /*
             * AddGem(debug_gem);
             * AddCoin(debug_coin);
             * AddKey(debug_key);
             * AddGoldKey(debug_gold_key);
             */
#endif
            //m_txtKey.text = user_data.ReadInt(Defines.KeyKey).ToString(); ;
            //m_txtGoldKey.text = user_data.Read(Defines.KeyGoldKey);
            //m_txtCoin.text = user_data.Read(Defines.KeyCoin);
            //m_txtGem.text = user_data.Read(Defines.KeyGem);
        }



        Initialized = true;
        Debug.Log("init_network end");
        yield return(null);
    }