yyl
15 小时以前 30ba2ef747ced774bef177d5273cb5a3429cff49
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using System.Collections.Generic;
using UnityEngine;
 
 
public class SkillBase
{
    protected SkillConfig skillConfig;
 
    protected bool isFinished = false;
 
    public SkillBase(SkillConfig _skillCfg)
    {
        skillConfig = _skillCfg;
    }
 
    public virtual void Run()
    {
        
    }
 
    public virtual void Cast(BattleObject _caster, BattleField battleField, List<Dictionary<int, List<int>>> damageList)
    {
        Debug.LogError("SkillBase Cast should be overridden by derived class");
    }
 
    public virtual bool IsFinished()
    {
        return isFinished;
    }
 
    public virtual void ForceFinished()
    {
        isFinished = true;
    }
 
#if UNITY_EDITOR
    public virtual List<BattleObject> GetTargetList(BattleObject _caster, BattleField battleField)
    {
        SkillTargetType targetType = SkillTargetType.Enemy;
        SkillTargetRangeType rangeType = SkillTargetRangeType.LowestHP;
 
        List<BattleObject> affectList = battleField.battleObjMgr.GetTargetList(_caster, targetType, rangeType);
        return affectList;
    }
    
    public virtual List<Dictionary<int, List<int>>> GetDamageList(BattleObject _caster, BattleField battleField)
    {
        Debug.LogError("SkillBase GetDamageList should be overridden by derived class");
        return null;
    }
#endif
}