OnJoinedFamily

From Intrigues Wiki

onJoinedFamily Event in Actor Class

Overview

The onJoinedFamily event in the Actor class is activated when the actor becomes a member of a family. This event is crucial in games where family dynamics significantly influence character development, gameplay mechanics, and the unfolding of the narrative.

Description

  • Event Type: Action<Family>
  • Functionality: The event is triggered when an actor joins a family. It provides the Family object representing the family joined. This setup enables specific actions or logic to be implemented in response to the actor's new family affiliation.

Usage

The event is typically used to trigger updates or custom actions within the game when an actor's family status changes. This can involve adjusting character roles, updating story elements, or changing interaction dynamics to reflect the new family membership.

Subscribing to the Event

To handle changes in an actor's family status, a method with the signature Action<Family> should be subscribed to the onJoinedFamily event. Proper unsubscribing from the event is essential for optimal game performance and to prevent memory leaks.

Example of Usage

public class FamilyJoinHandler : MonoBehaviour {
    public Actor actor;

    void Start() {
        if (actor != null) {
            actor.onJoinedFamily += OnJoinedFamily;
        }
    }

    private void OnJoinedFamily(Family newFamily) {
        Debug.Log($"{actor.FullName} has joined the family: {newFamily.FamilyName}.");
        // Implement logic to handle the actor's new family affiliation
    }

    void OnDestroy() {
        if (actor != null) {
            actor.onJoinedFamily -= OnJoinedFamily;
        }
    }
}

In this Unity script example, the FamilyJoinHandler is attached to a GameObject and subscribes to the onJoinedFamily event of an Actor. When the actor joins a new family, the OnJoinedFamily method is called, enabling the game to respond appropriately to the new family connection.

Remarks

  • The onJoinedFamily event is essential for creating dynamic and engaging gameplay experiences, particularly in titles where family relationships play a key role.
  • Handling this event effectively can add depth and richness to the game narrative, offering a more immersive and contextually rich environment.
  • This event is especially relevant in role-playing games, simulation games, and other narrative-driven games where family affiliations and dynamics are central to character development and story progression.