public bool loadDataAfterHeroMgr(JsonObject data, HeroMgr hMgr) { string MGR_NAME = this.GetType().Name; if (!data.ContainsKey(MGR_NAME)) { _parnerData = new JsonObject(); data [MGR_NAME] = _parnerData; Debug.Log("No " + MGR_NAME + " data"); } else { _parnerData = (JsonObject)data [MGR_NAME]; _leaderPos = Convert.ToInt32(_parnerData [PartnerData.LEADER_POS]); JsonObject partnerInfos = (JsonObject)_parnerData [PartnerData.PARTNER_INFOS]; foreach (string pos in partnerInfos.Keys) { int heroId = Convert.ToInt32(partnerInfos[pos]); HeroModel hModel = hMgr.getHero(heroId); setPartner(Convert.ToInt32(pos), hModel); } } return(true); }
private void _updateHeadList() { List <HeroData> unLockedHeros = new List <HeroData>(HeroMgr.GetSingleton().Heros); unLockedHeros.Sort((HeroData a, HeroData b) => { if (StubData.ContainsValue(a.HeroId) && !StubData.ContainsValue(b.HeroId)) { return(-1); } else if (!StubData.ContainsValue(a.HeroId) && StubData.ContainsValue(b.HeroId)) { return(1); } else { return(a.HeroId < b.HeroId ? -1 : (a.HeroId > b.HeroId ? 1 : 0)); } }); for (int idx = 0; idx < unLockedHeros.Count; ++idx) { HeroData data = unLockedHeros[idx]; if (idx >= _herosBuffer.Count) { _createHero(); } _herosBuffer[idx].gameObject.name = string.Format("HeroHead_{0}", data.HeroId); _herosBuffer[idx].SetHeroInfo(data.HeroId, data.Rare, data.Star, data.Level); _herosBuffer[idx].SetOnStub(StubData.ContainsValue(data.HeroId)); } float maxHeight = Mathf.RoundToInt(_heroGrid.transform.childCount / 2.0f) * (_heroGrid.spacing.y + _heroGrid.cellSize.y); float maxWidth = (_heroGrid.spacing.x + _heroGrid.cellSize.x * 2); _heroGridRect.sizeDelta = new Vector2(maxWidth, maxHeight); }
public override bool inited() { SolaEngine engine = SolaEngine.getInstance(); HeroMgr hMgr = (HeroMgr)engine.getMgr(typeof(HeroMgr)); List <DialogueInfoConfig> infoCfgs = (List <DialogueInfoConfig>)engine.getCfg(DialogueInfoConfigData.NAME); for (int i = 0; i < infoCfgs.Count; i++) { DialogueInfoConfig infoCfg = infoCfgs[i]; DialogueInfoModel infoModel = new DialogueInfoModel(); infoModel.setCfg(infoCfg, hMgr); int id = infoModel.getId(); _dialogueInfoModels.Add(id, infoModel); } List <DialogueConfig> cfgs = (List <DialogueConfig>)engine.getCfg(DialogueConfigData.NAME); for (int i = 0; i < cfgs.Count; i++) { DialogueConfig cfg = cfgs[i]; DialogueModel model = new DialogueModel(); model.setCfg(cfg, this); int id = model.getId(); _dialogueModels.Add(id, model); } MissionMgr mMgr = (MissionMgr)engine.getMgr(typeof(MissionMgr)); mMgr.initDialogueInfo(this); return(true); }
public void initModel(HeroMgr hMgr, MapMgr mMgr) { MapConfig cfg = _cfg; _randomMonsterModels = new List <HeroModel> (); int monsterSize = cfg.monsterData.Length; for (int i = 0; i < monsterSize; i += 2) { int id = Convert.ToInt32(cfg.monsterData[i]); int level = Convert.ToInt32(cfg.monsterData[i + 1]); HeroModel model = hMgr.createHero(id, level, 1); _randomMonsterModels.Add(model); } _canAtkModels = new List <MapModel> (); int canAtkSize = cfg.canAtkIds.Length; for (int i = 0; i < canAtkSize; i++) { int canAtkId = Convert.ToInt32(cfg.canAtkIds[i]); MapModel mapModel = mMgr.getMapModel(canAtkId); _canAtkModels.Add(mapModel); } }
public void setCfg(DialogueInfoConfig cfg, HeroMgr hMgr) { _id = Convert.ToInt32(cfg.id); _content = (string)cfg.content; int leftId = Convert.ToInt32(cfg.leftSpeakerId); int rightId = Convert.ToInt32(cfg.rightSpeakerId); int speakerId = Convert.ToInt32(cfg.speakerId); if (leftId != 0) { HeroModel leftModel = hMgr.createHero(leftId, 1, 0); _leftHeroModel = leftModel; } if (rightId != 0) { HeroModel rightModel = hMgr.createHero(rightId, 1, 0); _rightHeroModel = rightModel; } if (speakerId != 0) { HeroModel speakerModel = hMgr.createHero(speakerId, 1, 0); _speakerHeroModel = speakerModel; } }
public void OpenSettlement(bool win, bool pvp, List <FightUnit> fighters) { this.Top_obj.SetActive(false); this.Bottom_obj.SetActive(false); if (!win) { this.Fail_obj.SetActive(true); } else { if (pvp) { this.PVPSuccess_obj.SetActive(true); } else { this.PVESuccess_obj.SetActive(true); ZEventSystem.Dispatch(EventConst.DropOutItem, ItemMgr.Instance.itemList); } if (fighters != null && heroHeadView != null) { GameObject heroHeadParent = pvp ? pvpheros_obj : pveheros_obj; for (int idx = 0; idx < fighters.Count; ++idx) { FightUnit unit = fighters[idx]; if (unit == null) { continue; } GameObject heroHead = GameObject.Instantiate(heroHeadView.gameObject); heroHead.transform.SetParent(heroHeadParent.transform, false); RectTransform heroHeadRect = heroHead.GetComponent <RectTransform>(); heroHeadRect.anchoredPosition = new Vector2(heroHeadRect.sizeDelta.x * (idx * (1 + SETTLE_HEAD_INTERVAL) - (5 + SETTLE_HEAD_INTERVAL * 4) / 2 + 0.5f), 0); HeroHeadView view = heroHead.GetComponent <HeroHeadView>(); view.Init(); int headId = JsonMgr.GetSingleton().GetHeroByID(unit.HeroId).headid; if (pvp) { view.SetHeroInfo(headId, unit.Rare, unit.Star, unit.Level); } else { HeroData heroData = HeroMgr.GetSingleton().GetHeroData(unit.HeroId); if (heroData != null) { view.SetHeroInfo(headId, unit.Rare, unit.Star, unit.Level, 10, heroData.Exp, heroData.NeedHero); //临时 } } } } } }
public override bool inited() { SolaEngine engine = SolaEngine.getInstance(); HeroMgr hMgr = (HeroMgr)engine.getMgr(typeof(HeroMgr)); foreach (MapModel mapModel in _mapModels.Values) { mapModel.initModel(hMgr, this); } return(true); }
private List <Officer> SortPost(int[] officers) { List <Officer> ret = new List <Officer>(); for (int i = 0; i < officers.Length; ++i) { Officer o = JsonMgr.GetSingleton().GetOfficerByID(officers[i]); ret.Add(o); } ret.Sort((Officer a, Officer b) => { int takeA = HeroMgr.GetSingleton().IsTake(a.ID); int takeB = HeroMgr.GetSingleton().IsTake(b.ID); if (takeA == 0 && takeB == 0) { if (a.ID < b.ID) { return(-1); } return(1); } else if (takeA != 0 && takeB == 0) { if (takeA == heroData.HeroId) { return(-1); } return(1); } else if (takeA == 0 && takeB != 0) { if (takeB == heroData.HeroId) { return(1); } return(-1); } else if (takeA != 0 && takeB != 0 && takeA != takeB) { if (takeA == heroData.HeroId) { return(-1); } if (takeB == heroData.HeroId) { return(1); } } return(0); }); return(ret); }
public void Open(int heroId) { heroData = HeroMgr.GetSingleton().GetHeroData(heroId); SetHeadView(); long exp = Role.Instance.ExpPool; exp_txt.text = exp.ToString("N0"); tempLv = heroData.Level; if (exp < heroData.NeedHero || heroData.Level == HeroMgr.MaxHeroLevel) { levelup_btn.interactable = false; expend_txt.text = heroData.NeedHero.ToString("N0"); targetLv_txt.text = tempLv.ToString(); return; } levelup_btn.interactable = true; do { cost = ComputerExpend(); if (cost > exp) { tempLv--; cost = ComputerExpend(); break; } if (tempLv == HeroMgr.MaxHeroLevel) { break; } tempLv++; } while (tempLv <= HeroMgr.MaxHeroLevel); expend_txt.text = cost.ToString("N0"); targetLv_txt.text = tempLv.ToString(); EventListener.Get(levelup_btn.gameObject).OnClick = e => { if (!levelup_btn.IsInteractable()) { return; } Role.Instance.ExpPool -= cost; heroData.Level = tempLv; Lv_txt.text = heroData.Level.ToString(); ZEventSystem.Dispatch(EventConst.REFRESHSIDE, false); exp_txt.text = Role.Instance.ExpPool.ToString("N0"); UIFace.GetSingleton().Close(UIID.ExpPool); }; }
public void OnLoadHeroData(ServerMsgObj msg) { string server = msg.Msg; HeroMsgCollect hm = JsonUtility.FromJson <HeroMsgCollect>(server); HeroData[] dataArray = new HeroData[hm.heros.Length]; for (int i = 0; i < dataArray.Length; i++) { dataArray[i] = new HeroData(hm.heros[i]); HeroMgr.GetSingleton().AddHeroData(dataArray[i]); } HeroMgr.GetSingleton().HeroDataLoaded(); }
/// <summary> /// 脱下气运 /// </summary> /// <param name="totem"></param> public void TakeOffTotem(TotemData totem) { HeroData hero = HeroMgr.GetSingleton().GetHeroData(totem.HeroID); if (hero == null) { return; } hero.Totems[totem.Groove] = ""; totem.HeroID = 0; totem.Groove = 0; hero.ClearTotemAttr(); }
private int TestColor(bool down) { int takeID = HeroMgr.GetSingleton().IsTake(officerID); Officerdis_cr.SetAlpha(takeID == hd.HeroId || takeID == 0 ? 0 : 1); string show = ""; show = takeID != hd.HeroId && takeID != 0 ? string.Format("<color=#5C5C5C>{0} {1}</color>", text, down ? "" :JsonMgr.GetSingleton().GetHeroByID(takeID).name) : down?string.Format("<color=#FFFF30>{0}</color>", text) : string.Format("<color=#FF8A00>{0}</color>", text); officername_txt.text = show; return(takeID); }
/// <summary> /// 脱下装备 调用之前判空 /// </summary> /// <param name="equip"></param> public void TakeOffEquip(EquipData equip) { if (!_id.ContainsKey(equip.md5)) { return; } if (equip.HeroId != 0) { HeroData hero = HeroMgr.GetSingleton().GetHeroData(equip.HeroId); int index = PartToIndex(equip.JsonData.EquiPrat); hero[0, index] = ""; equip.HeroId = 0; } }
public void Open() { select_trf.gameObject.SetActive(false); progress = Role.Instance.DivinationTree; SetProgress(progress); lucky_img.fillAmount = Role.Instance.DivinationLucky / maxLucky; EventListener.Get(take_btn.gameObject).OnClick = e => { ZEventSystem.Register(EventConst.ONOPENCOMPOSE, this, "OnOpenCompose"); UIFace.GetSingleton().Open(UIID.HeroDetail, HeroMgr.GetSingleton().GetNo1(), EHEROSHOWTYPE.Divination); Close(); if (select_trf.gameObject.activeInHierarchy) { select_trf.gameObject.SetActive(false); } ZEventSystem.DeRegister(EventConst.ONOPENCOMPOSE); }; }
public void TakeTotem(TotemData td, HeroData hd) { if (!TotemDic.ContainsKey(td.md5)) { return; } int res = HeroMgr.GetSingleton().TakeHeroTotem(hd, td); if (res == int.MaxValue) { return; } //服务器处理 这里模拟 td.HeroID = hd.HeroId; td.Groove = res; hd.ClearTotemAttr(); }
private void _updateHimes() { SolaEngine engine = SolaEngine.getInstance(); HeroMgr hMgr = (HeroMgr)engine.getMgr(typeof(HeroMgr)); List <HeroModel> totalHero = hMgr.getTotalHero(); himeScroll.reset(); foreach (HeroModel model in totalHero) { ToBattleSelectItem item = (ToBattleSelectItem)MonoBehaviour.Instantiate(himeInstance); item.setModel(model); himeScroll.addItem(item); _selectItems.Add(item); item.onClicked += _onSelectedHero; } }
public void InitAreanDefend() { List <Vector2Int> stubData = Role.Instance.GetStubData(StubType.PVPDefend); int needHead = stubData.Count - _heroHeads.Count; if (needHead > 0) { for (int idx = 0; idx < needHead; ++idx) { GameObject HeroHeadGo = GameObject.Instantiate(HeroHead.gameObject, this.defend_obj.transform); HeroHeadView view = HeroHeadGo.GetComponent <HeroHeadView>(); view.Init(); _heroHeads.Add(view); } } for (int idx = 0; idx < _heroHeads.Count; ++idx) { if (idx < stubData.Count) { int heroId = (int)stubData[idx].y; JsonData.Hero jHero = JsonMgr.GetSingleton().GetHeroByID(heroId); if (jHero == null) { EDebug.LogErrorFormat("couldn't find hero {0} in json", heroId); return; } HeroData hero = HeroMgr.GetSingleton().GetHeroData(heroId); if (hero == null) { EDebug.LogErrorFormat("couldn't find hero {0}", heroId); } else { _heroHeads[idx].SetHeroInfo(jHero.headid, hero.Rare, hero.Star, hero.Level); } } else { _heroHeads[idx].gameObject.SetActive(false); } } }
/// <summary> /// 显示武将 /// </summary> /// <param name="heross"></param> public void ShowHero() { if (RecruitingMgr.Instance.heroList.Count > heros.Count) { for (int i = 0; i < RecruitingMgr.Instance.heroList.Count; i++) { Hero heroses = JsonMgr.GetSingleton().GetHeroByID(RecruitingMgr.Instance.heroList[i]); if (i == heros.Count) { GameObject hero = LoadHero(); HeroHaveInfo _heros = hero.GetComponent <HeroHaveInfo>(); _heros.Init(); _heros.heroid = RecruitingMgr.Instance.heroList[i]; heros.Add(_heros); } IsHeroHead herohead = new IsHeroHead(); herohead._heros = heroses; if (HeroMgr.GetSingleton().HerosContainer.ContainsKey(heroses.ID)) { herohead.isHave = 1; } else { herohead.isHave = 2; } herolist.Add(herohead); } UpdateHero(); } //滑动窗大小 if (grid == null) { grid = hero_obj.GetComponent <GridLayoutGroup>(); rect = hero_obj.GetComponent <RectTransform>(); srrect = allhero_obj.GetComponent <RectTransform>(); } int num = (int)(srrect.sizeDelta.y / grid.cellSize.y); //行数 int xnum = (int)(srrect.sizeDelta.x / grid.cellSize.x); //每行个数 rect.offsetMin = new Vector2(0, -((grid.cellSize.y + grid.spacing.y) * ((heros.Count / xnum) - num))); rect.offsetMax = Vector2.zero; herohead = RecruitingMgr.Instance.heroList; }
void OnGUI() { if (GUILayout.Button("產生單隻怪物")) { EnemySpawnMgr.SpawnEnemy(MapMgr.SpawnTs.position); } if (GUILayout.Button("怪物腳本開始")) { EnemySpawnMgr.StartSpawnEnemy(); } if (GUILayout.Button("讓怪物全死亡")) { EnemySpawnMgr.MonsterAllDie(); } if (GUILayout.Button("切換控制")) { HeroMgr.CreateHero(); } }
public void Open(int heroId) { data = HeroMgr.GetSingleton().GetHeroData(heroId); HeroName_txt.text = data.JsonData.name; int[] matnum = JsonMgr.GetSingleton().GetHeroStarByID(heroId).matnum; //取下一星级需要数量 刚好为当前星级下标 int needPiece = matnum[data.Star]; Piece_txt.text = data.Piece + "/" + needPiece; //边框为碎片稀有度 -- 固定 //OfficerUp officerUp = JsonMgr.GetSignleton().GetOfficerUpByID(data.Rare); //broder_img.sprite = ResourceMgr.Instance.LoadSprite(officerUp.CardBorder); //碎片ID没定 piece_img.sprite = ResourceMgr.Instance.LoadSprite(data.JsonData.headid); EventListener.Get(close_btn.gameObject).OnClick = e => { UIFace.GetSingleton().Close(UIID.HeroGoto); }; }
public void Open(int heroid, EHEROSHOWTYPE type = EHEROSHOWTYPE.Card, bool move = true) { heroData = HeroMgr.GetSingleton().GetHeroData(heroid); BuildHeroEvent(heroid); RegisteEvent(); foreach (var item in imageType) { if (item.Value == type) { item.Key.GetComponent <Toggle>().isOn = true; } } ddActive = true; ShowPopList(null); ShowType(type); ShowLeft(); ShowSide(move); }
public override bool inited() { _infoModels = new Dictionary <int, BattleInfoModel> (); SolaEngine engine = SolaEngine.getInstance(); List <BattleInfoConfig> infoCfgs = (List <BattleInfoConfig>)engine.getCfg(BattleInfoConfigData.NAME); HeroMgr hMgr = (HeroMgr)engine.getMgr(typeof(HeroMgr)); foreach (BattleInfoConfig cfg in infoCfgs) { BattleInfoModel model = new BattleInfoModel(); model.setCfg(cfg, hMgr); int id = model.getId(); _infoModels.Add(id, model); } MissionMgr mMgr = (MissionMgr)engine.getMgr(typeof(MissionMgr)); mMgr.initBattleInfo(this); return(true); }
public void setCfg(BattleInfoConfig cfg, HeroMgr hMgr) { _id = Convert.ToInt32(cfg.id); _maxRound = Convert.ToInt32(cfg.round); int[] monsterInfos = cfg.monster; _monsters = new List <BattleHeroModel> (); for (int i = 0; i < monsterInfos.Length; i += 4) { int id = Convert.ToInt32(monsterInfos[i]); int level = Convert.ToInt32(monsterInfos[i + 1]); HeroModel heroModel = hMgr.createHero(id, level, 0); BattleHeroModel bhModel = new BattleHeroModel(); int x = Convert.ToInt32(monsterInfos[i + 2]); int y = Convert.ToInt32(monsterInfos[i + 3]); bhModel.setModel(heroModel, true, new Vector3(x, y, 0)); _monsters.Add(bhModel); } }
public void sign(string roleId) { if (_roleId != "") { return; } CreateRoleConfig createRoleCfg = _createRoleCfg; _roleId = roleId; _roleLevel = 1; _roleExp = 0; _gold = Convert.ToInt32(createRoleCfg.gold); _paper = Convert.ToInt32(createRoleCfg.paper); int configId = Convert.ToInt32(createRoleCfg.heroId); int level = Convert.ToInt32(createRoleCfg.heroLevel); HeroMgr hMgr = (HeroMgr)_engine.getMgr(typeof(HeroMgr)); HeroModel heroModel = hMgr.createHero(configId, level, 0); hMgr.addHero(heroModel); //Fix me:Test Data. for (int i = 1; i <= 5; i++) { HeroModel hero = hMgr.createHero(i, 5, 5); hMgr.addHero(hero); } hMgr.saveData(); PartnerMgr pMgr = (PartnerMgr)_engine.getMgr(typeof(PartnerMgr)); pMgr.setPartner(0, heroModel); saveData(); }
private void SetAdvancedView() { int[] targets = equip.JsonData.Advanced; int target = PlayerPrefs.GetInt("advancedtarget"); //处理紫升橙 if (targets.Length > 1) { bool has = false; for (int i = 0; i < targets.Length; ++i) { if (targets[i] == target) { has = true; } } if (target != 0 && has) { advancedequip_img.raycastTarget = true; target_img.raycastTarget = false; EventListener.Get(advancedequip_img.gameObject).OnClick = e => { attr_obj.SetActive(false); null_obj.SetActive(true); for (int i = 0, length = parent_trf.childCount; i < length; ++i) { DestroyImmediate(parent_trf.GetChild(0).gameObject); } target = 0; PlayerPrefs.SetInt("advancedtarget", 0); UIFace.GetSingleton().Open(UIID.EuqipTipCtrl, targets); }; } else { advancedequip_img.gameObject.SetActive(false); advancedborder_img.gameObject.SetActive(false); target_img.gameObject.SetActive(true); attr_obj.SetActive(false); null_obj.SetActive(true); target_img.raycastTarget = true; advancedequip_img.raycastTarget = false; EventListener.Get(target_img.gameObject).OnClick = e => { PlayerPrefs.SetInt("advancedtarget", 0); UIFace.GetSingleton().Open(UIID.EuqipTipCtrl, targets); }; return; } } else if (targets.Length == 0) { advancedequip_img.gameObject.SetActive(false); advancedborder_img.gameObject.SetActive(false); target_img.gameObject.SetActive(true); attr_obj.SetActive(false); null_obj.SetActive(true); target_img.raycastTarget = true; advancedequip_img.raycastTarget = false; EventListener.Get(target_img.gameObject).OnClick = e => { CanvasView.Instance.AddNotice("当前装备已进阶至最大等级"); }; return; } else { advancedequip_img.raycastTarget = false; target = targets[0]; } advancedequip_img.gameObject.SetActive(true); advancedborder_img.gameObject.SetActive(true); target_img.gameObject.SetActive(false); attr_obj.SetActive(true); null_obj.SetActive(false); AdvancedSpend aspend = JsonMgr.GetSingleton().GetAdvancedSpendByID(target); SetSpendView(aspend); EventListener.Get(advanced_btn.gameObject).OnClick = e => { if (equip.JsonData.Advanced.Length == 0) { CanvasView.Instance.AddNotice("当前装备已进阶至最大等级"); return; } else if (equip.StrengthenLv < equip.JsonData.AdvancedCondition) { CanvasView.Instance.AddNotice(string.Format("进阶失败!需要强化等级达到{0},才能继续进阶。", equip.JsonData.AdvancedCondition)); return; } else if (target == 0) { return; } for (int i = 0, length = parent_trf.childCount; i < length; ++i) { DestroyImmediate(parent_trf.GetChild(0).gameObject); } equip.EquipId = target; SetAdvancedView(); HeroData hero = HeroMgr.GetSingleton().GetHeroData(equip.HeroId); if (hero == null) { return; } hero.ClearEquipAttr(); ZEventSystem.Dispatch(EventConst.REFRESHRIGHT); }; StringBuilder sb = new StringBuilder(); Pro[] p = equip.Attribute; for (int i = 0, length = p.Length; i < length; ++i) { sb.Append(AttrUtil.GetAttribute(p[i].attr)); sb.Append(": +"); sb.Append(AttrUtil.ShowText(p[i].attr, equip.JsonData.Attribute[i].num + p[i].num, equip.JsonData.Attribute[i].per + p[i].per)); sb.Append("\n"); } name_txt.supportRichText = true; string color = ColorMgr.Colors[equip.ItemData.rare - 1]; name_txt.text = string.Format("<color=#{0}>{1}{2}</color>", color, equip.JsonData.Name, equip.StrengthenLv > 0 ? " +" + equip.StrengthenLv : ""); baseattr_txt.text = string.Format("<color=#{0}>{1}</color>", color, sb); Equip q = JsonMgr.GetSingleton().GetEquipByID(target); StringBuilder append = new StringBuilder(); p = q.Attribute; for (int i = 0, length = p.Length; i < length; ++i) { append.Append(AttrUtil.GetAttribute(p[i].attr)); append.Append(": +"); append.Append(AttrUtil.ShowText(p[i].attr, p[i].num + p[i].num * equip.StrengthenLv, p[i].per + p[i].per * equip.StrengthenLv)); append.Append("\n"); } ItemConfig ic = JsonMgr.GetSingleton().GetItemConfigByID(target); color = ColorMgr.Colors[ic.rare - 1]; advanced_txt.supportRichText = true; advanced_txt.text = string.Format("<color=#{0}>{1}{2}</color>", color, q.Name, equip.StrengthenLv > 0 ? " +" + equip.StrengthenLv : ""); advancedattr_txt.text = string.Format("<color=#{0}>{1}</color>", color, append); sb = null; append = null; }
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); }; }
/// <summary> /// 初始化头像 /// </summary> public void Init() { Level_txt.text = Role.Instance.Level.ToString(); Exp_txt.text = Role.Instance.Exp.ToString(); Name_txt.text = Role.Instance.RoleName; if (ct == null) { HaveClear = HaveClear_trf.GetComponent <GridLayoutGroup>(); NotClear = NotClears_trf.GetComponent <GridLayoutGroup>(); HaveRect = Have_trf as RectTransform; NotClearRect = NotClear_trf as RectTransform; Control = Control_obj.transform as RectTransform; ct = GameObject.Find("HeroParent").transform; grid = Clear_trf.GetComponent <GridLayoutGroup>(); Mask_rect = Mask_trf.transform as RectTransform; Clear = Clear_trf.transform as RectTransform; } if (ct.childCount > 0) { for (int i = 0, length = ct.childCount; i < length; ++i) { Destroy(ct.GetChild(0).gameObject); } } GameObject heroGo = ResourceMgr.Instance.LoadResource(ID) as GameObject; if (heroGo == null) { return; } heroGo = Instantiate(heroGo, ct, false); Hreo = heroGo.transform; heroGo.transform.localPosition = new Vector3(0, -1, 0); heroGo.transform.localScale = new Vector3(2f, 2f, 2f); heroGo.SetLayer("Hero"); EventListener.Get(RawImage_obj).BegineDragEvent = e => { previousX = Input.mousePosition.x; }; EventListener.Get(RawImage_obj).DragEvent = e => { offset = previousX - Input.mousePosition.x; previousX = Input.mousePosition.x; heroGo.transform.Rotate(Vector3.up, offset * Time.deltaTime, Space.Self); }; Hreo.transform.localRotation = new Quaternion(0, 0, 0, 0); Portrait_img.sprite = ResourceMgr.Instance.LoadSprite(Role.Instance.HeadId); //头像 allHero = HeroMgr.GetSingleton().Heros; if (allHero.Length > PortraitList.Count) { for (int idx = 0; idx < allHero.Length; idx++) { if (idx > PortraitList.Count) { GameObject majesty = InitItemInfo(true, Clear_trf); PortraitCircleView majestyview = majesty.GetComponent <PortraitCircleView>(); majestyview.Init(); if (idx > 10) { majestyview.Endow(allHero[idx].HeroId, false); } else { majestyview.Endow(allHero[idx].HeroId, true); } PortraitList.Add(majestyview); } } } SelectSort(); }
public override void Awake() { base.Awake(); workerGo = new Dictionary <EWORKER, GameObject> { { EWORKER.Worker_fangyu, Fangyu_obj }, { EWORKER.Worker_fuzhu, Fuzhu_obj }, { EWORKER.Worker_gongshou, Gongshou_obj }, { EWORKER.Worker_shuchu, Shuchu_obj }, { EWORKER.Worker__moushi, Moushi_obj } }; gle = Content_obj.GetComponent <GridLayerExpand>(); sr = ScrollView_obj.GetComponent <ScrollRect>(); rt = Content_obj.GetComponent <RectTransform>(); lockobj = Instantiate(Lock, transform, false).transform; HeroData[] allHero = HeroMgr.GetSingleton().Heros; //英雄分类 heroGo = new Dictionary <HeroInfo, Transform>(); for (int i = allHero.Length - 1; i >= 0; --i) { EWORKER worker = (EWORKER)allHero[i].JsonData.type; GameObject info = Instantiate(HeadInfo, workerGo[worker].transform, false); HeroInfo heroInfo = info.GetComponent <HeroInfo>(); heroInfo.SetData(allHero[i]); EventListener.Get(info).OnClick = e => { if (isDrag) { return; } UIFace.GetSingleton().Open(UIID.HeroDetail, heroInfo.heroData.HeroId); }; EventListener.Get(info).BegineDragEvent = e => { isDrag = true; sr.OnBeginDrag(e); }; EventListener.Get(info).DragEvent = e => { sr.OnDrag(e); }; EventListener.Get(info).EndDragEvent = e => { isDrag = false; sr.OnEndDrag(e); }; heroGo.Add(heroInfo, info.transform); } foreach (var item in workerGo) { item.Value.SetActive(false); } //图片分类 imageWorker = new Dictionary <GameObject, EWORKER> { { all_img.gameObject, EWORKER.ALL }, { shuchu_img.gameObject, EWORKER.Worker_shuchu }, { fangyu_img.gameObject, EWORKER.Worker_fangyu }, { gongshou_img.gameObject, EWORKER.Worker_gongshou }, { fuzhu_img.gameObject, EWORKER.Worker_fuzhu }, { moushi_img.gameObject, EWORKER.Worker__moushi } }; TriggerListenr(); }
public static HeroMgr GetSingleton() { return(_hero ?? (_hero = new HeroMgr())); }
public void StartFight(int id) { Client.Instance.Send(Msg.ServerMsgId.CCMD_BATTLE_BEGIN, null); List <FightUnit> ownFighter = new List <FightUnit>(); List <Vector2Int> stubData = Role.Instance.GetStubData(StubType.PVE); List <FightUnit> enemy = new List <FightUnit>(); List <FightUnit> enemy1 = new List <FightUnit>(); List <FightUnit> enemy2 = new List <FightUnit>(); for (int idx = 0; idx < stubData.Count; ++idx) { JsonData.Hero heroJson = JsonMgr.GetSingleton().GetHeroByID(stubData[idx].y); FightUnit fighter = new FightUnit(HeroMgr.GetSingleton().GetHeroData(heroJson.ID), stubData[idx].x, false); ownFighter.Add(fighter); } LevelData leveldata = JsonMgr.GetSingleton().GetLevel(id); var monsters = JsonMgr.GetSingleton().GetMonstersArray(); for (int idx1 = 0; idx1 < monsters.Length; idx1++) { for (int idx2 = 0; idx2 < monsters[idx1].monster.Length; idx2++) { switch (idx1) { case 0: FightUnit fighter = new FightUnit(JsonMgr.GetSingleton().GetMonsterByID(monsters[idx1].monster[idx2]), monsters[idx1].position[idx2], true); enemy.Add(fighter); break; case 1: FightUnit fighter1 = new FightUnit(JsonMgr.GetSingleton().GetMonsterByID(monsters[idx1].monster[idx2]), monsters[idx1].position[idx2], true); enemy1.Add(fighter1); break; case 2: FightUnit fighter2 = new FightUnit(JsonMgr.GetSingleton().GetMonsterByID(monsters[idx1].monster[idx2]), monsters[idx1].position[idx2], true); enemy2.Add(fighter2); break; } } } List <List <FightUnit> > enemyFighter = new List <List <FightUnit> >() { enemy, enemy1, enemy2 }; FightLogic.Instance.Clear(); FightLogic.Instance.SetFightUnit(ownFighter, enemyFighter); switch (SectionKey) { case 0: for (int i = 0; i < Genlevel[SectionKey][SectionChapter].GenStage.Count; i++) { if (Genlevel[SectionKey][SectionChapter].GenStage[i].LevelID == id) { if (Genlevel[SectionKey][SectionChapter].GenStage[i].ResidueTime > 0) { Genlevel[SectionKey][SectionChapter].GenStage[i].ResidueTime--; isOff = true; SceneMgr.Instance.LoadScene("Game"); } else { CanvasView.Instance.AddNotice("次数不足"); break; } } } break; case 1: for (int i = 0; i < Genlevel[SectionKey][SectionChapter].GenStage.Count; i++) { if (Genlevel[SectionKey][SectionChapter].GenStage[i].LevelID == id) { if (Genlevel[SectionKey][SectionChapter].GenStage[i].ResidueTime > 0) { Genlevel[SectionKey][SectionChapter].GenStage[i].ResidueTime--; isOff = true; SceneMgr.Instance.LoadScene("Game"); } else { Debug.Log("次数不足"); break; } } } break; case 2: for (int i = 0; i < Genlevel[SectionKey][SectionChapter].GenStage.Count; i++) { if (Genlevel[SectionKey][SectionChapter].GenStage[i].LevelID == id) { if (Genlevel[SectionKey][SectionChapter].GenStage[i].ResidueTime > 0) { Genlevel[SectionKey][SectionChapter].GenStage[i].ResidueTime--; isOff = true; SceneMgr.Instance.LoadScene("Game"); } else { Debug.Log("次数不足"); break; } } } break; } }