public static BaseSkill GetRandomVisibleSkill(SkillRareDegree skillRareDegree) { var skills = GameInfo.ActivedSkills.Where(x => x.RareDegree == skillRareDegree).ToList(); var index = NumberHelper.GetRandom(0, skills.Count); return(skills[index].Clone()); }
public static void Refresh(SkillRareDegree skillRareDegree, int count) { var canvas = GameObject.Find("SubCanvasGetSkill"); var btnSkill1 = canvas.transform.Find("BtnSkill1").gameObject.GetComponent <Button>(); var btnSkill2 = canvas.transform.Find("BtnSkill2").gameObject.GetComponent <Button>(); var btnSkill3 = canvas.transform.Find("BtnSkill3").gameObject.GetComponent <Button>(); var imgDesc = canvas.transform.Find("ImgSkillDesc").gameObject.GetComponent <Image>(); if (count == 1) { btnSkill1.gameObject.SetActive(false); btnSkill3.gameObject.SetActive(false); } else { btnSkill1.gameObject.SetActive(true); btnSkill3.gameObject.SetActive(true); } var skill1 = SkillHelper.GetRandomVisibleSkill(skillRareDegree); var skill2 = SkillHelper.GetRandomVisibleSkill(skillRareDegree); var skill3 = SkillHelper.GetRandomVisibleSkill(skillRareDegree); while (skill2.Name == skill1.Name) { System.Threading.Thread.Sleep(1); skill2 = SkillHelper.GetRandomVisibleSkill(); } while (skill3.Name == skill2.Name || skill3.Name == skill1.Name) { System.Threading.Thread.Sleep(1); skill3 = SkillHelper.GetRandomVisibleSkill(); } ButtonHelper.UpdateSkillButton(btnSkill1, skill1, imgDesc, false); ButtonHelper.UpdateSkillButton(btnSkill2, skill2, imgDesc, false); ButtonHelper.UpdateSkillButton(btnSkill3, skill3, imgDesc, false); btnSkill1.onClick.RemoveAllListeners(); btnSkill1.onClick.AddListener(() => { GameInfo.GainSkill(skill1.Name); BattleCanvasSetter.SwitchBattleScene(); }); btnSkill2.onClick.RemoveAllListeners(); btnSkill2.onClick.AddListener(() => { GameInfo.GainSkill(skill2.Name); BattleCanvasSetter.SwitchBattleScene(); }); btnSkill3.onClick.RemoveAllListeners(); btnSkill3.onClick.AddListener(() => { GameInfo.GainSkill(skill3.Name); BattleCanvasSetter.SwitchBattleScene(); }); }
public static Sprite GetSkillRareDegreeSprite(SkillRareDegree degree) { Sprite sprite = null; if (degree == SkillRareDegree.Normal) { sprite = Resources.Load("Textures/Events/普通技能", typeof(Sprite)) as Sprite; } else if (degree == SkillRareDegree.Rare) { sprite = Resources.Load("Textures/Events/稀有技能", typeof(Sprite)) as Sprite; } return(sprite); }
/// <summary> /// 更改战利品界面UI /// </summary> /// <param name="money">获得金钱</param> /// <param name="exp">获得经验</param> /// <param name="prop">获得宝物</param> /// <param name="skillType">获得的技能类型</param> public static void Refresh(int money, int exp, BaseProp prop, SkillRareDegree skillRareDegree) { var canvas = GameObject.Find("SubCanvasSpoil").GetComponent <Canvas>(); var txtExp = canvas.transform.Find("TxtExp").GetComponent <Text>(); var txtMoney = canvas.transform.Find("TxtMoney").GetComponent <Text>(); var text = canvas.transform.Find("Text").GetComponent <Text>(); var btnProp = canvas.transform.Find("BtnProp").GetComponent <Button>(); var btnUpgrade = canvas.transform.Find("BtnUpgrade").GetComponent <Button>(); txtExp.text = " X" + exp; txtMoney.text = " X" + money; if (prop == null) { btnProp.gameObject.SetActive(false); } else { btnProp.gameObject.SetActive(true); btnProp.image.sprite = SpriteHelper.GetPropSprite(prop.Name); EventTrigger trigger = btnProp.gameObject.GetComponent <EventTrigger>(); if (trigger == null) { trigger = btnProp.gameObject.AddComponent <EventTrigger>(); } trigger.triggers.Clear(); EventTrigger.Entry entry = new EventTrigger.Entry(); entry.eventID = EventTriggerType.PointerEnter; entry.callback = new EventTrigger.TriggerEvent(); entry.callback.AddListener((eventdata) => { text.text = prop.Description; }); trigger.triggers.Add(entry); } if (skillRareDegree == SkillRareDegree.None) { btnUpgrade.gameObject.SetActive(false); } else { btnUpgrade.gameObject.SetActive(true); btnUpgrade.image.sprite = SpriteHelper.GetSkillRareDegreeSprite(skillRareDegree); EventTrigger trigger = btnUpgrade.gameObject.GetComponent <EventTrigger>(); if (trigger == null) { trigger = btnUpgrade.gameObject.AddComponent <EventTrigger>(); } trigger.triggers.Clear(); EventTrigger.Entry entry = new EventTrigger.Entry(); entry.eventID = EventTriggerType.PointerEnter; entry.callback = new EventTrigger.TriggerEvent(); entry.callback.AddListener((eventdata) => { if (skillRareDegree == SkillRareDegree.Normal) { text.text = "选择并获得一本技能书"; } else if (skillRareDegree == SkillRareDegree.Rare) { text.text = "选择并获得一本稀有技能书"; } }); trigger.triggers.Add(entry); btnUpgrade.onClick.RemoveAllListeners(); btnUpgrade.onClick.AddListener(() => { BattleCanvasSetter.Scenes.Enqueue(BattleSceneType.GetSkill); BattleCanvasSetter.Scenes.Enqueue(BattleSceneType.Spoil); BattleCanvasSetter.SwitchBattleScene(); }); } }