示例#1
0
    //构造
    public BaseSkill(int uid, int startIndex, SkillCfg cfg)
    {
        this.skillUID   = uid;
        this.startFrame = startIndex;
        this.cfg        = cfg;
        //解析一下cfg addEvent
        //是netPlayer不需要解析伤害事件
        BaseSkillEvent skillEvent1 = new BaseSkillEvent(this.startFrame + 1, E_SkillEventType.Audio);
        BaseSkillEvent skillEvent2 = new BaseSkillEvent(this.startFrame + 2, E_SkillEventType.Effect);
        BaseSkillEvent skillEvent3 = new BaseSkillEvent(this.startFrame + 6, E_SkillEventType.Damage);
        BaseSkillEvent skillEvent4 = new BaseSkillEvent(this.startFrame + 6, E_SkillEventType.Damage);
        BaseSkillEvent skillEvent5 = new BaseSkillEvent(this.startFrame + 300, E_SkillEventType.Damage);

        eventPool.Add(this.startFrame + 1, new List <BaseSkillEvent>()
        {
            skillEvent1
        });
        eventPool.Add(this.startFrame + 2, new List <BaseSkillEvent>()
        {
            skillEvent2
        });
        eventPool.Add(this.startFrame + 6, new List <BaseSkillEvent>()
        {
            skillEvent3, skillEvent4
        });
        eventPool.Add(this.startFrame + 300, new List <BaseSkillEvent>()
        {
            skillEvent5
        });
        maxFrame = this.startFrame + 300;
    }
示例#2
0
    private void InitProgress()
    {
        int num   = 1;
        int group = 1;

        for (int i = 0; i < _info.eventList.Count; ++i)
        {
            BaseSkillEvent bse = _info.eventList[i];
            if (SKILL_EVENT_TYPE.子弹 == bse.eventType || SKILL_EVENT_TYPE.动作 == bse.eventType)
            {
                for (int j = 0; j < bse.times; ++j)
                {
                    SkillProgress sp = SkillProgressCtrl.Instance.GetSkillProgress(false);
                    _spList.Add(sp);
                    sp.InitEvt(bse, _id, bse.time + bse.interval * j, num, group);
                    ++num;
                }
            }
            else
            {
                SkillProgress sp = SkillProgressCtrl.Instance.GetSkillProgress(false);
                _spList.Add(sp);
                sp.InitEvt(bse, _id, bse.time, num, group);
                ++num;
            }
        }
    }
示例#3
0
    public CharacterSkill(Character character)
    {
        this.character          = character;
        this.skillList          = character.Data.skillDataArray.ToList();
        this.characterTransform = character.transform;

        initEvent       = new BaseSkillEvent(SkillData.ConditionType.Init, this);
        firstShootEvent = new BaseSkillEvent(SkillData.ConditionType.FirstShoot, this);
        collideEvent    = new BaseSkillEvent(SkillData.ConditionType.Collide, this);
        beCollidedEvent = new BaseSkillEvent(SkillData.ConditionType.BeCollide, this);
        allStopEvent    = new BaseSkillEvent(SkillData.ConditionType.AllStop, this);
    }