OnActorRoleChanged
onActorRoleChanged
Event in Clan Class
Overview
The onActorRoleChanged
event in the Clan class is triggered when there is a change in an actor's role within the clan. This event plays a critical role in tracking and responding to changes in the responsibilities and status of clan members.
Event Definition
public Action<Actor, Role> onActorRoleChanged;
Description
- Delegate Type:
Action<Actor, Role>
- Purpose: Notifies when an actor's role in the clan is changed.
- Parameters:
Actor
: The actor whose role has changed.Role
: The previous role held by the actor.
Functionality
- The
onActorRoleChanged
event is raised when there is a change in the role of an actor within the clan. - It provides the
Actor
object and theRole
object, representing the actor and their old role, respectively. - This event allows for dynamic updates to game elements such as clan hierarchies, actor profiles, or triggering specific gameplay mechanics or narrative elements associated with role changes.
Usage
This event is essential for scenarios where role assignments within a clan are crucial to gameplay dynamics, resource management, or storyline progression. It ensures that any change in an actor's role is consistently reflected and acted upon throughout the game.
Example of Usage
public class ClanRoleChangeHandler : MonoBehaviour {
void Start() {
Clan playerClan = IM.Player.Clan;
if (playerClan != null) {
playerClan.onActorRoleChanged += HandleRoleChange;
}
}
private void HandleRoleChange(Actor actor, Role oldRole) {
string newRoleName = actor.Role.RoleName;
Debug.Log($"Role change in player's clan: {actor.Name} changed from {oldRole.RoleName} to {newRoleName}");
}
void OnDestroy() {
if (IM.Player.Clan != null) {
playerClan.onActorRoleChanged -= HandleRoleChange;
}
}
}
Description
- This example demonstrates subscribing to the
onActorRoleChanged
event for the player's clan. - When an actor's role changes, the
HandleRoleChange
method is called, logging the actor's name and their transition from the old role to the new role. - It also ensures to unsubscribe from the event upon the destruction of the GameObject to prevent memory leaks or unintended behavior.
Remarks
- The
onActorRoleChanged
event is vital for maintaining a realistic portrayal of clan dynamics and hierarchy. - It allows for a responsive and immersive gameplay experience, where role changes within a clan can have significant implications.