コード例 #1
0
        //领取奖励
        private void OnDaliyGameObjsClick(GameObject obj)
        {
            Debug.Log("DaliyGameObjs" + obj.name + "clicked");
            DailyBonusCtrl.Instance.AskGetAwards();
            DailyBonusConfigInfo bonus = ConfigReader.GetDailyBonusInfo(DailyBonusCtrl.Instance.mHadDay + 1);// 设置奖励坑位(1.金币 2.钱 3.物品)

            if (bonus == null)
            {
                return;               // 没有奖励不显示
            }
            EventCenter.Broadcast(EGameEvent.eGameEvent_PurchaseSuccessWindowEnter);
            int pos = -1;

            foreach (string itemStr in bonus.n32ItemID)
            {
                ++pos;
                int    count  = Convert.ToInt32(bonus.n32ItemNum[pos]);
                UInt32 itemID = Convert.ToUInt32(itemStr);//根据id获取图片id,显示图片和数量和名称
                if (itemID == 1)
                {
                    EventCenter.Broadcast <EPurchaseType, string, string, int>(EGameEvent.eGameEvent_PurchaseRuneSuccessWin,
                                                                               EPurchaseType.EPT_Gold, "金币", "", count);
                }
                else if (itemID == 2)
                {
                    EventCenter.Broadcast <EPurchaseType, string, string, int>(EGameEvent.eGameEvent_PurchaseRuneSuccessWin,
                                                                               EPurchaseType.EPT_Crystal, "钻石", "", count);
                }
                else if (itemID > 100000 && itemID < 110000)
                {
                    EventCenter.Broadcast <EPurchaseType, string, string, int>(EGameEvent.eGameEvent_PurchaseRuneSuccessWin,
                                                                               EPurchaseType.EPT_Hero, ConfigReader.HeroBuyXmlInfoDict[(int)itemID].Name, ConfigReader.HeroBuyXmlInfoDict[(int)itemID].DefaultIcon, count);
                }
                else if (itemID > 110000 && itemID < 120000)
                {
                }
                else if (itemID > 120000 && itemID < 130000)
                {
                    EventCenter.Broadcast <EPurchaseType, string, string, int>(EGameEvent.eGameEvent_PurchaseRuneSuccessWin,
                                                                               EPurchaseType.EPT_Rune, "符文AA", "", count);
                }
                else if (itemID > 130000 && itemID < 140000)
                {
                    EventCenter.Broadcast <EPurchaseType, string, string, int>(EGameEvent.eGameEvent_PurchaseRuneSuccessWin,
                                                                               EPurchaseType.EPT_TrialCard, ConfigReader.OtherItemXmlInfoDic[itemID].sName, "", count);
                }
            }
        }
コード例 #2
0
    public ReadDailyBonusConfig(string xmlFilePath)
    {
        ResourceItem xmlfileUnit = ResourcesManager.Instance.loadImmediate(xmlFilePath, ResourceType.ASSET);

        TextAsset xmlfile = xmlfileUnit.Asset as TextAsset;

        if (!xmlfile)
        {
            Debug.LogError(" error infos: 没有找到指定的xml文件:" + xmlFilePath);
        }

        xmlDoc = new XmlDocument();
        xmlDoc.LoadXml(xmlfile.text);

        XmlNodeList infoNodeList = xmlDoc.SelectSingleNode("DailyBonus ").ChildNodes;

        for (int i = 0; i < infoNodeList.Count; i++)
        {
            XmlAttribute xmlAttr = (infoNodeList[i] as XmlElement).GetAttributeNode("n32Days");

            if (xmlAttr == null)
            {
                continue;
            }

            DailyBonusConfigInfo dailBonusInfo = new DailyBonusConfigInfo();

            foreach (XmlElement xEle in infoNodeList[i].ChildNodes)
            {
                switch (xEle.Name)
                {
                case "n32Type":
                    dailBonusInfo.n32Type = xEle.InnerText.Split(new char[] { ',' });
                    break;

                case "n32ItemID":
                    dailBonusInfo.n32ItemID = xEle.InnerText.Split(new char[] { ',' });
                    break;

                case "n32ItemNum":
                    dailBonusInfo.n32ItemNum = xEle.InnerText.Split(new char[] { ',' });
                    break;
                }
            }

            ConfigReader.dailyBonusXmlInfoDic.Add(Convert.ToUInt32(xmlAttr.InnerText), dailBonusInfo);
        }
    }
