Ejemplo n.º 1
0
        public override void OnEnter()
        {
            base.OnEnter();
            DateTime check_datetime;

            if (!DataManager.Instance.user_data.HasKey(Defines.KEY_LAST_REWARD_TIME_FREE_WEAPON))
            {
                check_datetime = new DateTime(2020, 1, 1);
            }
            else
            {
                check_datetime = System.DateTime.Parse(DataManager.Instance.user_data.Read(Defines.KEY_LAST_REWARD_TIME_FREE_WEAPON));
            }

            DataManager.Instance.user_data.Write(
                Defines.KEY_LAST_REWARD_TIME_FREE_WEAPON,
                NTPTimer.Instance.now.ToString("yyyy/MM/dd HH:mm:ss"));
            check_datetime = System.DateTime.Parse(DataManager.Instance.user_data.Read(Defines.KEY_LAST_REWARD_TIME_FREE_WEAPON));

            GachaMain.Instance.OnGachaFinished.RemoveAllListeners();
            GachaMain.Instance.OnGachaFinished.AddListener(() =>
            {
                GachaMain.Instance.Close();
                Finish();
            });
            List <MasterWeaponParam> hit_weapon_list = DataManager.Instance.masterWeapon.list.FindAll(p => 1 <= p.rarity && p.rarity <= 3);

            int[] prob_arr = new int[hit_weapon_list.Count];
            for (int i = 0; i < hit_weapon_list.Count; i++)
            {
                prob_arr[i] = hit_weapon_list[i].GetGachaProbFree();
            }
            int index = UtilRand.GetIndex(prob_arr);

            MasterWeaponParam get_weapon = hit_weapon_list[index];

            DataManager.Instance.dataWeapon.Add(get_weapon.weapon_id);

            GachaMain.ChestData chest_data = new GachaMain.ChestData();
            chest_data.rarity    = get_weapon.rarity;
            chest_data.spr_item  = shop.m_sprAtlasWeapon.GetSprite(get_weapon.sprite_name);
            chest_data.spr_chest = shop.m_sprAtlasIcons.GetSprite("chest_t_01");
            DataManager.Instance.dataWeapon.Save();
            DataManager.Instance.dataWeaponAlbum.Save();
            DataManager.Instance.user_data.Save();
            GachaMain.Instance.GachaSingle(chest_data);
        }
Ejemplo n.º 2
0
        public void Use(int _iScrollId, int _iCreateNum)
        {
            DataItemParam data = DataManager.Instance.dataItem.list.Find(p => p.item_id == _iScrollId);

            data.num -= _iCreateNum * 10;

            // 必要が出たらコンバートして
            int iRarity = _iScrollId - (Defines.ITEM_ID_SCROLL_BLUE - 1);

            List <MasterWeaponParam> hit_weapon_list = DataManager.Instance.masterWeapon.list.FindAll(p => p.rarity == iRarity);

            int[] prob_arr = new int[hit_weapon_list.Count];
            for (int i = 0; i < hit_weapon_list.Count; i++)
            {
                prob_arr[i] = hit_weapon_list[i].GetGachaProb();
            }

            if (_iCreateNum == 1)
            {
                int index = UtilRand.GetIndex(prob_arr);

                MasterWeaponParam get_weapon = hit_weapon_list[index];
                DataManager.Instance.dataWeapon.Add(get_weapon.weapon_id);

                GachaMain.ChestData chest_data = new GachaMain.ChestData();
                chest_data.rarity    = get_weapon.rarity;
                chest_data.spr_item  = shop.m_sprAtlasWeapon.GetSprite(get_weapon.sprite_name);
                chest_data.spr_chest = shop.m_sprAtlasIcons.GetSprite("chest_t_01");

                DataManager.Instance.dataItem.Save();
                DataManager.Instance.dataWeapon.Save();
                DataManager.Instance.dataWeaponAlbum.Save();
                DataManager.Instance.user_data.Save();
                GachaMain.Instance.GachaSingle(chest_data);

                GachaMain.Instance.OnGachaFinished.RemoveAllListeners();
                GachaMain.Instance.OnGachaFinished.AddListener(() =>
                {
                    GachaMain.Instance.Close();
                });
            }
            else
            {
                List <GachaMain.ChestData> chest_list = new List <GachaMain.ChestData>();

                for (int i = 0; i < _iCreateNum; i++)
                {
                    int index = UtilRand.GetIndex(prob_arr);
                    MasterWeaponParam get_weapon = hit_weapon_list[index];
                    DataManager.Instance.dataWeapon.Add(get_weapon.weapon_id);
                    GachaMain.ChestData chest_data = new GachaMain.ChestData();

                    chest_data.rarity    = get_weapon.rarity;
                    chest_data.spr_item  = shop.m_sprAtlasWeapon.GetSprite(get_weapon.sprite_name);
                    chest_data.spr_chest = shop.m_sprAtlasIcons.GetSprite("chest_t_01");
                    chest_list.Add(chest_data);
                }

                DataManager.Instance.dataItem.Save();
                DataManager.Instance.dataWeapon.Save();
                DataManager.Instance.dataWeaponAlbum.Save();
                DataManager.Instance.user_data.Save();
                GachaMain.Instance.GachaMulti(chest_list);

                GachaMain.Instance.OnGachaFinished.RemoveAllListeners();
                GachaMain.Instance.OnGachaFinished.AddListener(() =>
                {
                    GachaMain.Instance.Close();
                });
            }



            ScrollInfoUpdate();
            ButtonInteractable();
        }
