40 lines
2.2 KiB
C#
40 lines
2.2 KiB
C#
using System.Collections.Generic;
|
|
using Continentis.MainGame.Character;
|
|
using SoftCircuits.Collections;
|
|
using SLSFramework.General;
|
|
using UnityEngine;
|
|
|
|
namespace Continentis.MainGame.Equipment
|
|
{
|
|
public class EventSubmodule : SubmoduleBase<EquipmentBase>
|
|
{
|
|
public OrderedDictionary<string, PrioritizedAction> onCombatStart; //战斗开始时
|
|
public OrderedDictionary<string, PrioritizedAction> onCombatEnd; //战斗结束时
|
|
|
|
public OrderedDictionary<string, PrioritizedAction> onRoundStart; //每回合开始时
|
|
public OrderedDictionary<string, PrioritizedAction> onRoundEnd; //每回合结束时
|
|
|
|
public OrderedDictionary<string, PrioritizedAction<List<CharacterBase>>> onStartAttack; //开始攻击时,参数为被攻击目标列表
|
|
public OrderedDictionary<string, PrioritizedAction<List<CharacterBase>, List<AttackResult>>> onFinishAttack; //完成攻击时,参数为被攻击目标列表和对应的攻击结果列表
|
|
public OrderedDictionary<string, PrioritizedAction<CharacterBase, AttackResult>> onGetAttacked; //被攻击时,参数为攻击者和攻击结果
|
|
|
|
public OrderedDictionary<string, PrioritizedAction> onActionStart; //每次行动开始时
|
|
public OrderedDictionary<string, PrioritizedAction> onActionEnd; //每次行动结束时
|
|
|
|
public EventSubmodule(EquipmentBase equipment) : base(equipment)
|
|
{
|
|
onCombatStart = new OrderedDictionary<string, PrioritizedAction>();
|
|
onCombatEnd = new OrderedDictionary<string, PrioritizedAction>();
|
|
|
|
onRoundStart = new OrderedDictionary<string, PrioritizedAction>();
|
|
onRoundEnd = new OrderedDictionary<string, PrioritizedAction>();
|
|
|
|
onActionStart = new OrderedDictionary<string, PrioritizedAction>();
|
|
onActionEnd = new OrderedDictionary<string, PrioritizedAction>();
|
|
|
|
onStartAttack = new OrderedDictionary<string, PrioritizedAction<List<CharacterBase>>>();
|
|
onFinishAttack = new OrderedDictionary<string, PrioritizedAction<List<CharacterBase>, List<AttackResult>>>();
|
|
onGetAttacked = new OrderedDictionary<string, PrioritizedAction<CharacterBase, AttackResult>>();
|
|
}
|
|
}
|
|
} |