Skip to content

GameCore.Event ​

EventAbilityAttached 双端 ​

命名空间 GameCore.Event

csharp
public class EventAbilityAttached : EventUnit, ITriggerEvent<EventAbilityAttached>

技能附加事件,当技能被附加到单位时触发

  • ability — 被附加的技能

构造函数 ​

EventAbilityAttached 双端 ​

csharp
public EventAbilityAttached(Ability ability)

技能附加事件,当技能被附加到单位时触发

  • ability — 被附加的技能

属性 ​

Ability 双端 ​

csharp
public Ability Ability { get; }

被附加的技能

EventAbilityPropertyChange 双端 ​

命名空间 GameCore.Event

csharp
public class EventAbilityPropertyChange : EventUnit, ITriggerEvent<EventAbilityPropertyChange>

技能属性变化的 Trigger 事件。适合在游戏逻辑中全局监听(跨单位)所有技能属性变化。 替代方案:如果只需监听特定技能实例的属性变化(如 UI 绑定), 优先使用 OnPropertyChanged,更简单且无需过滤。

构造函数 ​

EventAbilityPropertyChange 双端 ​

csharp
public EventAbilityPropertyChange(Ability ability, PropertyAbility property)

技能属性变化的 Trigger 事件。适合在游戏逻辑中全局监听(跨单位)所有技能属性变化。 替代方案:如果只需监听特定技能实例的属性变化(如 UI 绑定), 优先使用 OnPropertyChanged,更简单且无需过滤。

属性 ​

Ability 双端 ​

csharp
public Ability Ability { get; }

Property 双端 ​

csharp
public PropertyAbility Property { get; }

EventAbilityRemoved 双端 ​

命名空间 GameCore.Event

csharp
public class EventAbilityRemoved : EventUnit, ITriggerEvent<EventAbilityRemoved>

技能移除事件,当技能从单位移除时触发

  • ability — 被移除的技能

构造函数 ​

EventAbilityRemoved 双端 ​

csharp
public EventAbilityRemoved(Ability ability)

技能移除事件,当技能从单位移除时触发

  • ability — 被移除的技能

属性 ​

Ability 双端 ​

csharp
public Ability Ability { get; }

被移除的技能

EventApplicationDidEnterBackground 仅客户端 ​

命名空间 GameCore.Event

csharp
public class EventApplicationDidEnterBackground : ITriggerEvent<EventApplicationDidEnterBackground>

移动端应用已进入后台。

构造函数 ​

EventApplicationDidEnterBackground 仅客户端 ​

csharp
public EventApplicationDidEnterBackground()

EventApplicationDidEnterForeground 仅客户端 ​

命名空间 GameCore.Event

csharp
public class EventApplicationDidEnterForeground : ITriggerEvent<EventApplicationDidEnterForeground>

移动端应用已回到前台。

构造函数 ​

EventApplicationDidEnterForeground 仅客户端 ​

csharp
public EventApplicationDidEnterForeground()

EventApplicationLowMemory 仅客户端 ​

命名空间 GameCore.Event

csharp
public class EventApplicationLowMemory : ITriggerEvent<EventApplicationLowMemory>

移动端操作系统报告内存压力。

构造函数 ​

EventApplicationLowMemory 仅客户端 ​

csharp
public EventApplicationLowMemory()

EventApplicationWillEnterBackground 仅客户端 ​

命名空间 GameCore.Event

csharp
public class EventApplicationWillEnterBackground : ITriggerEvent<EventApplicationWillEnterBackground>

移动端应用即将进入后台。

构造函数 ​

EventApplicationWillEnterBackground 仅客户端 ​

csharp
public EventApplicationWillEnterBackground()

EventApplicationWillEnterForeground 仅客户端 ​

命名空间 GameCore.Event

csharp
public class EventApplicationWillEnterForeground : ITriggerEvent<EventApplicationWillEnterForeground>

移动端应用即将回到前台。

构造函数 ​

EventApplicationWillEnterForeground 仅客户端 ​

csharp
public EventApplicationWillEnterForeground()

EventBuffAttached 双端 ​

命名空间 GameCore.Event

csharp
public class EventBuffAttached : EventUnit, ITriggerEvent<EventBuffAttached>

Buff附加事件,当Buff被附加到单位时触发

  • buff — 被附加的Buff

构造函数 ​

EventBuffAttached 双端 ​

csharp
public EventBuffAttached(Buff buff)

Buff附加事件,当Buff被附加到单位时触发

  • buff — 被附加的Buff

属性 ​

Buff 双端 ​

csharp
public Buff Buff { get; }

被附加的Buff

EventBuffPropertyChange 双端 ​

命名空间 GameCore.Event

csharp
public class EventBuffPropertyChange : EventUnit, ITriggerEvent<EventBuffPropertyChange>

Buff 属性变化的 Trigger 事件。适合在游戏逻辑中全局监听(跨单位)所有 Buff 属性变化。 替代方案:如果只需监听特定 Buff 实例的属性变化(如 UI 绑定), 优先使用 OnPropertyChanged,更简单且无需过滤。

构造函数 ​

EventBuffPropertyChange 双端 ​

csharp
public EventBuffPropertyChange(Buff buff, PropertyBuff property)

Buff 属性变化的 Trigger 事件。适合在游戏逻辑中全局监听(跨单位)所有 Buff 属性变化。 替代方案:如果只需监听特定 Buff 实例的属性变化(如 UI 绑定), 优先使用 OnPropertyChanged,更简单且无需过滤。

