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); }
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(); }
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); }); }
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); }); }