Roman aa6e1ebe90 任务:创建项目,引入部分将会用到的插件和包
1.引入URP
2.引入InputSystem
3.引入Fungus
4.引入DoTween
5.引入CinemaMachine
6.引入BehaviorTree
7.引入BehaviorTree动作包
8.配置了渲染管线资源

🥵🥵🥵🥵🥵
2021-11-21 15:14:51 +08:00

76 lines
2.5 KiB
C#

using UnityEngine;
namespace BehaviorDesigner.Runtime.Tasks.Unity.UnityDebug
{
[TaskDescription("LogFormat is analgous to Debug.LogFormat().\n" +
"It takes format string, substitutes arguments supplied a '{0-4}' and returns success.\n" +
"Any fields or arguments not supplied are ignored." +
"It can be used for debugging.")]
[TaskIcon("{SkinColor}LogIcon.png")]
public class LogFormat : Action
{
[Tooltip("Text format with {0}, {1}, etc")]
public SharedString textFormat;
[Tooltip("Is this text an error?")]
public SharedBool logError;
public SharedVariable arg0;
public SharedVariable arg1;
public SharedVariable arg2;
public SharedVariable arg3;
public override TaskStatus OnUpdate()
{
var paramsArray = buildParamsArray();
// Log the text and return success
if (logError.Value) {
Debug.LogErrorFormat(textFormat.Value, paramsArray);
} else {
Debug.LogFormat(textFormat.Value, paramsArray);
}
return TaskStatus.Success;
}
private object[] buildParamsArray() {
object[] paramsArray;
if (isValid(arg3)) {
paramsArray = new object[4];
paramsArray[3] = arg3.GetValue();
paramsArray[2] = arg2.GetValue();
paramsArray[1] = arg1.GetValue();
paramsArray[0] = arg0.GetValue();
} else if (isValid(arg2)) {
paramsArray = new object[3];
paramsArray[2] = arg2.GetValue();
paramsArray[1] = arg1.GetValue();
paramsArray[0] = arg0.GetValue();
} else if (isValid(arg1)) {
paramsArray = new object[2];
paramsArray[1] = arg1.GetValue();
paramsArray[0] = arg0.GetValue();
} else if (isValid(arg0)) {
paramsArray = new object[1];
paramsArray[0] = arg0.GetValue();
} else {
return null;
}
return paramsArray;
}
private bool isValid(SharedVariable sv) {
return null != sv && !sv.IsNone;
}
public override void OnReset()
{
// Reset the properties back to their original values
textFormat = string.Empty;
logError = false;
arg0 = null;
arg1 = null;
arg2 = null;
arg3 = null;
}
}
}