属性 ​

Buff 双端 ​

csharp
public Buff Buff { get; }

Property 双端 ​

csharp
public PropertyBuff Property { get; }

EventBuffRemoved 双端 ​

命名空间 GameCore.Event

csharp
public class EventBuffRemoved : EventUnit, ITriggerEvent<EventBuffRemoved>

Buff移除事件,当Buff从单位移除时触发

  • buff — 被移除的Buff

构造函数 ​

EventBuffRemoved 双端 ​

csharp
public EventBuffRemoved(Buff buff)

Buff移除事件,当Buff从单位移除时触发

  • buff — 被移除的Buff

属性 ​

Buff 双端 ​

csharp
public Buff Buff { get; }

被移除的Buff

EventComponent 双端 ​

命名空间 GameCore.Event

csharp
public abstract class EventComponent : ITriggerEvent<EventComponent>

构造函数 ​

EventComponent 双端 ​

csharp
protected EventComponent(IAttachedObject component)

属性 ​

Component 双端 ​

csharp
public IAttachedObject Component { get; }

Host 双端 ​

csharp
public ICooldownHost Host { get; }

OwnerUnit 双端 ​

csharp
public Unit? OwnerUnit { get; }

EventComponentDestroying 仅客户端 ​

命名空间 GameCore.Event

csharp
public class EventComponentDestroying : EventComponent, ITriggerEvent<EventComponentDestroying>

构造函数 ​

EventComponentDestroying 仅客户端 ​

csharp
public EventComponentDestroying(IAttachedObject component)

EventComponentPropertyChange 仅客户端 ​

命名空间 GameCore.Event

csharp
public class EventComponentPropertyChange : EventComponent, ITriggerEvent<EventComponentDestroying>

构造函数 ​

EventComponentPropertyChange 仅客户端 ​

csharp
public EventComponentPropertyChange(IAttachedObject component, IExtendedEnum property)

属性 ​

Property 仅客户端 ​

csharp
public IExtendedEnum Property { get; }

EventComponentReplicated 仅客户端 ​

命名空间 GameCore.Event

csharp
public class EventComponentReplicated : EventComponent, ITriggerEvent<EventComponentReplicated>

构造函数 ​

EventComponentReplicated 仅客户端 ​

csharp
public EventComponentReplicated(IAttachedObject component)

EventDamageNotification 仅客户端 ​

命名空间 GameCore.Event

csharp
public class EventDamageNotification : ITriggerEvent<EventDamageNotification>

客户端版本的伤害通知事件,用于在客户端处理伤害相关的逻辑。如自定义的UI更新、飘字,UI特效等。

  • damage —
备注

在GameDataDamageType中设置伤害的同步方式。 该事件刻意与服务端的 EventEntityDamageTaken 事件区分开来,就算客户端看不到目标单位也有可能收到伤害事件。

构造函数 ​

EventDamageNotification 仅客户端 ​

csharp
public EventDamageNotification(Damage damage)

客户端版本的伤害通知事件,用于在客户端处理伤害相关的逻辑。如自定义的UI更新、飘字,UI特效等。

  • damage —
备注

在GameDataDamageType中设置伤害的同步方式。 该事件刻意与服务端的 EventEntityDamageTaken 事件区分开来,就算客户端看不到目标单位也有可能收到伤害事件。

属性 ​

DamageInstance 仅客户端 ​

csharp
public Damage DamageInstance { get; }

DamageCurrent 仅客户端 ​

csharp
public double DamageCurrent { get; }

DamageOriginal 仅客户端 ​

csharp
public double DamageOriginal { get; }

IsCritical 仅客户端 ​

csharp
public bool IsCritical { get; }

IsFatal 仅客户端 ​

csharp
public bool IsFatal { get; }

Caster 仅客户端 ​

csharp
public Entity? Caster { get; }

CasterPlayer 仅客户端 ​

csharp
public Player? CasterPlayer { get; }

Target 仅客户端 ​

csharp
public Entity? Target { get; }

EventEffect 仅服务端 ​

命名空间 GameCore.Event

csharp
public abstract class EventEffect : ITriggerEvent<EventEffect>

构造函数 ​

EventEffect 仅服务端 ​

csharp
protected EventEffect(Effect effect)

属性 ​

Effect 仅服务端 ​

csharp
public Effect Effect { get; }

EventEffectExecuted 仅服务端 ​

命名空间 GameCore.Event

csharp
public class EventEffectExecuted : EventEffect, ITriggerEvent<EventEffectExecuted>

构造函数 ​

EventEffectExecuted 仅服务端 ​

csharp
public EventEffectExecuted(Effect effect)

EventEntity 双端 ​

命名空间 GameCore.Event

csharp
public abstract class EventEntity : ITriggerEvent<EventEntity>

构造函数 ​

EventEntity 双端 ​

csharp
protected EventEntity(Entity entity)

属性 ​

Entity 双端 ​

csharp
public Entity Entity { get; }

Unit 双端 ​

csharp
public Unit? Unit { get; }

HasTriggerUnit 双端 ​

csharp
public bool HasTriggerUnit { get; }

EventEntityDamageTaken 仅服务端 ​

命名空间 GameCore.Event

csharp
public class EventEntityDamageTaken : EventEntity, ITriggerEvent<EventEntityDamageTaken>

构造函数 ​

EventEntityDamageTaken 仅服务端 ​

csharp
public EventEntityDamageTaken(Entity entity, EffectDamage effect)

属性 ​

