private void SetHeadView() { HeroRare officerUp = JsonMgr.GetSingleton().GetHeroRareByID(heroData.Rare); Border_img.sprite = ResourceMgr.Instance.LoadSprite(officerUp.HeadBorder); Head_img.sprite = ResourceMgr.Instance.LoadSprite(heroData.JsonData.headid); Lv_txt.text = heroData.Level.ToString(); int showStar = HeroMgr.MaxHeroStar - heroData.Star; starImage = HideStar_obj.transform.GetComponentsInChildren <Transform>(); for (int i = 0; i < showStar; ++i) { starImage[i].SetParent(StarParent_obj.transform); } }
private void ShowCard() { showGo = Card_trf; showGo.SetParent(Right_trf); bigcard_img.sprite = ResourceMgr.Instance.LoadSprite(heroData.JsonData.cardid); Worker_img.sprite = ResourceMgr.Instance.LoadSprite(heroData.JsonData.type); HeroRare officerUp = JsonMgr.GetSingleton().GetHeroRareByID(heroData.Rare); Floor_img.sprite = ResourceMgr.Instance.LoadSprite(officerUp.CardBorder); Trans_img.sprite = ResourceMgr.Instance.LoadSprite(officerUp.CardTrans); for (int i = 0, length = crArray.Length; i < length; ++i) { crArray[i].SetAlpha(i < heroData.Star ? 1 : 0); } ///暂用 武将满星后处理待定.... int[] matnum = JsonMgr.GetSingleton().GetHeroStarByID(heroData.HeroId).matnum; int needPiece = matnum[Mathf.Min(heroData.Star, matnum.Length - 1)]; Piece_slider.value = heroData.Piece * 1f / needPiece; Num_txt.text = heroData.Piece + "/" + needPiece; //升星减碎片 if (heroData.Star >= HeroMgr.MaxHeroStar) { StarUp_btn.interactable = false; } else { StarUp_btn.interactable = true; EventListener.Get(StarUp_btn.gameObject).OnClick = go => { if (StarUp_btn.interactable) { UIFace.GetSingleton().Open(UIID.HeroStarUp, heroData.HeroId); } }; } }
private void openMonsterTip(int monsterId, Vector2 pos, int align, Vector2 offset, bool isBoss) { Monster monsterJson = JsonMgr.GetSingleton().GetMonsterByID(monsterId); if (monsterJson == null) { EDebug.LogErrorFormat("openMonsterTip invalid monster id {0}", monsterId); return; } this.monsterhead_img.sprite = ResourceMgr.Instance.LoadSprite(monsterJson.headid); this.monsterlevel_img.sprite = ResourceMgr.Instance.LoadSprite(ColorMgr.Border[monsterJson.rare - 1]); HeroRare rareData = JsonMgr.GetSingleton().GetHeroRareByID(monsterJson.rare); this.monsterlevel_img.sprite = ResourceMgr.Instance.LoadSprite(rareData.HeadBorder); string monsterName = string.Format("{0}({1})", monsterJson.name, rareData.Name); this.monstername_txt.text = monsterName.AddColorLabel(rareData.Color); this.monsterlevel_txt.text = string.Format(JsonMgr.GetSingleton().GetGlobalStringArrayByID(2004).desc, monsterJson.level); this.monsterisboss_obj.SetActive(isBoss); this.monsterintroduce_txt.text = monsterJson.desc; this.monstertips_rect.anchoredPosition = calAlignment(pos, this.monstertips_rect.sizeDelta, align, offset); this.monstertips_rect.gameObject.SetActive(true); }
public void Open(int heroId) { HeroData heroData = HeroMgr.GetSingleton().GetHeroData(heroId); int[] matnum = JsonMgr.GetSingleton().GetHeroStarByID(heroData.HeroId).matnum; //取下一星级需要数量 刚好为当前星级下标 int needPiece = matnum[heroData.Star]; Piece_txt.text = heroData.Piece + "/" + needPiece; HeroRare officerUp = JsonMgr.GetSingleton().GetHeroRareByID(heroData.Rare); Border_img.sprite = ResourceMgr.Instance.LoadSprite(officerUp.HeadBorder); Head_img.sprite = ResourceMgr.Instance.LoadSprite(heroData.JsonData.headid); Lv_txt.text = heroData.Level.ToString(); //碎片ID为武将ID piece_img.sprite = ResourceMgr.Instance.LoadSprite(heroData.HeroId); Fighting_txt.text = "12334325"; Cost_txt.text = JsonMgr.GetSingleton().GetGlobalIntArrayByID(heroData.Star + StarBegin).value.ToString("N0"); int showStar = HeroMgr.MaxHeroStar - heroData.Star; starImage = HideStar_obj.transform.GetComponentsInChildren <Image>(); for (int i = 0; i < heroData.Star; ++i) { starImage[i].transform.SetParent(StarParent_obj.transform); } CanvasRenderer[] leftStar = leftstar_obj.GetComponentsInChildren <CanvasRenderer>(); for (int i = 0; i < leftStar.Length; ++i) { leftStar[i].SetAlpha((i < showStar) ? 0 : 1); } CanvasRenderer[] rightStar = rightstar_obj.GetComponentsInChildren <CanvasRenderer>(); for (int i = 0; i < rightStar.Length; ++i) { rightStar[i].SetAlpha((i < (showStar - 1)) ? 0 : 1); } EventListener.Get(Canel_btn.gameObject).OnClick = e => { UIFace.GetSingleton().Close(UIID.HeroStarUp); }; EventListener.Get(StarUp_btn.gameObject).OnClick = e => { if (heroData.Piece < needPiece) { CanvasView.Instance.AddNotice("碎片不足"); return; } Close(); //服务器处理升星逻辑 客户端暂代 int expend = Mathf.RoundToInt(JsonMgr.GetSingleton().GetGlobalIntArrayByID(heroData.Star + StarBegin).value); Role.Instance.Cash -= expend; heroData.Piece -= needPiece; heroData.Star++; ZEventSystem.Dispatch(EventConst.REFRESHSIDE, false); if (heroData.Star == HeroMgr.MaxHeroStar) { UIFace.GetSingleton().Close(UIID.HeroStarUp); return; } Open(heroId); }; EventListener.Get(piece_img.gameObject).OnClick = e => { UIFace.GetSingleton().Open(UIID.HeroGoto, heroId); }; }
public int[] GetUnLockOfficer(int rare) { HeroRare o = JsonMgr.GetSingleton().GetHeroRareByID(rare); return(o.UnLock); }
private void ShowOfficer() { showGo = Officer_trf; showGo.SetParent(Right_trf); LOfficer_obj.SetActive(true); Left_obj.SetActive(false); HeroRare ou = JsonMgr.GetSingleton().GetHeroRareByID(heroData.Rare); HeroRare up = JsonMgr.GetSingleton().GetHeroRareByID(Mathf.Min(heroData.Rare + 1)); if (ou == null) { return; } if (up == null) { return; } currentleft_img.sprite = currentright_img.sprite = ResourceMgr.Instance.LoadSprite(ou.Officer); upleft_img.sprite = upright_img.sprite = ResourceMgr.Instance.LoadSprite(up.Officer); current_txt.text = ou.Name.AddColorLabel(ou.Color); up_txt.text = up.Name.AddColorLabel(up.Color); HeroHeadView hhvL = LeftHead_trf.GetComponent <HeroHeadView>(); HeroHeadView hhvR = RightHea_trf.GetComponent <HeroHeadView>(); hhvL.Init(); hhvR.Init(); hhvL.SetHeroInfo(heroData.JsonData.headid, heroData.Rare, heroData.Star, heroData.Level, true); hhvR.SetHeroInfo(heroData.JsonData.headid, heroData.Rare + 1, heroData.Star, heroData.Level, true); needhonor_txt.color = Role.Instance.Honor < up.NeedNum ? Color.red : Color.white; needhonor_txt.text = up.NeedNum.ToString("N0"); EventListener.Get(up_btn.gameObject).OnClick = e => { if (heroData.Rare >= JsonMgr.GetSingleton().GetGlobalIntArrayByID(1023).value) { CanvasView.Instance.AddNotice("高处不胜寒呐~~"); return; } if (Role.Instance.Honor < up.NeedNum) { CanvasView.Instance.AddNotice("荣誉不足!!"); return; } HeroMgr.GetSingleton().UnfixOfficer(heroData); heroData.Rare++; ShowOfficer(); ShowSide(false); }; Dictionary <Attr, float> ret = heroData.RareAttr(false); StringBuilder sb = new StringBuilder(); foreach (var item in ret) { if (item.Value != 0) { sb.Append(AttrUtil.GetAttribute(item.Key)); sb.Append(" "); sb.Append(AttrUtil.ShowText(item.Key, item.Value)); sb.Append("\n"); } } leftpro_txt.text = sb.ToString(); Dictionary <Attr, float> next = heroData.RareAttr(true); sb.Length = 0; foreach (var item in next) { if (item.Value != 0) { sb.Append(AttrUtil.GetAttribute(item.Key)); sb.Append(" "); sb.Append(AttrUtil.ShowText(item.Key, item.Value)); sb.Append(" "); float befor = 0; if (ret.ContainsKey(item.Key)) { befor = ret[item.Key]; } sb.Append(string.Format(@"<color=#00FF00> (+{0})</color>", AttrUtil.ShowText(item.Key, item.Value - befor))); sb.Append("\n"); } } rightpro_txt.text = sb.ToString(); int[] officers = HeroMgr.GetSingleton().GetUnLockOfficer(heroData.Rare); int childCount = OfficerList_obj.transform.childCount; List <Officer> os = SortPost(officers); for (int i = 0; i < os.Count; ++i) { Officer o = os[i]; if (o == null) { continue; } GameObject itemgo; if (i < childCount) { itemgo = OfficerList_obj.transform.GetChild(i).gameObject; } else { itemgo = Instantiate(officerGo, OfficerList_obj.transform, false); } OfficerItem oi = itemgo.GetComponent <OfficerItem>(); oi.SetView(heroData, o); EventListener.Get(oi.take_btn.gameObject).OnClick = e => { int takeID = HeroMgr.GetSingleton().IsTake(o.ID); if (takeID == heroData.HeroId) { return; } if (takeID != 0) { string name = HeroMgr.GetSingleton().GetHeroData(takeID).JsonData.name; TipCtrl ctrl = (TipCtrl)UIFace.GetSingleton().Open(UIID.Tip, 1, name); ctrl.SetHandler(delegate() { UIFace.GetSingleton().Close(UIID.Tip); }, delegate() { UIFace.GetSingleton().Close(UIID.Tip); HeroMgr.GetSingleton().TakeOfficer(heroData, o.ID); ShowOfficer(); }); } else { HeroMgr.GetSingleton().TakeOfficer(heroData, o.ID); ShowOfficer(); } }; EventListener.Get(itemgo).OnClick = e => { oi.OnClickItem(); float minu = (oi.highlightY - oi.normalY); float height = oi.down ? minu : -minu; officerrt.sizeDelta = new Vector2(officerrt.sizeDelta.x, officerrt.sizeDelta.y + height); }; if (oi.down) { oi.OnClickItem(); } EventListener.Get(itemgo).BegineDragEvent = e => { OfficerSV_sr.OnBeginDrag(e); }; EventListener.Get(itemgo).DragEvent = e => { OfficerSV_sr.OnDrag(e); }; EventListener.Get(itemgo).EndDragEvent = e => { OfficerSV_sr.OnEndDrag(e); }; } float maxHeight = (officers.Length + 0.5f) * (10.6f + 101); officerrt.sizeDelta = new Vector2(officerrt.sizeDelta.x, maxHeight); }