Newer
Older
Marco Zimmer
committed
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using static StageStatic;
/// <summary>
/// Attached to prefab Def_Stage
/// </summary>
Marco Zimmer
committed
public class StageBehaviour : MonoBehaviour
{
/// <summary>
/// Re-loads <see cref="StageStatic.stage"/> to display all <see cref="Fact">Facts</see>.
/// </summary>
Marco Zimmer
committed
{
StageStatic.LoadInitStage(true /*StageStatic.stage.player_record.solved*/, gameObject);
Marco Zimmer
committed
}
/// <summary>
/// Resets changes made by <see cref="StageStatic.stage"/> and frees ressources.
/// </summary>
Marco Zimmer
committed
private void OnDestroy()
{
// StageStatic.stage.solution.hardreset(invoke_event: false); NO! keep in memory!
StageStatic.stage?.factState.hardreset(invoke_event: false);
Marco Zimmer
committed
}
/// <summary>
/// Wrapps <see cref="SetMode(Mode, GameObject)"/>. Needed as endpoint for unity buttons.
/// </summary>
/// <param name="create"><c>SetMode(create ? Mode.Create : Mode.Play);</c></param>
Marco Zimmer
committed
public void SetMode(bool create)
{
SetMode(create ? Mode.Create : Mode.Play);
}
/// <summary>
/// Wrapps <see cref="StageStatic.SetMode(Mode, GameObject)"/>. Defaulting <paramref name="obj"/> to <see cref="this.gameObject"/>.
/// </summary>
/// \copydetails StageStatic.SetMode(Mode, GameObject)
Marco Zimmer
committed
public void SetMode(Mode mode, GameObject obj = null)
{
obj ??= gameObject;
StageStatic.SetMode(mode, obj);
}
}