OnSchemeStarted: Difference between revisions

From Intrigues Wiki
(Created page with "== <code>onSchemeStarted</code> Event in Actor Class == === Overview === The <code>onSchemeStarted</code> event is an integral part of the <code>Actor</code> class in Unity, designed to handle scenarios when a scheme is initiated by an actor. This event is crucial in games where schemes and strategic actions play a significant role in the gameplay and narrative. === Description === * Event Type: <code>Action<Scheme></code> * Functionality: This event is triggered when...")
 
No edit summary
 
Line 27: Line 27:


     private void OnSchemeStarted(Scheme scheme) {
     private void OnSchemeStarted(Scheme scheme) {
         Debug.Log($"Actor {actor.name} started the scheme: {scheme.Name}");
         Debug.Log($"Actor {actor.FullName} started the scheme: {scheme.SchemeName}");
         // Additional logic to handle the scheme initiation
         // Additional logic to handle the scheme initiation
     }
     }

Latest revision as of 09:39, 24 December 2023

onSchemeStarted Event in Actor Class

Overview

The onSchemeStarted event is an integral part of the Actor class in Unity, designed to handle scenarios when a scheme is initiated by an actor. This event is crucial in games where schemes and strategic actions play a significant role in the gameplay and narrative.

Description

  • Event Type: Action<Scheme>
  • Functionality: This event is triggered whenever the actor associated with this class starts a scheme. It allows for the execution of custom logic or actions in response to the initiation of a scheme.

Usage

This event is used to implement reactive gameplay mechanics or narrative progressions. It can be utilized to update the game's state, alter other characters' behavior, or trigger storyline advancements based on the scheme's initiation.

Subscribing to the Event

To respond to the onSchemeStarted event, a method with a matching signature (Action<Scheme>) needs to be subscribed to it. This is typically done in a MonoBehaviour's Start method and unsubscribed in the OnDestroy method.

Example of Usage

public class SchemeEventListener : MonoBehaviour {
    public Actor actor;

    void Start() {
        if (actor != null) {
            actor.onSchemeStarted += OnSchemeStarted;
        }
    }

    private void OnSchemeStarted(Scheme scheme) {
        Debug.Log($"Actor {actor.FullName} started the scheme: {scheme.SchemeName}");
        // Additional logic to handle the scheme initiation
    }

    void OnDestroy() {
        if (actor != null) {
            actor.onSchemeStarted -= OnSchemeStarted;
        }
    }
}

In this example, a Unity script subscribes to the onSchemeStarted event of an Actor. When the actor initiates a scheme, the OnSchemeStarted method is called, logging the event and allowing for additional response logic.

Remarks

  • Proper handling of event subscriptions and unsubscriptions in Unity is crucial to avoid memory leaks and ensure efficient performance.
  • The onSchemeStarted event adds depth and interactivity to the game, enabling dynamic responses to character-driven actions.
  • This event is particularly useful in role-playing games, strategy games, or any narrative-driven titles where character actions significantly influence the game's direction.