OnOtherBuffApply/Remove监听
This commit is contained in:
@@ -26,6 +26,7 @@ namespace Continentis.MainGame
|
||||
|
||||
public class ContentSubmodule : BuffSubmodule
|
||||
{
|
||||
public string modClassName;
|
||||
public string displayName;
|
||||
public string originalFunctionText;
|
||||
public string interpretedFunctionText;
|
||||
@@ -38,7 +39,7 @@ namespace Continentis.MainGame
|
||||
/// <param name="willLocalizeFuncText">是否本地化功能描述文本,默认为true,设为false说明此Buff具有不止一条本地化文本,需要切换。</param>
|
||||
public ContentSubmodule(BuffBase<T> buff, bool willLocalizeFuncText = true) : base(buff)
|
||||
{
|
||||
string modClassName = ModManager.GetModClassName(buff.GetType());
|
||||
modClassName = ModManager.GetModClassName(buff.GetType());
|
||||
this.displayName = ("Buff_" + modClassName + "_DisplayName").Localize();
|
||||
|
||||
if (willLocalizeFuncText)
|
||||
@@ -90,7 +91,17 @@ namespace Continentis.MainGame
|
||||
this.iconID = iconID;
|
||||
}
|
||||
|
||||
this.icon = SpriteExtension.Create(ModManager.GetAsset<Texture2D>(this.iconID));
|
||||
Texture2D tex = ModManager.GetAsset<Texture2D>(this.iconID);
|
||||
|
||||
if (tex != null)
|
||||
{
|
||||
this.icon = SpriteExtension.Create(tex);
|
||||
}
|
||||
else
|
||||
{
|
||||
Texture2D defaultTex = ModManager.GetAsset<Texture2D>("BuffIcon_Basic_Default");
|
||||
this.icon = SpriteExtension.Create(defaultTex);
|
||||
}
|
||||
|
||||
if (buff.contentSubmodule != null)
|
||||
{
|
||||
@@ -125,6 +136,10 @@ namespace Continentis.MainGame
|
||||
|
||||
public OrderedDictionary<string, PrioritizedAction> onActionStart; //每次行动开始时
|
||||
public OrderedDictionary<string, PrioritizedAction> onActionEnd; //每次行动结束时
|
||||
|
||||
public OrderedDictionary<string, PrioritizedAction<BuffBase<T>>> onOtherBuffApplied; //Buff被添加时,参数为被添加的Buff实例
|
||||
public OrderedDictionary<string, PrioritizedAction<BuffBase<T>>> onOtherBuffFirstApplied; //Buff被新添加时,参数为被添加的Buff实例
|
||||
public OrderedDictionary<string, PrioritizedAction<BuffBase<T>>> onOtherBuffRemoved; //Buff被移除时,参数为被移除的Buff实例
|
||||
|
||||
public OrderedDictionary<string, PrioritizedAction<CharacterBase, IntendedCard, CharacterBase>> onOpponentDecideAction; //对手AI决定行动时,参数为对手,和原定的目标角色
|
||||
|
||||
@@ -148,6 +163,10 @@ namespace Continentis.MainGame
|
||||
onActionStart = new OrderedDictionary<string, PrioritizedAction>();
|
||||
onActionEnd = new OrderedDictionary<string, PrioritizedAction>();
|
||||
|
||||
onOtherBuffApplied = new OrderedDictionary<string, PrioritizedAction<BuffBase<T>>>();
|
||||
onOtherBuffFirstApplied = new OrderedDictionary<string, PrioritizedAction<BuffBase<T>>>();
|
||||
onOtherBuffRemoved = new OrderedDictionary<string, PrioritizedAction<BuffBase<T>>>();
|
||||
|
||||
onDealAttack = new OrderedDictionary<string, PrioritizedAction<AttackResult>>();
|
||||
onGetAttacked = new OrderedDictionary<string, PrioritizedAction<AttackResult>>();
|
||||
onOpponentDecideAction = new OrderedDictionary<string, PrioritizedAction<CharacterBase, IntendedCard, CharacterBase>>();
|
||||
|
||||
Reference in New Issue
Block a user