游戏中的Buf系统

 游戏中的buff,红蓝buff增加属性

  public class Buff
    {
        public Buff()
        {
        }
        //buff的实例id
        public uint buffID
        {
            get;
            set;
        }
        //buff的typeid
        public uint buffTypeID
        {
            get;
            set;
        }
        //buff剩余时间
        public float buffTime
        {
            get;
            set;
        }
        //这个buff用给谁
        public Ientity entity
        {
            get;
            set;
        }
        //buff总的时间
        //public float totalTime
        //{
        //    get;
        //    set;
        //}
       
        public string getSpriteName()
        {

            BuffConfigInfo buffInfo = ConfigReader.GetBuffInfo(buffTypeID);
            return buffInfo == null ? "" : ConfigReader.GetBuffInfo(buffTypeID).IconRes;
        }
        public float getTotalTime()
        {
            BuffConfigInfo buffInfo = ConfigReader.GetBuffInfo(buffTypeID);
            return buffInfo == null ? 1000000 : ConfigReader.GetBuffInfo(buffTypeID).TotalTime;
        }
        public void Update()
        {
            buffTime -= Time.deltaTime;
        }
    }

 属性

 public class BuffConfigInfo : System.Object
    {
        public uint BuffID;
        public string BuffName;
        public string IconRes;
        public string EffectRes;
        public int effectID;
        //public string DescContent;
        public float TotalTime;
        public string sound;
       // public int EffectType;

        public int eFlyEffectID;            //buff后续击飞效果id
    }

 

 

 class ReadBuffConfig
    {
        XmlDocument xmlDoc = null;
        public ReadBuffConfig()
        {
        }
        public ReadBuffConfig(string xmlFilePath)
        {
            //TextAsset xmlfile = Resources.Load(xmlFilePath) as TextAsset;
            ResourceUnit 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("SkillCfg_buff ").ChildNodes;
            for (int i = 0; i < infoNodeList.Count; i++)
            {//(XmlNode xNode in infoNodeList)
                if ((infoNodeList[i] as XmlElement).GetAttributeNode("un32ID") == null)
                    continue;

                string typeName = (infoNodeList[i] as XmlElement).GetAttributeNode("un32ID").InnerText;
                //Debug.LogError(typeName);
                BuffConfigInfo buffInfo = new BuffConfigInfo();
                buffInfo.BuffID = Convert.ToUInt32(typeName);
                foreach (XmlElement xEle in infoNodeList[i].ChildNodes)
                {
                    #region 搜索
                    switch (xEle.Name)
                    {
                        case "szName":
                            {
                                buffInfo.BuffName = Convert.ToString(xEle.InnerText);
                            }
                            break;
                        case "szEffectIcon":
                            {
                                buffInfo.IconRes = Convert.ToString(xEle.InnerText);
                            }
                            break;
                        //case "szEffectDes":
                        //    {
                        //        buffInfo.DescContent = Convert.ToString(xEle.InnerText);
                        //    }
                        //    break;
                        case "n32EffectID":
                            {
                                buffInfo.effectID = Convert.ToInt32(xEle.InnerText);
                            }
                            break;
                        case "szEffection":
                            {
                                buffInfo.EffectRes = Convert.ToString(xEle.InnerText);
                            }
                            break;
                        case "eEffect0LastTick":
                            {
                                buffInfo.TotalTime = Convert.ToInt32(xEle.InnerText) / 1000.0f;
                            }
                            break;
                        case "szEffectSound":
                            {
                                buffInfo.sound = Convert.ToString(xEle.InnerText);
                            }
                            break;
                        //case "n32Effect0ID":
                        //    {
                        //        buffInfo.EffectType = Convert.ToInt32(xEle.InnerText);
                        //    }
                        //    break;
                        case "eFlyEffectID":
                            {
                                buffInfo.eFlyEffectID = Convert.ToInt32(xEle.InnerText);
                            }break;
                    }
                    
                    #endregion
                }
                ConfigReader.buffXmlInfoDict.Add(buffInfo.BuffID, buffInfo);
            }
        }
    }

    //存储buff表中信息
    public class BuffConfigInfo : System.Object
    {
        public uint BuffID;
        public string BuffName;
        public string IconRes;
        public string EffectRes;
        public int effectID;
        //public string DescContent;
        public float TotalTime;
        public string sound;
       // public int EffectType;

        public int eFlyEffectID;            //buff后续击飞效果id
    }

别人释放buff的通知

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值