void OnSorted() { var creatures = m_SortInfo.GetFilteredCreatures(c => c.Idx != m_Creature.Idx); List <EnchantHero> items = new List <EnchantHero>(); for (int i = 0; i < m_HeroGrid.transform.childCount; ++i) { items.Add(m_HeroGrid.transform.GetChild(i).gameObject.GetComponent <EnchantHero>()); } m_HeroGrid.transform.DetachChildren(); foreach (Creature creature in creatures) { if (creature.Grade == 0) { continue; } EnchantHero item = items.Find(i => i.Creature == creature); m_HeroGrid.AddChild(item.transform, false); items.Remove(item); } foreach (var item in items) { m_HeroGrid.AddChild(item.transform, false); } m_HeroGrid.Reposition(); m_HeroScroll.ResetPosition(); }
void OnCreatureOverEnchant(C2G.CreatureOverEnchant packet, C2G.CreatureOverEnchantAck ack) { EnchantHero enchant_hero = m_Heroes.Find(h => h.Creature == m_OverEnchantMaterial.Creature); CreatureManager.Instance.Remove(m_OverEnchantMaterial.Creature.Idx); m_Creature.SetEnchant(ack.creature_enchant, 0); m_Hero.Init(m_Creature, null, null); m_Heroes.Remove(enchant_hero); --m_CreatureCount; enchant_hero.Init(null); enchant_hero.transform.SetParent(null, false); enchant_hero.transform.SetParent(m_HeroGrid.transform, false); m_HeroGrid.Reposition(); InitInfo(); OverEnchantInit(); Network.PlayerInfo.UseGoodsValue(PacketInfo.pe_GoodsType.token_gold, ack.use_gold); GameMain.Instance.UpdatePlayerInfo(); m_OverEnchantParticleContainer.Play(); Tooltip.Instance.ShowMessageKey("HeroEnchantSuccess"); }
void InitHeroItem() { heroItemPrefabManager.Clear(); m_Heroes = new List <EnchantHero>(); var creatures = m_SortInfo.GetFilteredCreatures(c => c.Idx != m_Creature.Idx); m_CreatureCount = creatures.Count; foreach (Creature creature in creatures) { if (creature.Grade == 0) { continue; } EnchantHero item = heroItemPrefabManager.GetNewObject <EnchantHero>(m_HeroGrid.transform, Vector3.zero); item.Init(creature, OnToggleCharacter, OnDeepTouchCharacter); m_Heroes.Add(item); } for (int i = 0; i < 5; ++i) { EnchantHero item = heroItemPrefabManager.GetNewObject <EnchantHero>(m_HeroGrid.transform, Vector3.zero); item.Init(null); } m_HeroGrid.Reposition(); m_HeroScroll.ResetPosition(); RefreshInfo(); }
public void Init(Item soul_stone) { if (soul_stone == null) { System.Array.ForEach(gameObject.GetComponentsInChildren(typeof(UIWidget), true), o => o.GetComponent <UIWidget>().enabled = false); gameObject.name = "dummy"; return; } else { System.Array.ForEach(gameObject.GetComponentsInChildren(typeof(UIWidget), true), o => o.GetComponent <UIWidget>().enabled = true); } m_SoulStone = soul_stone; m_Info = m_SoulStone.SoulStoneInfo; gameObject.name = m_Info.ID; if (m_Hero == null) { m_Hero = NGUITools.AddChild(gameObject, EnchantHeroPrefab).GetComponent <EnchantHero>(); m_Hero.GetComponent <BoxCollider2D>().enabled = false; } m_Hero.InitSoulStone(m_Info); m_HeroName.text = m_Info.Creature.Name; m_Progress.value = (float)m_SoulStone.Count / m_Info.LootCount; m_PieceCount.text = string.Format("{0}/{1}", m_SoulStone.Count, m_Info.LootCount); m_Notify.gameObject.SetActive(false); }
void InitEvolve() { heroItemPrefabManager.Clear(); m_CreatureCount = 0; //TeamData team = TeamDataManager.Instance.GetTeam(pe_Team.PVP_Defense); bool level_limit = IsLevelLimit(m_Creature, m_EvolveBaseLevelLimit); bool enchant_limit = IsEnchantLimit(m_Creature); bool grade_max = IsGradeLimit(m_Creature); //bool pvp_defense = team != null && team.Contains(m_Creature.Idx) == true; if (level_limit || enchant_limit || grade_max) { m_LabelHelp.text = Localization.Get("HeroEvolveInvalidState"); if (grade_max) { m_LabelHelp.text += "\n" + Localization.Get("InvalidStateGradeMax"); } else if (enchant_limit) { m_LabelHelp.text += "\n" + Localization.Get("InvalidStateEnchant"); } else if (level_limit) { m_LabelHelp.text += "\n" + Localization.Get("InvalidStateLevel"); } //else if (pvp_defense) m_LabelHelp.text += "\n" + Localization.Get("InvalidStatePVPDefenseTeam"); m_LabelHelpDesc.text = Localization.Format("Help_HeroEvolve", m_EvolveBaseLevelLimit, m_EvolveLevelLimit); m_Help.gameObject.SetActive(true); } else { if (InitHeroItem() == false) { m_LabelHelp.text = Localization.Get("HeroEvolveNotExistsMaterial"); m_LabelHelpDesc.text = Localization.Format("Help_HeroEvolve", m_EvolveBaseLevelLimit, m_EvolveLevelLimit); m_Help.gameObject.SetActive(true); } else { m_Help.gameObject.SetActive(false); } } m_EnchantBase = heroItemPrefabManager.GetNewObject <EnchantHero>(EnchantBaseIndicator.transform, Vector3.zero); m_EnchantBase.Init(m_Creature); m_EnchantMaterial = heroItemPrefabManager.GetNewObject <EnchantHero>(EnchantMaterialIndicator.transform, Vector3.zero); InitEvolveMaterialDummy(); m_LabelEnchantButton.text = m_LabelEnchantMenu.text = Localization.Get("Evolve"); m_Hero.InitDummy(m_Creature.Info, (short)(Math.Min(6, m_Creature.Grade + 1)), m_Creature.Level, 0, m_Creature.Info.ShowAttackType); m_Question.gameObject.SetActive(false); InitInfo(); }
bool OnClickSelected(EnchantHero hero, bool bSelected) { var item = m_Creatures.Find(c => c.Creature.Idx == hero.Creature.Idx); item.OnBtnCreatureClick(); return(true); }
bool OnToggleCharacter(EnchantHero hero, bool bSelected) { EnchantMaterial material = m_Materials.Find(m => m.Creature == hero.Creature); if (material != null) { // exists material.Init(null); ReorderMaterials(); RefreshInfo(); return(true); } if (hero.Creature.IsLock == true) { Popup.Instance.ShowMessageKey("HeroEnchantConfirmLocked"); return(false); } if (GetTotalEnchantPoint() >= 500) { Tooltip.Instance.ShowMessageKey("HeroEnchantLimit"); return(false); } material = m_Materials.Find(m => m.Creature == null); if (material == null) { Tooltip.Instance.ShowMessageKey("HeroEnchantMaterialLimit"); return(false); } PacketEnums.pe_Team team_type = TeamDataManager.Instance.CheckTeam(hero.Creature.Idx); if (team_type != PacketEnums.pe_Team.Invalid) { if (TeamDataManager.Instance.CheckTeam(hero.Creature.Idx, PacketEnums.pe_Team.PVP_Defense) == true) { Popup.Instance.ShowMessageKey("HeroEnchantConfirmTeamPVPDefense"); return(false); } if (TeamDataManager.Instance.CheckAdventureTeam(hero.Creature.Idx) == true) { Popup.Instance.ShowMessageKey("HeroEnchantConfirmTeamInAdventure"); return(false); } m_SelectEnchantHero = hero; Popup.Instance.ShowConfirmKey(TeamConfirm, "HeroEnchantConfirmTeam"); return(false); } material.Init(hero.Creature, hero.Creature.CalculateEnchantPoint(m_Creature), new System.Action <Creature>(OnClickEnchantMaterial)); RefreshInfo(); return(true); }
void OnDeepTouchCharacter(EnchantHero hero) { // GameMain.Instance.BackMenu(false); // GameMain.Instance.BackMenu(false); MenuParams menu = new MenuParams(); menu.AddParam <Creature>(hero.Creature); GameMain.Instance.ChangeMenu(GameMenu.HeroInfoDetail, menu); }
void OnDeepTouchCharacter(EnchantHero hero) { MenuParams menu = new MenuParams(); menu.AddParam <Creature>(hero.Creature); bool bShowChangeHeroButton = true; menu.AddParam("bShowChangeHeroButton", bShowChangeHeroButton); GameMain.Instance.ChangeMenu(GameMenu.HeroInfoDetail, menu); }
bool OnToggleOverEnchantMaterials(EnchantHero hero, bool bSelected) { if (bSelected == false) { m_OverEnchantPrice.text = "0"; m_OverEnchantMaterial.InitDummy(null, m_Creature.Grade, 1, m_Creature.Enchant); } else { m_OverEnchantPrice.text = string.Format("{0:#,###}", CreatureInfoManager.Instance.Grades[m_Creature.Grade].enchants[m_Creature.Enchant + 1].over_enchant_gold); m_OverEnchantMaterial.Init(hero.Creature, OnToggleOverEnchantMaterials, null); } return(true); }
bool InitHeroItem() { heroItemPrefabManager.Clear(); m_Heroes = new List <EnchantHero>(); List <Creature> creatures = null; if (m_ToggleMix.value) { creatures = m_SortInfo.GetFilteredCreatures(c => IsMixMaterial(m_Creature, c)); } else { creatures = m_SortInfo.GetFilteredCreatures(c => IsEvolveMaterial(m_Creature, c)); } m_CreatureCount = creatures.Count; if (creatures.Count == 0) { return(false); } foreach (Creature creature in creatures) { if (creature.Grade == 0) { continue; } EnchantHero item = heroItemPrefabManager.GetNewObject <EnchantHero>(m_HeroGrid.transform, Vector3.zero); item.Init(creature, OnToggleCharacter, OnDeepTouchCharacter); m_Heroes.Add(item); } for (int i = 0; i < 5; ++i) { EnchantHero item = heroItemPrefabManager.GetNewObject <EnchantHero>(m_HeroGrid.transform, Vector3.zero); item.Init(null); } m_HeroGrid.Reposition(); m_HeroScroll.ResetPosition(); RefreshInfo(); return(true); }
void TeamConfirm(bool confirm) { if (confirm == false || m_SelectEnchantHero == null) { return; } var material = m_Materials.Find(m => m.Creature == null); m_Heroes.Find(h => h == m_SelectEnchantHero).m_toggle.value = true; material.Init(m_SelectEnchantHero.Creature, m_SelectEnchantHero.Creature.CalculateEnchantPoint(m_Creature), new System.Action <Creature>(OnClickEnchantMaterial)); RefreshInfo(); m_SelectEnchantHero = null; }
bool OnToggleCharacter(EnchantHero hero, bool bSelected) { if (bSelected == true) { if (hero.Creature.IsLock) { Popup.Instance.ShowMessageKey("HeroEnchantConfirmLocked"); return(false); } PacketEnums.pe_Team team_type = TeamDataManager.Instance.CheckTeam(hero.Creature.Idx); if (team_type != PacketEnums.pe_Team.Invalid) { if (TeamDataManager.Instance.CheckTeam(hero.Creature.Idx, PacketEnums.pe_Team.PVP_Defense) == true) { Popup.Instance.ShowMessageKey("HeroEnchantConfirmTeamPVPDefense"); return(false); } if (TeamDataManager.Instance.CheckAdventureTeam(hero.Creature.Idx) == true) { Popup.Instance.ShowMessageKey("HeroEnchantConfirmTeamInAdventure"); return(false); } m_SelectEnchantHero = hero.Creature; Popup.Instance.ShowConfirmKey(TeamConfirm, "HeroEnchantConfirmTeam"); return(false); } } if (m_EnchantMaterial.Creature != null) { if (m_EnchantMaterial.Creature == hero.Creature) { InitMaterialDummy(); return(true); } m_Heroes.Find(h => h.Creature == m_EnchantMaterial.Creature).OnBtnCreatureClick(); } m_EnchantMaterial.Init(hero.Creature, OnClickEnchantMaterial); m_EnchantCreature = hero.Creature; m_parms.AddParam("EnchantCreature", m_EnchantCreature); return(true); }
void EnchantInit() { m_Hero = EnchantHeroPrefabManager.GetNewObject <EnchantHero>(m_EnchantHeroIndicator.transform, Vector3.zero); m_Hero.Init(m_Creature, null, null); m_SortInfo.Init(OnSorted, eCreatureSort.Grade, true); m_EnchantGold = m_Creature.EnchantGold; var event_info = EventHottimeManager.Instance.GetInfoByID("hero_enchant_discount"); if (event_info != null) { m_EnchantGold = (int)(m_EnchantGold * event_info.Percent); } var material_creatures = m_MaterialCreatures != null?m_MaterialCreatures.ToList() : null; InitHeroItem(); if (material_creatures != null && material_creatures.Count > 0) { for (int i = 0; i < m_Materials.Count; ++i) { if (i < material_creatures.Count) { Creature material_creature = material_creatures[i]; m_Heroes.Find(h => h.Creature == material_creature).m_toggle.value = true; m_Materials[i].Init(material_creature, material_creature.CalculateEnchantPoint(m_Creature), new System.Action <Creature>(OnClickEnchantMaterial)); } else { m_Materials[i].Init(null); } } } m_HelpTitle.gameObject.SetActive(false); m_HelpDesc.gameObject.SetActive(false); InitInfo(); }
void OnSorted() { List <Creature> creatures = null; if (m_ToggleMix.value) { creatures = m_SortInfo.GetFilteredCreatures(c => IsMixMaterial(m_Creature, c)); } else { creatures = m_SortInfo.GetFilteredCreatures(c => IsEvolveMaterial(m_Creature, c)); } List <EnchantHero> items = new List <EnchantHero>(); for (int i = 0; i < m_HeroGrid.transform.childCount; ++i) { items.Add(m_HeroGrid.transform.GetChild(i).gameObject.GetComponent <EnchantHero>()); } m_HeroGrid.transform.DetachChildren(); foreach (Creature creature in creatures) { if (creature.Grade == 0) { continue; } EnchantHero item = items.Find(i => i.Creature == creature); m_HeroGrid.AddChild(item.transform, false); items.Remove(item); } foreach (var item in items) { m_HeroGrid.AddChild(item.transform, false); } m_HeroGrid.Reposition(); m_HeroScroll.ResetPosition(); }
bool OnToggleCharacter(EnchantHero hero, bool bSelected) { if (bSelected) { if (TeamDataManager.Instance.CheckAdventureTeam(hero.Creature.Idx)) { Tooltip.Instance.ShowMessageKey("CreatureInAdventure"); return(false); } if (TeamDataManager.Instance.CheckTeam(hero.Creature.Idx, pe_Team.PVP_Defense)) { Tooltip.Instance.ShowMessageKey("CreatureInPvpDefense"); return(false); } if (m_Selected.Exists(e => e.Creature != null && e.Creature.Info.IDN == hero.Creature.Info.IDN) == true) { Tooltip.Instance.ShowMessageKey("CreatureNotUseSame"); return(false); } var item = m_Selected.Find(e => e.Creature == null); if (item == null) { Tooltip.Instance.ShowMessageKey("NoMoreSelect"); return(false); } var team_type = TeamDataManager.Instance.CheckTeam(hero.Creature.Idx); if (team_type == pe_Team.PVP_Defense) { Popup.Instance.ShowMessageKey("AdventureConfirmTeamPVPDefense"); return(false); } item.Init(hero.Creature, OnClickSelected); } else { RemoveSelectedCreature(hero.Creature); } return(true); }
void OverEnchantInit() { if (m_Hero == null) { m_Hero = EnchantHeroPrefabManager.GetNewObject <EnchantHero>(m_EnchantHeroIndicator.transform, Vector3.zero); } m_Hero.Init(m_Creature, null, null); EnchantHeroPrefabManager.Clear(); DungeonHeroPrefabmanager.Clear(); m_OverEnchantBase = EnchantHeroPrefabManager.GetNewObject <EnchantHero>(m_OverEnchanteHeroIndicator.transform, Vector3.zero); m_OverEnchantBase.Init(m_Creature); m_OverEnchantMaterial = EnchantHeroPrefabManager.GetNewObject <EnchantHero>(m_OverEnchantMaterialIndicator.transform, Vector3.zero); m_OverEnchantMaterial.InitDummy(null, m_Creature.Grade, 1, m_Creature.Enchant); m_OverEnchantResult = DungeonHeroPrefabmanager.GetNewObject <DungeonHero>(m_OverEnchantResultIndicator.transform, Vector3.zero); m_OverEnchantPrice.text = "0"; heroItemPrefabManager.Clear(); if (IsPossibleOverEnchant() == true && m_Creature.Enchant < 10) { m_Heroes = new List <EnchantHero>(); var materials = m_SortInfo.GetFilteredCreatures(c => c.Idx != m_Creature.Idx).Where(c => c.Grade >= 6 && c.Enchant >= m_Creature.Enchant); if (materials.Count() > 0) { foreach (Creature creature in materials) { if (creature.Grade == 0) { continue; } EnchantHero item = heroItemPrefabManager.GetNewObject <EnchantHero>(m_HeroGrid.transform, Vector3.zero); item.Init(creature, OnToggleOverEnchantMaterials, null); m_Heroes.Add(item); } for (int i = 0; i < 5; ++i) { EnchantHero item = heroItemPrefabManager.GetNewObject <EnchantHero>(m_HeroGrid.transform, Vector3.zero); item.Init(null); } m_HeroGrid.Reposition(); m_HeroScroll.ResetPosition(); RefreshInfo(); m_HelpTitle.gameObject.SetActive(false); m_HelpDesc.gameObject.SetActive(false); m_OverEnchantResult.InitDummy(m_Creature.Info, m_Creature.Grade, m_Creature.Level, (short)(m_Creature.Enchant + 1), m_Creature.Info.ShowAttackType); return; } else { m_HelpTitle.gameObject.SetActive(true); m_HelpDesc.gameObject.SetActive(true); m_HelpTitle.text = Localization.Get("OverEnchant_NoMatarials"); m_HelpDesc.text = Localization.Get("Help_OverEnchant"); } } else { m_HelpTitle.gameObject.SetActive(true); m_HelpDesc.gameObject.SetActive(true); m_HelpTitle.text = Localization.Get("OverEnchant_NotPrepare"); m_HelpDesc.text = Localization.Get("Help_OverEnchant"); } if (m_Creature.Enchant >= 10) { m_OverEnchantResult.InitDummy(m_Creature.Info, m_Creature.Grade, m_Creature.Level, 10, m_Creature.Info.ShowAttackType); } else { m_OverEnchantResult.InitDummy(m_Creature.Info, m_Creature.Grade, m_Creature.Level, (short)(m_Creature.Enchant + 1), m_Creature.Info.ShowAttackType); } }
bool OnClickEnchantMaterial(EnchantHero hero, bool bSelected) { m_Heroes.Find(h => h.Creature == hero.Creature).OnBtnCreatureClick(); return(false); }