Gameplay Ingredients是一组用于 Unity 游戏的运行时和编辑器工具:一组脚本的集合,可在制作游戏和原型时简化简单的任务。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

75 行
2.5 KiB

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using NaughtyAttributes;
namespace GameplayIngredients
{
public class GameplayIngredientsSettings : ScriptableObject
{
public string[] excludedeManagers { get { return m_ExcludedManagers; } }
public bool verboseCalls { get { return m_VerboseCalls; } }
public bool allowUpdateCalls { get { return m_AllowUpdateCalls; } }
public bool disableWelcomeScreenAutoStart { get { return m_DisableWelcomeScreenAutoStart; } }
[BoxGroup("Editor")]
[SerializeField]
protected bool m_DisableWelcomeScreenAutoStart;
[BoxGroup("Managers")]
[SerializeField, ReorderableList, TypeDropDown(typeof(Manager))]
protected string[] m_ExcludedManagers;
[BoxGroup("Callables")]
[SerializeField, InfoBox("Verbose Calls enable logging at runtime, this can lead to performance drop, use only when debugging.", EInfoBoxType.Warning)]
private bool m_VerboseCalls = false;
[BoxGroup("Callables")]
[SerializeField, InfoBox("Per-update calls should be avoided due to high performance impact. Enable and use with care, only if strictly necessary.", EInfoBoxType.Warning)]
private bool m_AllowUpdateCalls = false;
const string kAssetName = "GameplayIngredientsSettings";
public static GameplayIngredientsSettings currentSettings
{
get
{
if (hasSettingAsset)
return Resources.Load<GameplayIngredientsSettings>(kAssetName);
else
return defaultSettings;
}
}
public static bool hasSettingAsset
{
get
{
return Resources.Load<GameplayIngredientsSettings>(kAssetName) != null;
}
}
public static GameplayIngredientsSettings defaultSettings
{
get
{
if (s_DefaultSettings == null)
s_DefaultSettings = CreateDefaultSettings();
return s_DefaultSettings;
}
}
static GameplayIngredientsSettings s_DefaultSettings;
static GameplayIngredientsSettings CreateDefaultSettings()
{
var defaultAsset = CreateInstance<GameplayIngredientsSettings>();
defaultAsset.m_VerboseCalls = false;
defaultAsset.m_ExcludedManagers = new string[0];
defaultAsset.m_DisableWelcomeScreenAutoStart = false;
return defaultAsset;
}
}
}