Ejemplo n.º 3
0
        public override void OnEnter()
        {
            base.OnEnter();

            shop.m_goBannerTreasureFree.SetActive(true);
            shop.m_goBannerTreasure1.SetActive(true);
            shop.m_goBannerTreasure2.SetActive(true);
            if (!DataManager.Instance.user_data.HasKey(Defines.KEY_LAST_REWARD_TIME_FREE_TREASURE))
            {
                check_datetime = new DateTime(2020, 1, 1);
            }
            else
            {
                check_datetime = System.DateTime.Parse(DataManager.Instance.user_data.Read(Defines.KEY_LAST_REWARD_TIME_FREE_TREASURE));
            }
            button_interactable();
            shop.m_goTreasureFreeButtonRoot.SetActive(false);
            shop.m_goTreasureFreeTimeRoot.SetActive(false);

            int treasure_num = DataManager.Instance.dataTreasure.list.Count;

            shop.m_goLimitCoverTreasureFree.SetActive(!(treasure_num + 1 <= Defines.TREASURE_NUM_LIMIT));
            shop.m_goLimitCoverTreasureNormal.SetActive(!(treasure_num + 1 <= Defines.TREASURE_NUM_LIMIT));
            shop.m_goLimitCoverTreasureGold.SetActive(!(treasure_num + 10 <= Defines.TREASURE_NUM_LIMIT));

            shop.m_btnTreasureFree.onClick.AddListener(() =>
            {
                Fsm.Event("free");
            });
            shop.m_btnTreasure1.onClick.AddListener(() =>
            {
                DataManager.Instance.UseKey(50);
                button_interactable();

                GachaMain.Instance.OnGachaFinished.RemoveAllListeners();
                GachaMain.Instance.OnGachaFinished.AddListener(() =>
                {
                    GachaMain.Instance.Close();

                    int treasure_num2 = DataManager.Instance.dataTreasure.list.Count;
                    shop.m_goLimitCoverTreasureFree.SetActive(!(treasure_num2 + 1 <= Defines.TREASURE_NUM_LIMIT));
                    shop.m_goLimitCoverTreasureNormal.SetActive(!(treasure_num2 + 1 <= Defines.TREASURE_NUM_LIMIT));
                    shop.m_goLimitCoverTreasureGold.SetActive(!(treasure_num2 + 10 <= Defines.TREASURE_NUM_LIMIT));
                });
                List <MasterTreasureParam> hit_list = DataManager.Instance.masterTreasure.list.FindAll(p => 2 <= p.rarity && p.rarity <= 3);
                int[] prob_arr = new int[hit_list.Count];
                for (int i = 0; i < hit_list.Count; i++)
                {
                    prob_arr[i] = hit_list[i].GetGachaProb();
                }
                int index = UtilRand.GetIndex(prob_arr);

                MasterTreasureParam get_item = hit_list[index];
                DataManager.Instance.dataTreasure.Add(get_item.treasure_id);

                GachaMain.ChestData chest_data = new GachaMain.ChestData();
                chest_data.rarity    = get_item.rarity;
                chest_data.spr_item  = shop.m_sprAtlasTreasure.GetSprite(get_item.sprite_name);
                chest_data.spr_chest = shop.m_sprAtlasIcons.GetSprite("chest_t_01");
                DataManager.Instance.dataTreasure.Save();
                DataManager.Instance.dataTreasureAlbum.Save();
                DataManager.Instance.user_data.Save();
                GachaMain.Instance.GachaSingle(chest_data);
            });
            shop.m_btnTreasure2.onClick.AddListener(() =>
            {
                DataManager.Instance.UseGoldKey(50);
                button_interactable();

                GachaMain.Instance.OnGachaFinished.RemoveAllListeners();
                GachaMain.Instance.OnGachaFinished.AddListener(() =>
                {
                    GachaMain.Instance.Close();
                    int treasure_num2 = DataManager.Instance.dataTreasure.list.Count;
                    shop.m_goLimitCoverTreasureFree.SetActive(!(treasure_num2 + 1 <= Defines.TREASURE_NUM_LIMIT));
                    shop.m_goLimitCoverTreasureNormal.SetActive(!(treasure_num2 + 1 <= Defines.TREASURE_NUM_LIMIT));
                    shop.m_goLimitCoverTreasureGold.SetActive(!(treasure_num2 + 10 <= Defines.TREASURE_NUM_LIMIT));
                });
                List <MasterTreasureParam> hit_list = DataManager.Instance.masterTreasure.list.FindAll(p => 3 <= p.rarity && p.rarity <= 5);
                int[] prob_arr = new int[hit_list.Count];
                for (int i = 0; i < hit_list.Count; i++)
                {
                    prob_arr[i] = hit_list[i].GetGachaProb();
                }
                int index = UtilRand.GetIndex(prob_arr);

                MasterTreasureParam get_item = hit_list[index];
                if (shop.m_sprAtlasTreasure.GetSprite(get_item.sprite_name) == null)
                {
                    Debug.Log(get_item.sprite_name);
                }
                DataManager.Instance.dataTreasure.Add(get_item.treasure_id);

                GachaMain.ChestData chest_data = new GachaMain.ChestData();
                chest_data.rarity    = get_item.rarity;
                chest_data.spr_item  = shop.m_sprAtlasTreasure.GetSprite(get_item.sprite_name);
                chest_data.spr_chest = shop.m_sprAtlasIcons.GetSprite("chest_t_01");

                DataManager.Instance.dataTreasure.Save();
                DataManager.Instance.dataTreasureAlbum.Save();
                DataManager.Instance.user_data.Save();
                GachaMain.Instance.GachaSingle(chest_data);
            });
        }
