您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
46 行
1.3 KiB
46 行
1.3 KiB
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
using NaughtyAttributes;
|
|
|
|
namespace GameplayIngredients.Logic
|
|
{
|
|
public class EditorOnlyLogic : LogicBase
|
|
{
|
|
public enum Mode
|
|
{
|
|
PlayerAndEditor,
|
|
EditorOnly,
|
|
PlayerOnly
|
|
}
|
|
|
|
[Tooltip("Disables when using Play From Here")]
|
|
public bool DisableOnPlayFromHere = false;
|
|
|
|
public Mode ExecutionPath = Mode.PlayerAndEditor;
|
|
|
|
[ReorderableList]
|
|
public Callable[] OnExecute;
|
|
|
|
public override void Execute(GameObject instigator = null)
|
|
{
|
|
bool acceptPlayFromHere = !(DisableOnPlayFromHere && (PlayerPrefs.GetInt("PlayFromHere") == 1));
|
|
|
|
switch(ExecutionPath)
|
|
{
|
|
case Mode.PlayerAndEditor:
|
|
if (acceptPlayFromHere)
|
|
Callable.Call(OnExecute, instigator);
|
|
break;
|
|
case Mode.EditorOnly:
|
|
if (Application.isEditor && acceptPlayFromHere)
|
|
Callable.Call(OnExecute, instigator);
|
|
break;
|
|
|
|
case Mode.PlayerOnly:
|
|
if (!Application.isEditor && acceptPlayFromHere)
|
|
Callable.Call(OnExecute, instigator);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|