public void onClickRuneCard(GameObject go) { if (m_SuccessTime > 0) { return; } uint runeID = Convert.ToUInt32(go.name); RuneConfigInfo sRuneConfigInfo = ConfigReader.GetRuneFromID(runeID); var oneRuneInfo = MarketRuneListModel.Instance.GetOneRuneInfo(runeID); if (null == m_RuneSlotInfo) { m_Slot_SpriteArray[GameDefine.GameConstDefine.RefreshRuneSlotIndex].gameObject.SetActive(true); m_Slot_SpriteArray[GameDefine.GameConstDefine.RefreshRuneSlotIndex].spriteName = sRuneConfigInfo.Icon; m_RuneSlotInfo = new SlotInfo(); int num = oneRuneInfo.num - 1; if (num == 0) { go.transform.parent = null; m_BagGrid.RemoveChild(go.transform); MonoBehaviour.DestroyImmediate(go); nowAllRuneGO.Remove(runeID); } else { UILabel levelLabel = go.transform.Find("NumLabel").GetComponent <UILabel>(); levelLabel.text = Convert.ToString(num); } m_WashBtn.isEnabled = true; } else { //如果替换不一致的符文,则把原来的换回去,新的减少1 var runeOnSlotID = m_RuneSlotInfo.runeID; if (runeOnSlotID != runeID) { RuneConfigInfo runeCfg = ConfigReader.GetRuneFromID(runeOnSlotID); if (runeCfg.level == m_Curlevel || m_Curlevel == 0) { var slotRuneInfo = MarketRuneListModel.Instance.GetOneRuneInfo(runeOnSlotID); LoadOneRune(runeOnSlotID, slotRuneInfo.num); if (slotRuneInfo.num == 1) { m_BagGrid.Reposition(); } } int num = oneRuneInfo.num - 1; if (num == 0) { go.transform.parent = null; m_BagGrid.RemoveChild(go.transform); MonoBehaviour.DestroyImmediate(go); nowAllRuneGO.Remove(runeID); } else { UILabel levelLabel = go.transform.Find("NumLabel").GetComponent <UILabel>(); levelLabel.text = Convert.ToString(num); } } } m_Slot_SpriteArray[GameDefine.GameConstDefine.RefreshRuneSlotIndex].spriteName = sRuneConfigInfo.Icon; m_RuneSlotInfo.runeInfo = go; m_RuneSlotInfo.sprite = m_Slot_SpriteArray[GameDefine.GameConstDefine.RefreshRuneSlotIndex]; m_RuneSlotInfo.runeID = runeID; ClearFreshSlot(); m_BagGrid.Reposition(); m_BagScroll.ResetPosition(); }
public RuneConfig(string xmlFilePath) { ResourceUnit xmlfileUnit = ResourcesManager.Instance.loadImmediate(xmlFilePath, ResourceType.ASSET); TextAsset xmlfile = xmlfileUnit.Asset as TextAsset; xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xmlfile.text); XmlNodeList infoNodeList = xmlDoc.SelectSingleNode("RuneCfg").ChildNodes; for (int i = 0; i < infoNodeList.Count; ++i) { if ((infoNodeList[i] as XmlElement).GetAttributeNode("un32ID") == null) { continue; } string typeName = (infoNodeList[i] as XmlElement).GetAttributeNode("un32ID").InnerText; RuneConfigInfo RuneSelectInfo = new RuneConfigInfo(); RuneSelectInfo.runeid = Convert.ToUInt32(typeName); foreach (XmlElement xEle in infoNodeList[i].ChildNodes) { switch (xEle.Name) { case "RuneName": RuneSelectInfo.RuneName = xEle.InnerText; break; case "un8Level": RuneSelectInfo.level = Convert.ToInt16(xEle.InnerText); break; case "bIsCanRandomComposed": RuneSelectInfo.bIsCanRandomComposed = Convert.ToInt32(xEle.InnerText); break; case "Description": RuneSelectInfo.oriDescription = xEle.InnerText; RuneSelectInfo.Description = xEle.InnerText; break; case "Icon": RuneSelectInfo.Icon = xEle.InnerText; break; case "n32EffectVal": RuneSelectInfo.effectVal = Convert.ToDouble(xEle.InnerText, CultureInfo.InvariantCulture.NumberFormat); break; case "fEffectPer": RuneSelectInfo.effectPer = Convert.ToDouble(xEle.InnerText, CultureInfo.InvariantCulture.NumberFormat); break; case "un8EffectID": RuneSelectInfo.effectID = Convert.ToUInt32(xEle.InnerText, CultureInfo.InvariantCulture.NumberFormat); break; } } //进行描述 替换 RuneSelectInfo.Description = (ModifyDes(RuneSelectInfo.effectVal, RuneSelectInfo.effectPer, RuneSelectInfo)).ToString(); ConfigReader.runeXmlInfoDict[RuneSelectInfo.runeid] = RuneSelectInfo; } }
private void onClickRefreshCard(GameObject go) { if (m_SuccessTime > 0) { return; } if (m_RuneSlotInfo == null) { MsgInfoManager.Instance.ShowMsg(10037); return; } RuneConfigInfo sRuneConfigInfo = ConfigReader.GetRuneFromID(m_RuneSlotInfo.runeID); var nowLevel = sRuneConfigInfo.level; var refreshID = Convert.ToUInt32(go.name); var sInfo = refreshCardListID2GoDict[refreshID]; if (sInfo.cfg.effectvalue < nowLevel) { MsgInfoManager.Instance.ShowMsg(10038); return; } var nowInfo = GoodsModel.Instance.GetRuneBaptze((int)refreshID); int num = nowInfo.mNum - 1; if (num == 0) { go.transform.parent = null; m_RefreshGrid.RemoveChild(go.transform); MonoBehaviour.DestroyImmediate(go); m_RefreshGrid.Reposition(); m_RefreshScroll.ResetPosition(); refreshCardListID2GoDict.Remove(refreshID); } else { var numLabel = go.transform.Find("NumLabel").GetComponent <UILabel>(); numLabel.text = num.ToString(); } if (m_RefreshCardSlotInfo == null) { m_RefreshCardSlotInfo = new SlotInfo(); } else { //原来有洗练券,现在还原 var oriInfo = GoodsModel.Instance.GetRuneBaptze((int)m_RefreshCardSlotInfo.runeID); var freshCardInfo = refreshCardListID2GoDict[m_RefreshCardSlotInfo.runeID]; if (refreshID != m_RefreshCardSlotInfo.runeID) { if (oriInfo.mNum == 1) { //记载洗练券 LoadOneRefreshCard(m_RefreshCardSlotInfo.runeID, oriInfo.mNum); m_RefreshGrid.Reposition(); m_RefreshScroll.ResetPosition(); } else { var numLabel = freshCardInfo.go.transform.Find("NumLabel").GetComponent <UILabel>(); numLabel.text = oriInfo.mNum.ToString(); } } } m_Slot_SpriteArray[GameDefine.GameConstDefine.RefreshRuneCardIndex].gameObject.SetActive(true); m_Slot_SpriteArray[GameDefine.GameConstDefine.RefreshRuneCardIndex].spriteName = sInfo.cfg.icon; m_RefreshCardSlotInfo.runeInfo = go; m_RefreshCardSlotInfo.sprite = m_Slot_SpriteArray[GameDefine.GameConstDefine.RefreshRuneCardIndex]; m_RefreshCardSlotInfo.runeID = refreshID; }
public void UpdateMail(MailData mdb) { if (GoldList.Count != 0) { foreach (var item in GoldList) { UnityEngine.GameObject.DestroyImmediate(item); } curMailObj.mGrid.transform.parent.gameObject.SetActive(false); GoldList.Clear(); } if ((curMailObj != null) && (mdb != null) && (curtMailId == mdb.MailId)) { curMailObj.mMailSenderTxt.text = mdb.mailSender; curMailObj.mMailTitleTxt.text = mdb.mailTitle; curMailObj.mMailContentTxt.text = mdb.mailContent; curMailObj.mMailCreateTimeTxt.text = mdb.mailCreateTime; mTemp.gameObject.SetActive(true); string[] giftArray = mdb.mailGift.Split('|'); for (int i = 0; i < giftArray.Length; i++) { if (giftArray[i].Length == 0) { continue; } curMailObj.mGrid.transform.parent.gameObject.SetActive(true); ResourceItem objUnit = ResourcesManager.Instance.loadImmediate(GameConstDefine.LoadMailAttachGUI, ResourceType.PREFAB); GameObject obj = GameObject.Instantiate(objUnit.Asset) as GameObject; obj.transform.parent = curMailObj.mGrid.transform; obj.transform.localPosition = Vector3.zero; obj.transform.localScale = Vector3.one; GoldList.Add(obj); string[] giftStr = giftArray[i].Split(','); if (giftStr.Length == 3) { Int32 goodsId = Convert.ToInt32(giftStr[1]); MailGiftType giftType = (MailGiftType)Convert.ToInt32(giftStr[0]); switch (giftType) { case MailGiftType.eMerchType_Gold: { obj.GetComponent <UISprite>().spriteName = "9"; obj.transform.Find("Label").GetComponent <UILabel>().text = giftStr[2]; } break; case MailGiftType.eMerchType_Diamond: { obj.GetComponent <UISprite>().spriteName = "10"; obj.transform.Find("Label").GetComponent <UILabel>().text = giftStr[2]; } break; //HeroBuyCfg:100001-109999 // SkinCfg:110001-119999 // RuneCfg:120001-129999 default: { if (goodsId >= 100001 && goodsId <= 109999) { HeroBuyConfigInfo buyInfo = ConfigReader.GetHeroBuyInfo(goodsId); if (buyInfo != null) { ResourceItem GetMoneyUnit = ResourcesManager.Instance.loadImmediate(GameConstDefine.LoadDailyHeroIcon, ResourceType.PREFAB); UIAtlas uia_hero = (GetMoneyUnit.Asset as GameObject).GetComponent <UIAtlas>(); obj.GetComponent <UISprite>().atlas = uia_hero; obj.GetComponent <UISprite>().spriteName = buyInfo.DefaultIcon.ToString(); obj.transform.Find("Label").GetComponent <UILabel>().text = giftStr[2]; } } else if (goodsId >= 120001 && goodsId <= 129999) { RuneConfigInfo runeInfo = ConfigReader.GetRuneFromID((uint)goodsId); if (runeInfo != null) { obj.GetComponent <UISprite>().spriteName = runeInfo.Icon.ToString(); obj.transform.Find("Label").GetComponent <UILabel>().text = giftStr[2]; } } else if (goodsId >= 110001 && goodsId <= 119999) { HeroSkinConfigInfo skinInfo = ConfigReader.GetHeroSkinInfo(goodsId); if (skinInfo != null) { obj.GetComponent <UISprite>().spriteName = skinInfo.Icon.ToString(); obj.transform.Find("Label").GetComponent <UILabel>().text = giftStr[2]; } } else if (goodsId >= 130001 && goodsId <= 139999) { OtherItemConfigInfo otherInfo = ConfigReader.GetOtherItemInfo((uint)goodsId); if (otherInfo != null) { obj.GetComponent <UISprite>().spriteName = otherInfo.icon; obj.transform.Find("Label").GetComponent <UILabel>().text = giftStr[2]; } } } break; } } else { Debug.LogError("the error mail gift str:" + giftArray[i]); } } } UpdateLeftMailTitleList(); curMailObj.mGrid.repositionNow = true; curMailObj.mGrid.Reposition(); }
void ShowVipPre() { int vipLevel = PresonInfoCtrl.Instance.mVipLevel; foreach (var item in ConfigReader.ViplevelXmlInfoDict.Values) { string temp = null; string[] value = null; MsgConfigInfo info = null; HeroBuyConfigInfo heroinfo = null; RuneConfigInfo runeinfo = null; int runeLevel = 0; int j = 0; ResourceUnit objHomeBaseUnit = ResourcesManager.Instance.loadImmediate(GameConstDefine.LoadVIPInfoUI, ResourceType.PREFAB); GameObject obj = GameObject.Instantiate(objHomeBaseUnit.Asset) as GameObject; obj.transform.parent = mGrid.transform; obj.transform.localPosition = Vector3.zero; obj.transform.localScale = Vector3.one; obj.name = (j++).ToString(); value = item.VipHero.Split(':'); UILabel uil = obj.transform.FindChild("InfoLabel").GetComponent <UILabel>(); UILabel viplevel = obj.transform.FindChild("NameLabel").GetComponent <UILabel>(); viplevel.text = "VIP " + item.VipUserLevel.ToString(); info = ConfigReader.msgXmlInfoDic[20001]; for (int i = 0; i < value.Length; i++) { if (i % 2 == 0) { //英雄ID 20001 int index = Convert.ToInt32(value[i]); if (index == 0) { break; } heroinfo = ConfigReader.GetHeroBuyInfo(Convert.ToInt32(value[i])); if (heroinfo == null) { Debug.LogError("herocfg not find id"); return; } } else { //英雄时限 } }//temp 暂时当Label用 if (heroinfo != null) { temp = string.Format(info.content, heroinfo.Name); } value = item.VipRune.Split(':'); info = ConfigReader.msgXmlInfoDic[20002]; for (int i = 0; i < value.Length; i++) { if (i % 2 == 0) { //符文ID int index = Convert.ToInt32(value[i]); if (index == 0) { break; } runeinfo = ConfigReader.GetRuneFromID((uint)index); if (runeinfo == null) { Debug.LogError("runecfg not find id"); return; } } else { //符文等级 runeLevel = Convert.ToInt32(value[i]); } } if (runeLevel != 0) { temp += (string.Format(info.content, runeinfo.RuneName, runeLevel)); } temp = GetTemp(temp, item.VipPrivilege1, 21001); temp = GetTemp(temp, item.VipPrivilege2, 21002); temp = GetTemp(temp, item.VipPrivilege3, 21003); temp = GetFloatTemp(temp, item.VipPrivilege4, 21004); temp = GetTemp(temp, item.VipPrivilege5, 21005); temp = GetFloatTemp(temp, item.VipPrivilege6, 21006); temp = GetFloatTemp(temp, item.VipPrivilege7, 21007); temp = GetTemp(temp, item.VipPrivilege8, 21008); temp = GetTemp(temp, item.VipPrivilege9, 21009); temp = GetTemp(temp, item.VipPrivilege10, 21010); uil.text = temp; } }
//窗口控件初始化 protected override void InitWidget() { mBtnClose = mRoot.Find("CloseBtn").GetComponent <UIButton>(); RuneConfigInfo sRuneConfigInfo = ConfigReader.GetRuneFromID((UInt32)m_MarketGoodsInfo.mGoodsId); if (null == sRuneConfigInfo) { Debug.LogError("null cfg with runeid " + m_MarketGoodsInfo.mGoodsId); return; } UISprite icon = mRoot.Find("Icon").GetComponent <UISprite>(); icon.spriteName = sRuneConfigInfo.Icon; //如果只有一个金钱需要居中 bool ifNeedCentral = m_MarketGoodsInfo.RLGoldPrice < 0 || m_MarketGoodsInfo.RLDiamondPrice < 0; if (ifNeedCentral) { m_SingleBuyBtn = mRoot.Find("BuyBtn/Single").GetComponent <UIButton>(); if (m_MarketGoodsInfo.RLGoldPrice >= 0) { UILabel label = m_SingleBuyBtn.gameObject.transform.Find("Gold/label").GetComponent <UILabel>(); label.text = Convert.ToString(m_MarketGoodsInfo.RLGoldPrice); UIEventListener.Get(m_SingleBuyBtn.gameObject).onClick += OnBuyByGold; } else { UILabel label = m_SingleBuyBtn.gameObject.transform.Find("Crystal/label").GetComponent <UILabel>(); label.text = Convert.ToString(m_MarketGoodsInfo.RLGoldPrice); UIEventListener.Get(m_SingleBuyBtn.gameObject).onClick += OnBuyByDiamond; } m_SingleBuyBtn.gameObject.name = Convert.ToString(m_MarketGoodsInfo.mGoodsId); } else { GameObject bothGo = mRoot.Find("BuyBtn/Both").gameObject; bothGo.SetActive(true); GameObject singleGo = mRoot.Find("BuyBtn/Single").gameObject; singleGo.SetActive(false); mBtnGold = mRoot.Find("BuyBtn/Both/Gold").GetComponent <UIButton>(); mBtnGold.gameObject.SetActive(true); UILabel label = mBtnGold.gameObject.transform.Find("label").GetComponent <UILabel>(); label.text = Convert.ToString(m_MarketGoodsInfo.RLGoldPrice); mBtnGold.gameObject.name = Convert.ToString(m_MarketGoodsInfo.mGoodsId); mBtnDiamond = mRoot.Find("BuyBtn/BuyBtn/Crystal").GetComponent <UIButton>(); mBtnDiamond.gameObject.SetActive(true); UILabel diamondLabel = mBtnDiamond.gameObject.transform.Find("label").GetComponent <UILabel>(); diamondLabel.text = Convert.ToString(m_MarketGoodsInfo.RLDiamondPrice); mBtnDiamond.gameObject.name = Convert.ToString(m_MarketGoodsInfo.mGoodsId); UIEventListener.Get(mBtnGold.gameObject).onClick += OnBuyByGold; UIEventListener.Get(mBtnDiamond.gameObject).onClick += OnBuyByDiamond; } m_NameLabel = mRoot.Find("Name").GetComponent <UILabel>(); m_NameLabel.text = sRuneConfigInfo.RuneName; m_DesptionLabel = mRoot.Find("RuneStatus").GetComponent <UILabel>(); m_DesptionLabel.text = "属性:" + sRuneConfigInfo.Description; mRoot.gameObject.SetActive(true); InitWindowEvent(); }
public override void Update(float deltaTime) { switch (m_RuneComposeState) { case RuneComposeState.step0: { var curTime = Time.time; if (curTime - m_ComposeTime >= ComposeStateWaitTime[(int)m_RuneComposeState]) { m_RuneComposeState = RuneComposeState.step1; foreach (var kv in slot2RuneGoDict) { kv.Value.sprite.spriteName = ""; AudioManager.Instance.PlatUnloadRuneAudio(); } slot2RuneGoDict.Clear(); runeOnTempSlotDic.Clear(); } } break; case RuneComposeState.step1: { var curTime = Time.time; if (curTime - m_ComposeTime >= ComposeStateWaitTime[(int)m_RuneComposeState]) { LoadUiResource.ClearOneChild(m_CombineSuccessFlash1GO.transform, effectName1); m_RuneComposeState = RuneComposeState.step2; var cfg = ConfigReader.GetRuneFromID(m_CombinedID); m_Slot_SpriteArray[GameDefine.GameConstDefine.MaxCombineSlotNum - 1].gameObject.SetActive(true); m_Slot_SpriteArray[GameDefine.GameConstDefine.MaxCombineSlotNum - 1].spriteName = cfg.Icon; m_ComposeTime = curTime; var go = LoadUiResource.AddChildObject(m_CombineSuccessFlash1GO.transform, GameConstDefine.RuneDisappearFlash); go.name = effectName2; } } break; case RuneComposeState.step2: { var curTime = Time.time; if (curTime - m_ComposeTime >= ComposeStateWaitTime[(int)m_RuneComposeState]) { LoadUiResource.ClearOneChild(m_CombineSuccessFlash1GO.transform, effectName2); m_RuneComposeState = RuneComposeState.step3; m_Slot_SpriteArray[GameDefine.GameConstDefine.MaxCombineSlotNum - 1].spriteName = ""; m_ComposeTime = curTime; RuneConfigInfo sRuneConfigInfo = ConfigReader.GetRuneFromID(m_CombinedID); var cfg = ConfigReader.GetRuneFromID(m_CombinedID); if (IfCanShow(sRuneConfigInfo.level)) { var oneRuneInfo = MarketRuneListModel.Instance.GetOneRuneInfo(m_CombinedID); LoadOneRune(m_CombinedID, oneRuneInfo.num); mGrid.Reposition(); mScroll.ResetPosition(); } EventCenter.Broadcast(EGameEvent.eGameEvent_PurchaseSuccessWindowEnter); EventCenter.Broadcast <EPurchaseType, string, string, int>(EGameEvent.eGameEvent_PurchaseRuneSuccessWin, EPurchaseType.EPT_Rune, cfg.RuneName, cfg.Icon, 1); m_RuneComposeState = RuneComposeState.stepNone; } } break; } }