Skip to content
Snippets Groups Projects
StageBehaviour.cs 1.51 KiB
Newer Older
  • Learn to ignore specific revisions
  • using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using static StageStatic;
    
    
    Marco Zimmer's avatar
    Marco Zimmer committed
    /// <summary>
    /// Attached to prefab Def_Stage
    /// </summary>
    
    public class StageBehaviour : MonoBehaviour
    {
    
    Marco Zimmer's avatar
    Marco Zimmer committed
        /// <summary>
        /// Re-loads <see cref="StageStatic.stage"/> to  display all <see cref="Fact">Facts</see>.
        /// </summary>
    
            StageStatic.LoadInitStage(true /*StageStatic.stage.player_record.solved*/, gameObject);
    
    Marco Zimmer's avatar
    Marco Zimmer committed
        /// <summary>
        /// Resets changes made by <see cref="StageStatic.stage"/> and frees ressources.
        /// </summary>
    
    Marco Zimmer's avatar
    Marco Zimmer committed
            StageStatic.SetMode(Mode.Play); // no Mode.Create
    
            // StageStatic.stage.solution.hardreset(invoke_event: false); NO! keep in memory!
    
            StageStatic.stage?.factState.hardreset(invoke_event: false);
    
    Marco Zimmer's avatar
    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>
    
        public void SetMode(bool create)
        {
            SetMode(create ? Mode.Create : Mode.Play);
        }
    
    
    Marco Zimmer's avatar
    Marco Zimmer committed
        /// <summary>
        /// Wrapps <see cref="StageStatic.SetMode(Mode, GameObject)"/>. Defaulting <paramref name="obj"/> to <see cref="this.gameObject"/>.
        /// </summary>
        /// \copydetails StageStatic.SetMode(Mode, GameObject)
    
        public void SetMode(Mode mode, GameObject obj = null)
        {
            obj ??= gameObject;
            StageStatic.SetMode(mode, obj);
        }
    }