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

44 行
1.2 KiB

using UnityEngine;
using NaughtyAttributes;
namespace GameplayIngredients.Actions
{
[AddComponentMenu(ComponentMenu.actionsPath + "Log Action")]
[Callable("Application", "Actions/ic-action-log.png")]
public class LogAction : ActionBase
{
const string kHelpText = @"Wildcards:
%INSTIGATOR% : Instigator Name
%TIME% : Time (since startup)
";
[Multiline, InfoBox(kHelpText, EInfoBoxType.Normal)]
public string LogText = "Instigator = %INSTIGATOR%";
public LogType type = LogType.Log;
public override void Execute(GameObject instigator = null)
{
Debug.unityLogger.Log(type, FormatString(instigator));
}
string FormatString(GameObject instigator)
{
string text = LogText;
if(text.Contains("%INSTIGATOR%"))
{
text = text.Replace("%INSTIGATOR%", instigator == null ? "NULL" : instigator.name);
}
if(text.Contains("%TIME%"))
{
text = text.Replace("%TIME%", Time.time.ToString());
}
return text;
}
public override string GetDefaultName()
{
return $"Log {type} : '{LogText}'";
}
}
}