コード例 #3
0
        private void OnEvent_DailyBonusUpdate()
        {
            ResourceUnit GetMoneyUnit = ResourcesManager.Instance.loadImmediate(GameConstDefine.LoadDailyHeroIcon, ResourceType.PREFAB);
            UIAtlas      uia_hero     = (GetMoneyUnit.Asset as GameObject).GetComponent <UIAtlas>();

            mMonthInWindow    = DailyBonusCtrl.Instance.mMonth;
            mHadDayInWindow   = DailyBonusCtrl.Instance.mHadDay;
            mTodayCanInWindow = DailyBonusCtrl.Instance.mTodayCan;
            if (LinkGameObjs != null)
            {
                UIEventListener.Get(LinkGameObjs).onClick -= OnDaliyGameObjsClick;
                LinkGameObjs = null;
            }
            LoadUiResource.ClearAllChild(mGrid.transform);
            DaliyGameObjs.Clear();
            for (uint i = 0; i < DailyBonusCtrl.Instance.mMaxDay; ++i)
            {
                DailyBonusConfigInfo bonus = ConfigReader.GetDailyBonusInfo(i + 1);// 设置奖励坑位(1.金币 2.钱 3.物品)
                if (bonus == null)
                {
                    continue;               // 没有奖励不显示
                }
                GameObject addobj = LoadUiResource.AddChildObject(mGrid.transform, GameConstDefine.LoadDailyPrizeUI);
                addobj.transform.parent     = mGrid.transform;
                addobj.transform.localScale = Vector3.one;
                addobj.name = (DaliyGameObjs.Count + 1).ToString();
                addobj.transform.FindChild("BG/Label").GetComponent <UILabel>().text = "累计签到" + (i + 1).ToString() + "天";
                DaliyGameObjs.Add(addobj);
                string hookname = "Interface/SignInterface/Calendar/Date" + (i + 1).ToString() + "/Hook";
                //////////////////////////////////////////////////////////////////////////
                if (i < DailyBonusCtrl.Instance.mHadDay)
                {//已领取
                    mRoot.FindChild(hookname).GetComponent <UISprite>().gameObject.SetActive(true);
                    addobj.transform.FindChild("Done").GetComponent <UISprite>().gameObject.SetActive(true);
                    addobj.transform.FindChild("NotDone").GetComponent <UISprite>().gameObject.SetActive(false);
                    addobj.transform.FindChild("UnDone").GetComponent <UISprite>().gameObject.SetActive(false);
                }
                else if (i == DailyBonusCtrl.Instance.mHadDay)
                {
                    if (DailyBonusCtrl.Instance.mTodayCan)
                    {//可领取
                        mRoot.FindChild(hookname).GetComponent <UISprite>().gameObject.SetActive(false);
                        addobj.transform.FindChild("Done").GetComponent <UISprite>().gameObject.SetActive(false);
                        addobj.transform.FindChild("NotDone").GetComponent <UISprite>().gameObject.SetActive(true);
                        addobj.transform.FindChild("UnDone").GetComponent <UISprite>().gameObject.SetActive(false);
                        //LinkGameObjs = addobj.transform.FindChild("NotDone").gameObject;
                        LinkGameObjs = addobj;
                        UIEventListener.Get(LinkGameObjs).onClick += OnDaliyGameObjsClick;
                    }
                    else
                    {//无法领取
                        mRoot.FindChild(hookname).GetComponent <UISprite>().gameObject.SetActive(false);
                        addobj.transform.FindChild("Done").GetComponent <UISprite>().gameObject.SetActive(false);
                        addobj.transform.FindChild("NotDone").GetComponent <UISprite>().gameObject.SetActive(false);
                        addobj.transform.FindChild("UnDone").GetComponent <UISprite>().gameObject.SetActive(true);
                    }
                }
                else
                {//无法领取
                    mRoot.FindChild(hookname).GetComponent <UISprite>().gameObject.SetActive(false);
                    addobj.transform.FindChild("Done").GetComponent <UISprite>().gameObject.SetActive(false);
                    addobj.transform.FindChild("NotDone").GetComponent <UISprite>().gameObject.SetActive(false);
                    addobj.transform.FindChild("UnDone").GetComponent <UISprite>().gameObject.SetActive(true);
                }
                //////////////////////////////////////////////////////////////////////////
                int pos = -1;
                foreach (string itemStr in bonus.n32ItemID)
                {
                    ++pos;
                    UIGrid     tmpGrid  = addobj.transform.FindChild("Grid").GetComponent <UIGrid>();
                    GameObject oneBouns = LoadUiResource.AddChildObject(tmpGrid.transform, GameConstDefine.LoadDailyOneBonusUI);
                    oneBouns.transform.FindChild("Num").GetComponent <UILabel>().text = "x" + bonus.n32ItemNum[pos]; // 数量
                    bool isHadExtend = bonus.n32Type[pos] == "2";                                                    //是否有额外奖励
                    if (isHadExtend)
                    {
                        string starname = "Interface/SignInterface/Calendar/Date" + (i + 1).ToString() + "/Star";
                        mRoot.FindChild(starname).gameObject.SetActive(true);
                        oneBouns.transform.FindChild("Tip").gameObject.SetActive(true);
                    }
                    UInt32 itemID = Convert.ToUInt32(itemStr);//根据id获取图片id,显示图片和数量和名称
                    if (itemID == 1)
                    {
                        oneBouns.transform.GetComponent <UISprite>().spriteName            = (9).ToString();
                        oneBouns.transform.FindChild("Name").GetComponent <UILabel>().text = "金币";
                    }
                    else if (itemID == 2)
                    {
                        oneBouns.transform.GetComponent <UISprite>().spriteName            = (10).ToString();
                        oneBouns.transform.FindChild("Name").GetComponent <UILabel>().text = "钻石";
                    }
                    else if (itemID > 100000 && itemID < 110000)
                    {
                        oneBouns.transform.GetComponent <UISprite>().atlas = uia_hero;
                        oneBouns.transform.FindChild("Name").GetComponent <UILabel>().text = ConfigReader.HeroBuyXmlInfoDict[(int)itemID].Name;
                        oneBouns.transform.GetComponent <UISprite>().spriteName            = ConfigReader.HeroBuyXmlInfoDict[(int)itemID].DefaultIcon;
                    }
                    else if (itemID > 110000 && itemID < 120000)
                    {
                        oneBouns.transform.FindChild("Name").GetComponent <UILabel>().text = "皮肤";
                        oneBouns.transform.GetComponent <UISprite>().spriteName            = ConfigReader.HeroSkinXmlInfoDict[(int)itemID].Icon;
                    }
                    else if (itemID > 120000 && itemID < 130000)
                    {
                        oneBouns.transform.FindChild("Name").GetComponent <UILabel>().text = "符文";
                        oneBouns.transform.GetComponent <UISprite>().spriteName            = ConfigReader.RuneXmlInfoDict[itemID].Icon;
                    }
                    else if (itemID > 130000 && itemID < 140000)
                    {
                        oneBouns.transform.FindChild("Name").GetComponent <UILabel>().text = ConfigReader.OtherItemXmlInfoDic[itemID].sName;
                        oneBouns.transform.GetComponent <UISprite>().spriteName            = ConfigReader.OtherItemXmlInfoDic[itemID].icon;
                    }
                    else
                    {
                        oneBouns.transform.FindChild("Name").GetComponent <UILabel>().text = "????";
                        oneBouns.transform.GetComponent <UISprite>().spriteName            = (115).ToString();
                        Debug.LogError("unknow itemid in daliybouns " + itemStr);
                    }
                }
            }
            for (uint i = DailyBonusCtrl.Instance.mMaxDay; i < 31; ++i)
            {
                string lightname = "Interface/SignInterface/Calendar/Date" + (i + 1).ToString() + "/Light";
                mRoot.FindChild(lightname).gameObject.SetActive(false);
            }
            mGrid.Reposition();
        }