EffectDamage 仅服务端 ​

csharp
public EffectDamage EffectDamage { get; }

DamageInstance 仅服务端 ​

csharp
public Damage DamageInstance { get; }

DamageCurrent 仅服务端 ​

csharp
public double DamageCurrent { get; }

DamageOriginal 仅服务端 ​

csharp
public double DamageOriginal { get; }

EventEntityDeath 双端 ​

命名空间 GameCore.Event

csharp
public class EventEntityDeath : EventEntity, ITriggerEvent<EventEntityDeath>

构造函数 ​

EventEntityDeath 双端 ​

csharp
public EventEntityDeath(Entity entity, DeathType deathType, IExecutionContext? context = null)

属性 ​

DeathType 双端 ​

csharp
public DeathType DeathType { get; }

Killer 双端 ​

csharp
public Entity? Killer { get; }

KillerUnit 双端 ​

csharp
public Unit? KillerUnit { get; }

EventEntityOrderStage 仅服务端 ​

命名空间 GameCore.Event

csharp
public class EventEntityOrderStage : EventEntity, ITriggerEvent<EventEntityOrderStage>

构造函数 ​

EventEntityOrderStage 仅服务端 ​

csharp
public EventEntityOrderStage(Entity entity, Order order, OrderStage stage)

属性 ​

Order 仅服务端 ​

csharp
public Order Order { get; }

Stage 仅服务端 ​

csharp
public OrderStage Stage { get; }

StagePrevious 仅服务端 ​

csharp
public OrderStage StagePrevious { get; }

Target 仅服务端 ​

csharp
public ITarget Target { get; }

EventEntityPositionChange 仅服务端 ​

命名空间 GameCore.Event

csharp
public abstract class EventEntityPositionChange : EventEntity, ITriggerEvent<EventEntityPositionChange>

构造函数 ​

EventEntityPositionChange 仅服务端 ​

csharp
protected EventEntityPositionChange(Entity entity, bool isMoverMove)

属性 ​

IsMoverMove 仅服务端 ​

csharp
public bool IsMoverMove { get; }

EventEntityPositionChangeEnd 仅服务端 ​

命名空间 GameCore.Event

csharp
public class EventEntityPositionChangeEnd : EventEntityPositionChange, ITriggerEvent<EventEntityPositionChangeEnd>

构造函数 ​

EventEntityPositionChangeEnd 仅服务端 ​

csharp
public EventEntityPositionChangeEnd(Entity entity, bool isMoverMove)

EventEntityPositionChangeStart 仅服务端 ​

命名空间 GameCore.Event

csharp
public class EventEntityPositionChangeStart : EventEntityPositionChange, ITriggerEvent<EventEntityPositionChangeStart>

构造函数 ​

EventEntityPositionChangeStart 仅服务端 ​

csharp
public EventEntityPositionChangeStart(Entity entity, bool isMoverMove)

EventEntityRemove 双端 ​

命名空间 GameCore.Event

csharp
public class EventEntityRemove : EventEntity, ITriggerEvent<EventEntityRemove>

Represents an event that occurs when an entity is removed from the system. For client-side, this event is triggered when the entity is no longer visible to the player. So the timing of this event may differ between server and client.

  • entity — The entity that has been removed.

构造函数 ​

EventEntityRemove 双端 ​

csharp
public EventEntityRemove(Entity entity)

Represents an event that occurs when an entity is removed from the system. For client-side, this event is triggered when the entity is no longer visible to the player. So the timing of this event may differ between server and client.

  • entity — The entity that has been removed.

EventGameCmdResultNotify 双端 ​

命名空间 GameCore.Event

csharp
public class EventGameCmdResultNotify : ITriggerEvent<EventGameCmdResultNotify>

Represents an event that notifies about the result of a game command execution.

  • cmdResult — The result of the command execution.
备注

This event is triggered whenever a command is executed in the game, providing information about whether the command succeeded or failed. It can be used for logging, debugging, or responding to command outcomes.

构造函数 ​

EventGameCmdResultNotify 双端 ​

csharp
public EventGameCmdResultNotify(CmdResult cmdResult)

Represents an event that notifies about the result of a game command execution.

  • cmdResult — The result of the command execution.
备注

This event is triggered whenever a command is executed in the game, providing information about whether the command succeeded or failed. It can be used for logging, debugging, or responding to command outcomes.

属性 ​

CmdResult 双端 ​

csharp
public CmdResult CmdResult { get; }

Gets the result of the command execution.

EventGamePropertyChange 双端 ​

命名空间 GameCore.Event

csharp
public class EventGamePropertyChange : ITriggerEvent<EventGamePropertyChange>

Represents an event that is triggered when a game property changes.

  • property — The game property that changed.
备注

This event allows systems to react to changes in global game properties, enabling dynamic behavior based on game state modifications.

构造函数 ​

EventGamePropertyChange 双端 ​

csharp
public EventGamePropertyChange(PropertyGame property)

Represents an event that is triggered when a game property changes.

  • property — The game property that changed.
备注

This event allows systems to react to changes in global game properties, enabling dynamic behavior based on game state modifications.

属性 ​

Property 双端 ​

csharp
public PropertyGame Property { get; }

Gets the game property that was changed.

EventGameStart 双端 ​

命名空间 GameCore.Event

csharp
public class EventGameStart : ITriggerEvent<EventGameStart>

Represents an event that is triggered when the game starts.

备注

This event is fired once during game initialization after all systems have been set up and the game is ready to begin. It can be used to perform startup actions or initialize game-specific logic.