Ejemplo n.º 4
0
        public override void OnEnter()
        {
            base.OnEnter();
            shop.m_goBannerWeaponFree.SetActive(true);
            shop.m_goBannerWeapon1.SetActive(true);
            shop.m_goBannerWeapon2.SetActive(true);

            if (!DataManager.Instance.user_data.HasKey(Defines.KEY_LAST_REWARD_TIME_FREE_WEAPON))
            {
                check_datetime = new DateTime(2020, 1, 1);
            }
            else
            {
                check_datetime = System.DateTime.Parse(DataManager.Instance.user_data.Read(Defines.KEY_LAST_REWARD_TIME_FREE_WEAPON));
            }

            button_interactable();

            shop.m_goWeaponFreeButtonRoot.SetActive(false);
            shop.m_goWeaponFreeTimeRoot.SetActive(false);

            int weapon_num = DataManager.Instance.dataWeapon.list.Count;

            shop.m_goLimitCoverWeaponFree.SetActive(!(weapon_num + 1 <= Defines.WEAPON_NUM_LIMIT));
            shop.m_goLimitCoverWeaponOne.SetActive(!(weapon_num + 1 <= Defines.WEAPON_NUM_LIMIT));
            shop.m_goLimitCoverWeaponTen.SetActive(!(weapon_num + 10 <= Defines.WEAPON_NUM_LIMIT));

            shop.m_btnWeaponFree.onClick.AddListener(() =>
            {
                Fsm.Event("free");
            });
            shop.m_btnWeapon1.onClick.AddListener(() =>
            {
                DataManager.Instance.UseGem(50);
                button_interactable();
                GachaMain.Instance.OnGachaFinished.RemoveAllListeners();
                GachaMain.Instance.OnGachaFinished.AddListener(() =>
                {
                    GachaMain.Instance.Close();

                    int weapon_num2 = DataManager.Instance.dataWeapon.list.Count;
                    shop.m_goLimitCoverWeaponFree.SetActive(!(weapon_num2 + 1 <= Defines.WEAPON_NUM_LIMIT));
                    shop.m_goLimitCoverWeaponOne.SetActive(!(weapon_num2 + 1 <= Defines.WEAPON_NUM_LIMIT));
                    shop.m_goLimitCoverWeaponTen.SetActive(!(weapon_num2 + 10 <= Defines.WEAPON_NUM_LIMIT));
                });

                List <MasterWeaponParam> hit_weapon_list = DataManager.Instance.masterWeapon.list.FindAll(p => 2 <= p.rarity && p.rarity <= 5);
                int[] prob_arr = new int[hit_weapon_list.Count];
                for (int i = 0; i < hit_weapon_list.Count; i++)
                {
                    prob_arr[i] = hit_weapon_list[i].GetGachaProb();
                }
                int index = UtilRand.GetIndex(prob_arr);

                MasterWeaponParam get_weapon = hit_weapon_list[index];
                DataManager.Instance.dataWeapon.Add(get_weapon.weapon_id);

                GachaMain.ChestData chest_data = new GachaMain.ChestData();
                chest_data.rarity    = get_weapon.rarity;
                chest_data.spr_item  = shop.m_sprAtlasWeapon.GetSprite(get_weapon.sprite_name);
                chest_data.spr_chest = shop.m_sprAtlasIcons.GetSprite("chest_t_01");

                DataManager.Instance.dataWeapon.Save();
                DataManager.Instance.dataWeaponAlbum.Save();
                DataManager.Instance.user_data.Save();
                GachaMain.Instance.GachaSingle(chest_data);
            });
            shop.m_btnWeapon2.onClick.AddListener(() =>
            {
                DataManager.Instance.UseGem(450);
                button_interactable();
                GachaMain.Instance.OnGachaFinished.RemoveAllListeners();
                GachaMain.Instance.OnGachaFinished.AddListener(() =>
                {
                    GachaMain.Instance.Close();

                    int weapon_num2 = DataManager.Instance.dataWeapon.list.Count;
                    shop.m_goLimitCoverWeaponFree.SetActive(!(weapon_num2 + 1 <= Defines.WEAPON_NUM_LIMIT));
                    shop.m_goLimitCoverWeaponOne.SetActive(!(weapon_num2 + 1 <= Defines.WEAPON_NUM_LIMIT));
                    shop.m_goLimitCoverWeaponTen.SetActive(!(weapon_num2 + 10 <= Defines.WEAPON_NUM_LIMIT));
                });


                List <MasterWeaponParam> hit_weapon_list = DataManager.Instance.masterWeapon.list.FindAll(p => 2 <= p.rarity && p.rarity <= 5);
                int[] prob_arr = new int[hit_weapon_list.Count];
                for (int i = 0; i < hit_weapon_list.Count; i++)
                {
                    prob_arr[i] = hit_weapon_list[i].GetGachaProb();
                }

                List <GachaMain.ChestData> chest_list = new List <GachaMain.ChestData>();

                for (int i = 0; i < 10; i++)
                {
                    int index = UtilRand.GetIndex(prob_arr);
                    MasterWeaponParam get_weapon = hit_weapon_list[index];
                    DataManager.Instance.dataWeapon.Add(get_weapon.weapon_id);
                    GachaMain.ChestData chest_data = new GachaMain.ChestData();

                    chest_data.rarity    = get_weapon.rarity;
                    chest_data.spr_item  = shop.m_sprAtlasWeapon.GetSprite(get_weapon.sprite_name);
                    chest_data.spr_chest = shop.m_sprAtlasIcons.GetSprite("chest_t_01");
                    chest_list.Add(chest_data);
                }
                DataManager.Instance.dataWeapon.Save();
                DataManager.Instance.dataWeaponAlbum.Save();
                DataManager.Instance.user_data.Save();
                GachaMain.Instance.GachaMulti(chest_list);
            });
        }