Roman 787b285227 任务:新建项目 导入必要的插件
1.导入URP
2.配置了URP
3.导入Dotween
4.导入Odin
5.导入了InputSystem
6.设置项目为新旧输入系统并用
7.导入了FunGus
8.创建了一些空文件夹

我是每日提醒上班小助手,今天你上班了吗?😺
2022-03-10 22:49:14 +08:00

82 lines
2.7 KiB
C#

// This code is part of the Fungus library (https://github.com/snozbot/fungus)
// It is released for free under the MIT open source license (https://github.com/snozbot/fungus/blob/master/LICENSE)
using UnityEngine;
namespace Fungus
{
/// <summary>
/// Attempts to parse a string into a given fungus variable type, such as integer or float
/// </summary>
[CommandInfo("Variable",
"From String",
"Attempts to parse a string into a given fungus variable type, such as integer or float")]
[AddComponentMenu("")]
public class FromString : Command
{
[Tooltip("Source of string data to parse into another variables value")]
[VariableProperty(typeof(StringVariable))]
[SerializeField] protected StringVariable sourceString;
[Tooltip("The variable type to be parsed and value stored within")]
[VariableProperty(typeof(IntegerVariable), typeof(FloatVariable))]
[SerializeField] protected Variable outValue;
public override void OnEnter()
{
if (sourceString != null && outValue != null)
{
double asDouble = 0;
try
{
asDouble = System.Convert.ToDouble(sourceString.Value, System.Globalization.CultureInfo.CurrentCulture);
}
catch (System.Exception)
{
Debug.LogWarning("Failed to parse as number: " + sourceString.Value);
}
IntegerVariable intOutVar = outValue as IntegerVariable;
if (intOutVar != null)
{
intOutVar.Value = (int)asDouble;
}
else
{
FloatVariable floatOutVar = outValue as FloatVariable;
if (floatOutVar != null)
{
floatOutVar.Value = (float)asDouble;
}
}
}
Continue();
}
public override string GetSummary()
{
if (sourceString == null)
{
return "Error: No source string selected";
}
if (outValue == null)
{
return "Error: No type and storage variable selected";
}
return outValue.Key + ".Parse " + sourceString.Key;
}
public override bool HasReference(Variable variable)
{
return (variable == sourceString) || (variable == outValue);
}
public override Color GetButtonColor()
{
return new Color32(253, 253, 150, 255);
}
}
}