构造函数 ​

EventGameStart 双端 ​

csharp
public EventGameStart()

EventGameTick 双端 ​

命名空间 GameCore.Event

csharp
public class EventGameTick : ITriggerEvent<EventGameTick>

Represents an event that occurs on each game tick, providing the elapsed time since the last tick.

  • realTimeDeltaInMs —
备注

This event is typically used to track or respond to time-based updates in a game loop. The RealTimeDeltaInMilliseconds property indicates the duration of the tick in milliseconds.

构造函数 ​

EventGameTick 双端 ​

csharp
public EventGameTick(int realTimeDeltaInMs)

Represents an event that occurs on each game tick, providing the elapsed time since the last tick.

  • realTimeDeltaInMs —
备注

This event is typically used to track or respond to time-based updates in a game loop. The RealTimeDeltaInMilliseconds property indicates the duration of the tick in milliseconds.

属性 ​

RealTimeDeltaInMilliseconds 双端 ​

csharp
public int RealTimeDeltaInMilliseconds { get; }

EventHealNotification 仅客户端 ​

命名空间 GameCore.Event

csharp
public class EventHealNotification : ITriggerEvent<EventHealNotification>

客户端版本的治疗通知事件,用于在客户端处理治疗相关的逻辑。如自定义的UI更新、飘字,UI特效等。

备注

在GameDataVital中设置治疗的同步方式。 与服务端的治疗流程区分开来,客户端通过此事件接收治疗通知。

构造函数 ​

EventHealNotification 仅客户端 ​

csharp
public EventHealNotification(Healing healing)

客户端版本的治疗通知事件,用于在客户端处理治疗相关的逻辑。如自定义的UI更新、飘字,UI特效等。

备注

在GameDataVital中设置治疗的同步方式。 与服务端的治疗流程区分开来,客户端通过此事件接收治疗通知。

属性 ​

HealingInstance 仅客户端 ​

csharp
public Healing HealingInstance { get; }

HealAmount 仅客户端 ​

csharp
public double HealAmount { get; }

HealOrigin 仅客户端 ​

csharp
public double HealOrigin { get; }

IsCritical 仅客户端 ​

csharp
public bool IsCritical { get; }

Caster 仅客户端 ​

csharp
public Entity? Caster { get; }

CasterPlayer 仅客户端 ​

csharp
public Player? CasterPlayer { get; }

Target 仅客户端 ​

csharp
public Entity? Target { get; }

VitalData 仅客户端 ​

csharp
public GameDataVital? VitalData { get; }

PropertyVital 仅客户端 ​

csharp
public PropertyVital PropertyVital { get; }

EventItemLevelChange 双端 ​

命名空间 GameCore.Event

csharp
public class EventItemLevelChange : ITriggerEvent<EventItemLevelChange>

构造函数 ​

EventItemLevelChange 双端 ​

csharp
public EventItemLevelChange(Item item, uint level, uint levelPrevious)

属性 ​

Item 双端 ​

csharp
public Item Item { get; }

Level 双端 ​

csharp
public uint Level { get; }

LevelPrevious 双端 ​

csharp
public uint LevelPrevious { get; }

EventItemQualityChange 双端 ​

命名空间 GameCore.Event

csharp
public class EventItemQualityChange : ITriggerEvent<EventItemQualityChange>

构造函数 ​

EventItemQualityChange 双端 ​

csharp
public EventItemQualityChange(Item item, uint quality, uint qualityPrevious)

属性 ​

Item 双端 ​

csharp
public Item Item { get; }

Quality 双端 ​

csharp
public uint Quality { get; }

QualityPrevious 双端 ​

csharp
public uint QualityPrevious { get; }

EventItemSlotChange 双端 ​

命名空间 GameCore.Event

csharp
public class EventItemSlotChange : ITriggerEvent<EventItemSlotChange>

构造函数 ​

EventItemSlotChange 双端 ​

csharp
public EventItemSlotChange(ItemPickable item, InventorySlot? slot, InventorySlot? slotPrevious)

属性 ​

Item 双端 ​

csharp
public ItemPickable Item { get; }

Slot 双端 ​

csharp
public InventorySlot? Slot { get; }

SlotPrevious 双端 ​

csharp
public InventorySlot? SlotPrevious { get; }

SourceSlot 双端 ​

csharp
public InventorySlot? SourceSlot { get; init; }

获取物品入栏前所在的槽位;跨栏移动时保留移出前的来源。

备注

用于区分新获得物品与同一玩家物品栏之间的移动。

EventItemStackChange 双端 ​

命名空间 GameCore.Event

csharp
public class EventItemStackChange : ITriggerEvent<EventItemStackChange>

构造函数 ​

EventItemStackChange 双端 ​

csharp
public EventItemStackChange(ItemPickable item, uint stack, uint stackPrevious)

属性 ​

Item 双端 ​

csharp
public ItemPickable Item { get; }

Stack 双端 ​

csharp
public uint Stack { get; }

StackPrevious 双端 ​

csharp
public uint StackPrevious { get; }

SourceCarrier 双端 ​

csharp
public Unit? SourceCarrier { get; init; }

堆叠合并时的来源载体;直接修改堆叠数量时为空。

EventPlayer 双端 ​

命名空间 GameCore.Event

csharp
public abstract class EventPlayer : ITriggerEvent<EventPlayer>

构造函数 ​

EventPlayer 双端 ​

csharp
protected EventPlayer(Player player)

