【发布时间】:2019-05-13 14:22:04
【问题描述】:
我有一个 Character Scriptable Object,其中有几个方法。像 GetDate,GetAge (我没有在这里展示)。我在那里创建了一个构造函数,但我不知道如何通过构造函数创建该 ScriptableObject 的实例。这就是我想做的。
我尝试只在检查器中输入值,但没有运行构造器中的方法。
Character.cs
[CreateAssetMenu]
[Serializable]
public class Character : Scriptable Object
{
// Attributes
public string firstName;
public string middleName;
public string lastName;
public string fullName;
public bool isMale;
// Constructor
public Character(string _firstName, string _middleName, string _lastName, bool _isMale)
{
firstName = _firstName;
middleName = _middleName;
lastName = _lastName;
// All The Functions
fullName = string.Format("{0} {1} {2}", firstName, middleName,
lastName);
isMale = _isMale;
// and all the other functions like date calculator.
}
}
我想通过这个构造创建这个 Scriptable Object 的一个实例。类似的东西
Character char("x", "y", "z", true);
或者当我在 Unity Inspector 中键入必填字段时,它将运行所有方法,例如全名 string.format。
【问题讨论】:
-
以构造函数内部的
string.format函数为例。假设我只是在 Unity 中创建了一个 ScriptableObject,然后在 Inspector 中键入firstName、lastName和middleName。那么,当我单击播放按钮时,它是否有可能执行fullName = string.Format("{0} {1} {2}", firstName, middleName, lastName);方法。它只会让我的生活更轻松。