30 lines
2.2 KiB
C#
30 lines
2.2 KiB
C#
using System.Collections.Generic;
|
|
using SLSFramework.General;
|
|
using SoftCircuits.Collections;
|
|
using UnityEngine;
|
|
|
|
namespace Cielonos.MainGame.Characters
|
|
{
|
|
public class EventSubmodule : SubmoduleBase<CharacterBase>
|
|
{
|
|
public OrderedDictionary<string, PrioritizedAction> onCombatStart; //战斗开始时
|
|
public OrderedDictionary<string, PrioritizedAction> onCombatEnd; //战斗结束时
|
|
public OrderedDictionary<string, PrioritizedAction<AttackAreaBase>> onGetHit; //被击中时,参数为产生命中的攻击区域
|
|
public OrderedDictionary<string, PrioritizedAction<AttackAreaBase>> onStartAttack; //开始攻击时,参数为产生成攻击的攻击区域
|
|
public OrderedDictionary<string, PrioritizedAction<AttackAreaBase, AttackResult>> onFinishAttack; //完成攻击时,参数为被攻击目标和对应的攻击结果
|
|
public OrderedDictionary<string, PrioritizedAction<AttackAreaBase>> onBeforeGetAttacked; //被攻击前,参数为攻击者和攻击结果
|
|
public OrderedDictionary<string, PrioritizedAction<AttackAreaBase, AttackResult>> onAfterGetAttacked; //被攻击后,参数为攻击者和攻击结果
|
|
public OrderedDictionary<string, PrioritizedAction<CharacterBase, float>> onUseEnergy; //使用能量时,参数为使用能量的使用者和能量值
|
|
public EventSubmodule(CharacterBase owner) : base(owner)
|
|
{
|
|
onCombatStart = new OrderedDictionary<string, PrioritizedAction>();
|
|
onCombatEnd = new OrderedDictionary<string, PrioritizedAction>();
|
|
onGetHit = new OrderedDictionary<string, PrioritizedAction<AttackAreaBase>>();
|
|
onStartAttack = new OrderedDictionary<string, PrioritizedAction<AttackAreaBase>>();
|
|
onFinishAttack = new OrderedDictionary<string, PrioritizedAction<AttackAreaBase, AttackResult>>();
|
|
onBeforeGetAttacked = new OrderedDictionary<string, PrioritizedAction<AttackAreaBase>>();
|
|
onAfterGetAttacked = new OrderedDictionary<string, PrioritizedAction<AttackAreaBase, AttackResult>>();
|
|
onUseEnergy = new OrderedDictionary<string, PrioritizedAction<CharacterBase, float>>();
|
|
}
|
|
}
|
|
} |