属性 ​

Player 双端 ​

csharp
public Player Player { get; }

EventPlayerConnectionRestored 仅服务端 ​

命名空间 GameCore.Event

csharp
public class EventPlayerConnectionRestored : EventPlayerUser, ITriggerEvent<EventPlayerConnectionRestored>

Represents an event that is triggered when a temporarily unresponsive connection becomes responsive again.

构造函数 ​

EventPlayerConnectionRestored 仅服务端 ​

csharp
public EventPlayerConnectionRestored(Player player, User user)

Represents an event that is triggered when a temporarily unresponsive connection becomes responsive again.

EventPlayerConnectionUnresponsive 仅服务端 ​

命名空间 GameCore.Event

csharp
public class EventPlayerConnectionUnresponsive : EventPlayerUser, ITriggerEvent<EventPlayerConnectionUnresponsive>

Represents an event triggered when a player's connection becomes temporarily unresponsive.

备注

This event indicates a temporary connection pause / loss of responsiveness, not a deliberate user idle action.

构造函数 ​

EventPlayerConnectionUnresponsive 仅服务端 ​

csharp
public EventPlayerConnectionUnresponsive(Player player, User user)

Represents an event triggered when a player's connection becomes temporarily unresponsive.

备注

This event indicates a temporary connection pause / loss of responsiveness, not a deliberate user idle action.

EventPlayerInput 仅服务端 ​

命名空间 GameCore.Event

csharp
public abstract class EventPlayerInput : EventPlayer

构造函数 ​

EventPlayerInput 仅服务端 ​

csharp
protected EventPlayerInput(Player player)

属性 ​

Modifiers 仅服务端 ​

csharp
public required GameCore.Platform.Urho.VirtualKeyModifiers Modifiers { get; init; }

The virtual key modifiers, such as Shift, Ctrl, or Alt, that were pressed when the event occurred.

PointerButtons 仅服务端 ​

csharp
public required PointerButtons PointerButtons { get; init; }

The pointer buttons that were pressed when the event occurred. For mouse events, this indicates which mouse buttons were pressed. For finger events, differentiate between fingers by using the touching ID.

EventPlayerKey 仅服务端 ​

命名空间 GameCore.Event

csharp
public abstract class EventPlayerKey : EventPlayerInput

构造函数 ​

EventPlayerKey 仅服务端 ​

csharp
protected EventPlayerKey(Player player)

属性 ​

Key 仅服务端 ​

csharp
public required VirtualKey Key { get; init; }

The virtual key that triggered the event.

EventPlayerKeyDown 仅服务端 ​

命名空间 GameCore.Event

csharp
public class EventPlayerKeyDown : EventPlayerKey, ITriggerEvent<EventPlayerKeyDown>

构造函数 ​

EventPlayerKeyDown 仅服务端 ​

csharp
public EventPlayerKeyDown(Player player)

EventPlayerKeyDown 仅服务端 ​

csharp
public EventPlayerKeyDown(Player player, VirtualKey key, GameCore.Platform.Urho.VirtualKeyModifiers modifiers, PointerButtons pointerButtons, bool isRepeat)

属性 ​

IsRepeat 仅服务端 ​

csharp
public required bool IsRepeat { get; init; }

Indicates whether the event was triggered by a key long press.

EventPlayerKeyUp 仅服务端 ​

命名空间 GameCore.Event

csharp
public class EventPlayerKeyUp : EventPlayerKey, ITriggerEvent<EventPlayerKeyUp>

构造函数 ​

EventPlayerKeyUp 仅服务端 ​

csharp
public EventPlayerKeyUp(Player player)

EventPlayerKeyUp 仅服务端 ​

csharp
public EventPlayerKeyUp(Player player, VirtualKey key, GameCore.Platform.Urho.VirtualKeyModifiers modifiers, PointerButtons pointerButtons)

EventPlayerMainUnitChanged 仅客户端 ​

命名空间 GameCore.Event

csharp
public class EventPlayerMainUnitChanged : ITriggerEvent<EventPlayerMainUnitChanged>

构造函数 ​

EventPlayerMainUnitChanged 仅客户端 ​

csharp
public EventPlayerMainUnitChanged(Player player, Unit? unit)

属性 ​

Player 仅客户端 ​

csharp
public Player Player { get; }

Unit 仅客户端 ​

csharp
public Unit? Unit { get; }

EventPlayerPropertyChange 双端 ​

命名空间 GameCore.Event

csharp
public class EventPlayerPropertyChange : EventPlayer, ITriggerEvent<EventPlayerPropertyChange>

构造函数 ​

EventPlayerPropertyChange 双端 ​

csharp
public EventPlayerPropertyChange(Player player, PropertyPlayer property)

属性 ​

Property 双端 ​

csharp
public PropertyPlayer Property { get; }

EventPlayerStatusChanged 仅服务端 ​

命名空间 GameCore.Event

csharp
public class EventPlayerStatusChanged : EventPlayer, ITriggerEvent<EventPlayerStatusChanged>

构造函数 ​

EventPlayerStatusChanged 仅服务端 ​

csharp
public EventPlayerStatusChanged(Player player, PlayerStatus status, PlayerStatus oldStatus)

属性 ​

Status 仅服务端 ​

csharp
public PlayerStatus Status { get; }

OldStatus 仅服务端 ​

csharp
public PlayerStatus OldStatus { get; }

EventPlayerUIPropertyChange 双端 ​

命名空间 GameCore.Event

