Beispiel #1
0
        public uint GetBuffEffectType()
        {
            uint type = 0;

            Dictionary <uint, stBuffData> .Enumerator iter = buffDic.GetEnumerator();
            while (iter.MoveNext())
            {
                var          buff = iter.Current;
                BuffDataBase db   = GetBuffDataBase(buff.Key);
                if (db != null)
                {
                    string[] effectArray = db.effectid.Split('_');
                    for (int i = 0; i < effectArray.Length; i++)
                    {
                        string        effectid  = effectArray[i];
                        uint          id        = uint.Parse(effectid);
                        StateDataBase stateBase = GameTableManager.Instance.GetTableItem <StateDataBase>(id);
                        if (stateBase != null)
                        {
                            if (stateBase.typeid == (int)EffectType.DINGSHEN)
                            {
                                type |= (uint)BuffEffectType.CANNOT_MOVE;
                                break;
                            }
                        }
                    }
                }
            }

            Dictionary <uint, stBuffData> .Enumerator iterbuff = buffDic.GetEnumerator();
            while (iterbuff.MoveNext())
            {
                var          buff = iterbuff.Current;
                BuffDataBase db   = GetBuffDataBase(buff.Key);
                if (db != null)
                {
                    string[] effectArray = db.effectid.Split('_');
                    for (int i = 0; i < effectArray.Length; i++)
                    {
                        string        effectid  = effectArray[i];
                        uint          id        = uint.Parse(effectid);
                        StateDataBase stateBase = GameTableManager.Instance.GetTableItem <StateDataBase>(id);
                        if (stateBase != null)
                        {
                            if (stateBase.typeid == (int)EffectType.JINGU)
                            {
                                type |= (uint)BuffEffectType.CANNOT_USEITEM;
                                break;
                            }
                        }
                    }
                }
            }
            Dictionary <uint, stBuffData> .Enumerator iterDic = buffDic.GetEnumerator();
            while (iterDic.MoveNext())
            {
                var          buff = iterDic.Current;
                BuffDataBase db   = GetBuffDataBase(buff.Key);
                if (db != null)
                {
                    string[] effectArray = db.effectid.Split('_');
                    for (int i = 0; i < effectArray.Length; i++)
                    {
                        string        effectid  = effectArray[i];
                        uint          id        = uint.Parse(effectid);
                        StateDataBase stateBase = GameTableManager.Instance.GetTableItem <StateDataBase>(id);
                        if (stateBase != null)
                        {
                            if (stateBase.typeid == (int)EffectType.CHENMO)
                            {
                                type |= (uint)BuffEffectType.CANOT_USESKILL;
                                break;
                            }
                        }
                    }
                }
            }
            return(type);
        }
Beispiel #2
0
 void LoadData()
 {
     my = (StateDataBase)AssetDatabase.LoadAssetAtPath("Assets/DataBase/Data_States.asset", typeof(StateDataBase));
 }