UnityScript - 如何循环遍历 A Class 的 Public 属性

UnityScript - How To Loop Through Public Properties of A Class

我在 UnityScript 中有以下脚本,它在 Unity Editor 中称为 JavaScript 但并不完全相同,尤其是对于循环遍历对象。

public class UpgradeProfile extends MonoBehaviour {

    public var brakeSpeed : float = 0;
    public var jumpForce  : float = 0;
    public var maxJumps : int = 1;

};

如何遍历此 class 的所有属性,例如,记录值或将它们与同一 class 的另一个成员的值相加?

注意: UnityScript 不是 JavaScript C#,因此与这些语言相关的答案不会回答这个问题。

这对我来说很有效,可以获取属性和值。

#pragma strict

public var test1 = 10;
public var test2 = 11;

function Start () 
{

    for(var property in this.GetType().GetFields()) 
    {
        Debug.Log("Name: " + property.Name + " Value: " + property.GetValue(this));
    }

}

这会打印出

Name: test1 Value: 10
Name: test2 Value: 11

如果您想对其他组件执行此操作,请将 this 替换为 component 而不是