csharp
public class EventPlayerUIPropertyChange : ITriggerEvent<EventPlayerUIPropertyChange>

玩家UI属性变更事件

  • player — 发生属性变更的玩家
  • property — 变更的UI属性

构造函数 ​

EventPlayerUIPropertyChange 双端 ​

csharp
public EventPlayerUIPropertyChange(Player player, PropertyPlayerUI property)

玩家UI属性变更事件

  • player — 发生属性变更的玩家
  • property — 变更的UI属性

属性 ​

Player 双端 ​

csharp
public Player Player { get; }

发生属性变更的玩家

Property 双端 ​

csharp
public PropertyPlayerUI Property { get; }

变更的UI属性

EventPlayerUser 仅服务端 ​

命名空间 GameCore.Event

csharp
public abstract class EventPlayerUser : EventPlayer, ITriggerEvent<EventPlayerUser>

构造函数 ​

EventPlayerUser 仅服务端 ​

csharp
protected EventPlayerUser(Player player, User user)

属性 ​

User 仅服务端 ​

csharp
public User User { get; }

EventPlayerUserAbandonReconnect 仅服务端 ​

命名空间 GameCore.Event

csharp
public class EventPlayerUserAbandonReconnect : EventPlayerUser, ITriggerEvent<EventPlayerUserAbandonReconnect>

构造函数 ​

EventPlayerUserAbandonReconnect 仅服务端 ​

csharp
public EventPlayerUserAbandonReconnect(Player player, User user)

EventPlayerUserActivelyQuit 仅服务端 ​

命名空间 GameCore.Event

csharp
public class EventPlayerUserActivelyQuit : EventPlayerUser, ITriggerEvent<EventPlayerUserActivelyQuit>

构造函数 ​

EventPlayerUserActivelyQuit 仅服务端 ​

csharp
public EventPlayerUserActivelyQuit(Player player, User user)

EventPlayerUserConnected 仅服务端 ​

命名空间 GameCore.Event

csharp
public class EventPlayerUserConnected : EventPlayerUser, ITriggerEvent<EventPlayerUserConnected>

Represents an event that occurs when a player connects, providing information about the current user and optionally the previous user associated with the player.

  • player —
  • user —
  • oldUser —
备注

This event is triggered when a player establishes a connection, allowing subscribers to handle scenarios such as user transitions or initial user assignments.

构造函数 ​

EventPlayerUserConnected 仅服务端 ​

csharp
public EventPlayerUserConnected(Player player, User user, User? oldUser)

Represents an event that occurs when a player connects, providing information about the current user and optionally the previous user associated with the player.

  • player —
  • user —
  • oldUser —
备注

This event is triggered when a player establishes a connection, allowing subscribers to handle scenarios such as user transitions or initial user assignments.

属性 ​

OldUser 仅服务端 ​

csharp
public User? OldUser { get; }

EventPlayerUserDisconnected 仅服务端 ​

命名空间 GameCore.Event

csharp
public class EventPlayerUserDisconnected : EventPlayerUser, ITriggerEvent<EventPlayerUserDisconnected>

构造函数 ​

EventPlayerUserDisconnected 仅服务端 ​

csharp
public EventPlayerUserDisconnected(Player player, User user)

EventPlayerUserNameFetched 仅服务端 ​

命名空间 GameCore.Event

csharp
public class EventPlayerUserNameFetched : EventPlayerUser, ITriggerEvent<EventPlayerUserNameFetched>

构造函数 ​

EventPlayerUserNameFetched 仅服务端 ​

csharp
public EventPlayerUserNameFetched(Player player, User user, string name)

属性 ​

Name 仅服务端 ​

csharp
public string Name { get; }

EventPropertyObject 双端 ​

命名空间 GameCore.Event

csharp
public abstract class EventPropertyObject : ITriggerEvent<EventPropertyObject>

PropertyObject 事件基类

  • propertyObject — 相关的 PropertyObject

构造函数 ​

EventPropertyObject 双端 ​

csharp
protected EventPropertyObject(PropertyObject propertyObject)

PropertyObject 事件基类

  • propertyObject — 相关的 PropertyObject

属性 ​

PropertyObject 双端 ​

csharp
public PropertyObject PropertyObject { get; }

获取触发事件的 PropertyObject

Owner 双端 ​

csharp
public Player Owner { get; }

获取 PropertyObject 所属的玩家

EventPropertyObjectRemove 双端 ​

命名空间 GameCore.Event

csharp
public class EventPropertyObjectRemove : EventPropertyObject, ITriggerEvent<EventPropertyObjectRemove>

PropertyObject 被移除/销毁时触发的事件

  • propertyObject — 被移除的 PropertyObject
备注

此事件在 PropertyObject 被销毁时触发(双端)。 用户可以监听此事件来清理 UI、释放资源或执行其他清理逻辑。 典型应用场景: 多人卡牌游戏:在卡牌销毁时移除卡牌 UI 并播放动画 在线回合制策略:在棋子销毁时从棋盘上移除 联机背包系统:在物品销毁时更新背包 UI 2D 射击游戏:在子弹销毁时播放消失特效 资源管理:跟踪活跃对象数量,进行统计和日志记录 使用示例: // 订阅事件 Game.Instance.Subscribe<EventPropertyObjectRemove>(OnPropertyObjectRemove); void OnPropertyObjectRemove(EventPropertyObjectRemove evt) { var obj = evt.PropertyObject; // 根据类别执行不同的清理逻辑 switch (obj.Category) { case 1: // 卡牌 DestroyCardUI(obj.Id); break; case 2: // 道具 DestroyItemUI(obj.Id); break; } } // FlappyBird 示例:管道消失动画 Game.Instance.Subscribe<EventPropertyObjectRemove>(evt => { if (evt.PropertyObject.Category == CategoryPipe) { PlayPipeDisappearEffect(evt.PropertyObject); } });

