Esempio n. 1
0
    public override void Fire(Skill skill)
    {
        TimeCondition singCond = new TimeCondition(skill.Attribute.m_DelayTime);

        TaskSystem.Task singTask = new TaskSystem.Task("吟唱任务", singCond);
        tm.AddTask(singTask);

        //伤害计算
        DamageCondtion dmgCond = new DamageCondtion(skill,
                                                    delegate(int result)
        {
            HandleCast(skill, result);
        },
                                                    EventsType.Skill_DamageEnd,
                                                    obj_Id);

        TaskSystem.Task dmgTask = new TaskSystem.Task("伤害检查" + attribute.Name, dmgCond);
        tm.AddTask(dmgTask);
        //启动任务队列
        tm.Start("技能伤害计算流程" + attribute.Name, delegate()
        {
            Debug.Log("Hp:" + obj_entity.Hp);
            skill.End();
        });
    }
Esempio n. 2
0
    public void Fire02(SkillSystem.Skill skill)
    {
        //to-do吟唱 吟唱时间可以根据表格来

        //伤害计算
        DamageCondtion dmgCond = new DamageCondtion(skill,
                                                    delegate(int result)
        {
            HandleCast(skill, result);
        },
                                                    EventsType.Skill_DamageEnd, skill.Caster.m_Id);

        TaskSystem.Task dmgTask = new TaskSystem.Task("伤害检查", dmgCond);
        TaskManager.Instance().AddTask(dmgTask);
        //启动任务队列
        TaskManager.Instance().Start(">>>技能伤害计算流程");
    }
Esempio n. 3
0
    public void Fire(Skill skill)
    {
        //to-do吟唱 吟唱时间可以根据表格来
        TimeCondition singCond = new TimeCondition(skill.Attribute.m_DelayTime);

        TaskSystem.Task singTask = new TaskSystem.Task("吟唱任务", singCond);
        TaskManager.Instance().AddTask(singTask);
        //伤害计算
        DamageCondtion dmgCond = new DamageCondtion(skill,
                                                    delegate(int result)
        {
            HandleCast(skill, result);
        },
                                                    EventsType.Skill_DamageEnd, skill.Caster.m_Id);

        TaskSystem.Task dmgTask = new TaskSystem.Task("伤害检查", dmgCond);
        TaskManager.Instance().AddTask(dmgTask);
        //启动任务队列
        TaskManager.Instance().Start(">>>技能伤害计算流程");
    }
Esempio n. 4
0
    private void OnCollision()
    {
        //Destroy(gameObject);
        WsTaskManager tm = new TaskSystem.WsTaskManager();
        //打击效果
        Task hitTask = new Task("击中效果", new HitCondition(m_Skill, 1));

        tm.AddTask(hitTask);
        DamageCondtion dmgCond = new DamageCondtion(m_Skill,
                                                    delegate(int result)
        {
            HandleCast(m_Skill, result);
        },
                                                    EventsType.Skill_DamageEnd, m_Skill.Caster.m_Id);
        Task dmgTask = new Task("伤害检查", dmgCond);

        tm.AddTask(dmgTask);
        //启动任务队列
        tm.Start(">>>技能施法流程", delegate()
        {
            m_Skill.End();
        });
    }