コード例 #1
0
 public CAoYi(AoYiData config, int lv, int Id, SkillManager skillMgr)
 {
     this._AoYiItem = new BT_AoYi(config, Id, skillMgr);
     this._Lv       = lv;
     this._used     = 0;
 }
コード例 #2
0
        // 使用CAoYi来创建技能
        public BT_Skill(CAoYi AoYiItem, BT_Monster ownerBy)
        {
            owner = ownerBy;

            int     AoYiLevel = AoYiItem.getLv;
            BT_AoYi AoYi      = AoYiItem.getAoYiItem;

            // 参数信息
            float[] effect = AoYiItem.getEffectByLv(AoYiLevel);

            // 构建真实的技能参数数据
            skParam realEffect = new skParam();

            int length = AoYi._efinfo.Length;

            for (int i = 0; i < length; ++i)
            {
                //其实可以反射的写入值,但这里不太多,就不用反射了。
                string key = AoYi._efinfo[i];
                if (!string.IsNullOrEmpty(key))
                {
                    switch (key)
                    {
                    case "rate2":
                        realEffect.rate2 = MathHelper.MidpointRounding(effect [i]);
                        break;

                    case "rate":
                        realEffect.rate = MathHelper.MidpointRounding(effect [i]);
                        break;

                    case "gailv":
                        realEffect.gailv = MathHelper.MidpointRounding(effect [i]);
                        break;

                    case "damage":
                        realEffect.damage = MathHelper.MidpointRounding(effect [i]);
                        break;

                    case "nuqi":
                        realEffect.nuqi = MathHelper.MidpointRounding(effect [i]);
                        break;

                    case "num":
                        realEffect.num = MathHelper.MidpointRounding(effect [i]);
                        break;
                    }
                }
            }

            // 构造对象
            //默认一定能释放一次
            RdCast = 1;
            id     = AoYi._ID;
            curLv  = AoYiLevel;
            opObj  = AoYi._SkillOpConfig;
            name   = AoYi._Name;
            level  = "A";
            param  = realEffect;
            op     = AoYi._skillOp;
        }