构造函数 ​

EventPropertyObjectRemove 双端 ​

csharp
public EventPropertyObjectRemove(PropertyObject propertyObject)

PropertyObject 被移除/销毁时触发的事件

  • propertyObject — 被移除的 PropertyObject
备注

此事件在 PropertyObject 被销毁时触发(双端)。 用户可以监听此事件来清理 UI、释放资源或执行其他清理逻辑。 典型应用场景: 多人卡牌游戏:在卡牌销毁时移除卡牌 UI 并播放动画 在线回合制策略:在棋子销毁时从棋盘上移除 联机背包系统:在物品销毁时更新背包 UI 2D 射击游戏:在子弹销毁时播放消失特效 资源管理:跟踪活跃对象数量,进行统计和日志记录 使用示例: // 订阅事件 Game.Instance.Subscribe<EventPropertyObjectRemove>(OnPropertyObjectRemove); void OnPropertyObjectRemove(EventPropertyObjectRemove evt) { var obj = evt.PropertyObject; // 根据类别执行不同的清理逻辑 switch (obj.Category) { case 1: // 卡牌 DestroyCardUI(obj.Id); break; case 2: // 道具 DestroyItemUI(obj.Id); break; } } // FlappyBird 示例:管道消失动画 Game.Instance.Subscribe<EventPropertyObjectRemove>(evt => { if (evt.PropertyObject.Category == CategoryPipe) { PlayPipeDisappearEffect(evt.PropertyObject); } });

EventPropertyObjectReplicated 仅客户端 ​

命名空间 GameCore.Event

csharp
public class EventPropertyObjectReplicated : EventPropertyObject, ITriggerEvent<EventPropertyObjectReplicated>

PropertyObject 被复制到客户端时触发的事件

  • propertyObject — 被复制的 PropertyObject
备注

此事件在客户端接收到服务端创建的 PropertyObject 并完成复制后触发。 用户可以监听此事件来初始化客户端 UI 或执行其他客户端逻辑。 典型应用场景: 多人卡牌游戏:在卡牌复制到客户端时创建卡牌 UI 在线回合制策略:在棋子复制到客户端时显示在棋盘上 联机背包系统:在物品复制到客户端时更新背包 UI 使用示例: // 订阅事件 Game.Instance.Subscribe<EventPropertyObjectReplicated>(OnPropertyObjectReplicated); void OnPropertyObjectReplicated(EventPropertyObjectReplicated evt) { var obj = evt.PropertyObject; // 根据类别创建对应的 UI switch (obj.Category) { case 1: // 卡牌 CreateCardUI(obj); break; case 2: // 道具 CreateItemUI(obj); break; } }

构造函数 ​

EventPropertyObjectReplicated 仅客户端 ​

csharp
public EventPropertyObjectReplicated(PropertyObject propertyObject)

PropertyObject 被复制到客户端时触发的事件

  • propertyObject — 被复制的 PropertyObject
备注

此事件在客户端接收到服务端创建的 PropertyObject 并完成复制后触发。 用户可以监听此事件来初始化客户端 UI 或执行其他客户端逻辑。 典型应用场景: 多人卡牌游戏:在卡牌复制到客户端时创建卡牌 UI 在线回合制策略:在棋子复制到客户端时显示在棋盘上 联机背包系统:在物品复制到客户端时更新背包 UI 使用示例: // 订阅事件 Game.Instance.Subscribe<EventPropertyObjectReplicated>(OnPropertyObjectReplicated); void OnPropertyObjectReplicated(EventPropertyObjectReplicated evt) { var obj = evt.PropertyObject; // 根据类别创建对应的 UI switch (obj.Category) { case 1: // 卡牌 CreateCardUI(obj); break; case 2: // 道具 CreateItemUI(obj); break; } }

EventRegion 双端 ​

命名空间 GameCore.Event

csharp
public abstract class EventRegion : ITriggerEvent<EventRegion>

构造函数 ​

EventRegion 双端 ​

csharp
protected EventRegion(Region region, Entity entity)

属性 ​

Region 双端 ​

csharp
public Region Region { get; }

Entity 双端 ​

csharp
public Entity Entity { get; }

Unit 双端 ​

csharp
public Unit? Unit { get; }

EventRegionEnter 仅服务端 ​

命名空间 GameCore.Event

csharp
public class EventRegionEnter : EventRegion, ITriggerEvent<EventRegionEnter>

构造函数 ​

EventRegionEnter 仅服务端 ​

csharp
public EventRegionEnter(Region region, Entity entity)

EventRegionExit 仅服务端 ​

命名空间 GameCore.Event

csharp
public class EventRegionExit : EventRegion, ITriggerEvent<EventRegionExit>

构造函数 ​

EventRegionExit 仅服务端 ​

csharp
public EventRegionExit(Region region, Entity entity)

EventReward 仅服务端 ​

命名空间 GameCore.Event

csharp
public abstract class EventReward : ITriggerEvent<EventReward>

奖励事件基类

构造函数 ​

EventReward 仅服务端 ​

csharp
protected EventReward(Reward reward)

奖励事件基类

属性 ​

