chore: initial commit
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace MoreMountains.Tools
|
||||
{
|
||||
/// <summary>
|
||||
/// Use this class to enable or disable other gameobjects automatically on Start or Awake
|
||||
/// </summary>
|
||||
|
||||
[AddComponentMenu("More Mountains/Tools/Activation/MMActivationOnStart")]
|
||||
public class MMActivationOnStart : MonoBehaviour
|
||||
{
|
||||
/// The possible modes that define whether this should run at Awake or Start
|
||||
public enum Modes { Awake, Start }
|
||||
/// the selected mode for this instance
|
||||
public Modes Mode = Modes.Start;
|
||||
/// if true, objects will be activated on start, disabled otherwise
|
||||
public bool StateOnStart = true;
|
||||
/// the list of gameobjects whose active state will be affected on start
|
||||
public List<GameObject> TargetObjects;
|
||||
|
||||
/// <summary>
|
||||
/// On Awake, we set our state if needed
|
||||
/// </summary>
|
||||
protected virtual void Awake()
|
||||
{
|
||||
if (Mode != Modes.Awake)
|
||||
{
|
||||
return;
|
||||
}
|
||||
SetState();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// On Start, we set our state if needed
|
||||
/// </summary>
|
||||
protected virtual void Start()
|
||||
{
|
||||
if (Mode != Modes.Start)
|
||||
{
|
||||
return;
|
||||
}
|
||||
SetState();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the state of all target objects
|
||||
/// </summary>
|
||||
protected virtual void SetState()
|
||||
{
|
||||
foreach (GameObject obj in TargetObjects)
|
||||
{
|
||||
obj.SetActive(StateOnStart);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user