Reward 仅服务端 ​

csharp
public Reward Reward { get; }

EventRewardExecuted 仅服务端 ​

命名空间 GameCore.Event

csharp
public class EventRewardExecuted : EventReward, ITriggerEvent<EventRewardExecuted>

奖励执行完成事件

备注

当奖励执行完成时触发。 可以通过类型判断获取具体的奖励信息: eventAggregator.Subscribe<EventRewardExecuted>(evt => { if (evt.Reward is RewardItem rewardItem) { // 访问物品奖励信息 foreach (var item in rewardItem.CreatedItems) { // 处理每个创建的物品 } } else if (evt.Reward is RewardEffect rewardEffect) { // 访问效果奖励信息 var effect = rewardEffect.CreatedEffect; } });

构造函数 ​

EventRewardExecuted 仅服务端 ​

csharp
public EventRewardExecuted(Reward reward)

奖励执行完成事件

备注

当奖励执行完成时触发。 可以通过类型判断获取具体的奖励信息: eventAggregator.Subscribe<EventRewardExecuted>(evt => { if (evt.Reward is RewardItem rewardItem) { // 访问物品奖励信息 foreach (var item in rewardItem.CreatedItems) { // 处理每个创建的物品 } } else if (evt.Reward is RewardEffect rewardEffect) { // 访问效果奖励信息 var effect = rewardEffect.CreatedEffect; } });

EventScene 双端 ​

命名空间 GameCore.Event

csharp
public abstract class EventScene : ITriggerEvent<EventScene>

构造函数 ​

EventScene 双端 ​

csharp
protected EventScene(Scene scene)

属性 ​

Scene 双端 ​

csharp
public Scene? Scene { get; }

EventSceneLoadEnd 双端 ​

命名空间 GameCore.Event

csharp
public class EventSceneLoadEnd : EventScene, ITriggerEvent<EventSceneLoadEnd>

构造函数 ​

EventSceneLoadEnd 双端 ​

csharp
public EventSceneLoadEnd(Scene scene)

EventSceneLoadStart 双端 ​

命名空间 GameCore.Event

csharp
public class EventSceneLoadStart : EventScene, ITriggerEvent<EventSceneLoadStart>

构造函数 ​

EventSceneLoadStart 双端 ​

csharp
public EventSceneLoadStart(Scene scene)

EventSceneReplicated 仅客户端 ​

命名空间 GameCore.Event

csharp
public class EventSceneReplicated : EventScene, ITriggerEvent<EventSceneReplicated>

动态 SCE 场景副本已复制到客户端时触发。

构造函数 ​

EventSceneReplicated 仅客户端 ​

csharp
public EventSceneReplicated(Scene scene)

动态 SCE 场景副本已复制到客户端时触发。

EventServerDisconnected 仅客户端 ​

命名空间 GameCore.Event

csharp
public class EventServerDisconnected : ITriggerEvent<EventServerDisconnected>

Represents a transition from an established Host connection to a disconnected state.

构造函数 ​

EventServerDisconnected 仅客户端 ​

csharp
public EventServerDisconnected()

EventUnit 双端 ​

命名空间 GameCore.Event

csharp
public abstract class EventUnit : ITriggerEvent<EventUnit>

构造函数 ​

EventUnit 双端 ​

csharp
protected EventUnit(Unit unit)

字段 ​

Unit 双端 ​

csharp
public Unit? Unit

EventUnitCreate 双端 ​

命名空间 GameCore.Event

csharp
public class EventUnitCreate : EventUnit, ITriggerEvent<EventUnitCreate>

Represents an event that occurs when a new unit is created. For client-side, it is triggered when a unit is created locally, Which means when the unit is appeared in the client's vision. So the timing of this event may be different from the server-side.

  • unit — The unit instance that was created and is associated with this event. Cannot be null.

构造函数 ​

EventUnitCreate 双端 ​

csharp
public EventUnitCreate(Unit unit)

Represents an event that occurs when a new unit is created. For client-side, it is triggered when a unit is created locally, Which means when the unit is appeared in the client's vision. So the timing of this event may be different from the server-side.

  • unit — The unit instance that was created and is associated with this event. Cannot be null.

EventUnitPropertyChange 双端 ​

命名空间 GameCore.Event

csharp
public class EventUnitPropertyChange : EventUnit, ITriggerEvent<EventUnitPropertyChange>

构造函数 ​

EventUnitPropertyChange 双端 ​

csharp
public EventUnitPropertyChange(Unit unit, PropertyUnit property)

属性 ​

Property 双端 ​

csharp
public PropertyUnit Property { get; }

EventUnitPropertyComplexFinalChange 双端 ​

命名空间 GameCore.Event

csharp
public class EventUnitPropertyComplexFinalChange : EventUnit, ITriggerEvent<EventUnitPropertyComplexFinalChange>

构造函数 ​

EventUnitPropertyComplexFinalChange 双端 ​

csharp
public EventUnitPropertyComplexFinalChange(Unit unit, IGameLink<GameDataUnitProperty> property, double value)

属性 ​

Property 双端 ​

csharp
public IGameLink<GameDataUnitProperty> Property { get; }

NewValue 双端 ​

csharp
public double NewValue { get; }

EventUnitRevive 双端 ​

命名空间 GameCore.Event

csharp
public class EventUnitRevive : EventUnit, ITriggerEvent<EventUnitRevive>

构造函数 ​

EventUnitRevive 双端 ​

csharp
public EventUnitRevive(Unit unit)