Esempio n. 1
0
        public static void BuildKnownTypeList()
        {
            KnownType.InsertKnownType
            (
                new KnownType <string>("string")
            {
                Getter = parameter => parameter._string,
                Setter = (parameter, value) => { parameter._string = value; }
            }
            );

            KnownType.InsertKnownType
            (
                new KnownType <bool>("bool")
            {
                Getter = parameter => parameter._floats[0] > 0,
                Setter = (parameter, value) => { parameter._floats[0] = value ? 1 : -1; }
            }
            );

            KnownType.InsertKnownType
            (
                new KnownType <int>("int")
            {
                Getter = parameter => Mathf.RoundToInt(parameter._floats[0]),
                Setter = (parameter, value) => { parameter._floats[0] = value; }
            }
            );

            KnownType.InsertKnownType
            (
                new KnownType <float>("float")
            {
                Getter = parameter => parameter._floats[0],
                Setter = (parameter, value) => { parameter._floats[0] = value; }
            }
            );

            KnownType.InsertKnownType
            (
                new KnownType <AnimationCurve>("Animation Curve")
            {
                Getter = parameter => parameter._curve,
                Setter = (parameter, curve) => { parameter._curve = curve; }
            }
            );

            KnownType.InsertKnownType
            (
                new KnownType <RuntimeAnimatorController>("Animator Controller")
            {
                Getter = parameter => parameter._object as RuntimeAnimatorController,
                Setter = (parameter, controller) => { parameter._object = controller; }
            }
            );

            KnownType.InsertKnownType
            (
                new KnownType <Color>("Color")
            {
                Getter = parameter => new Color(parameter._floats[0], parameter._floats[1], parameter._floats[2], parameter._floats[3]),
                Setter = (parameter, color) => { parameter._floats[0] = color.r; parameter._floats[1] = color.g; parameter._floats[2] = color.b; parameter._floats[3] = color.a; }
            }
            );

            KnownType.InsertKnownType
            (
                new KnownType <Vector2>("Vector2")
            {
                Getter = parameter => new Vector2(parameter._floats[0], parameter._floats[1]),
                Setter = (parameter, vector2) => { parameter._floats[0] = vector2.x; parameter._floats[1] = vector2.y; }
            }
            );

            KnownType.InsertKnownType
            (
                new KnownType <Vector3>("Vector3")
            {
                Getter = parameter => new Vector3(parameter._floats[0], parameter._floats[1], parameter._floats[2]),
                Setter = (parameter, vector3) => { parameter._floats[0] = vector3.x; parameter._floats[1] = vector3.y; parameter._floats[2] = vector3.z; }
            }
            );

            KnownType.InsertKnownType
            (
                new KnownType <GameObject>("GameObject")
            {
                Getter = parameter => parameter._object as GameObject,
                Setter = (parameter, value) => { parameter._object = value; }
            }
            );

            KnownType.InsertKnownType
            (
                new KnownType <SerializedType>("System.Type")
            {
                Getter = parameter => new SerializedType(parameter._string),
                Setter = (parameter, type) => { parameter._string = type.SerializedTypeName; }
            }
            );

            KnownType.InsertKnownType
            (
                new KnownType <DerivedType>("Derivatives of System.Type")
            {
                Getter = parameter => new DerivedType(parameter._string),
                Setter = (parameter, type) => { parameter._string = type.ToString(); }
            }
            );

            KnownType.InsertKnownType
            (
                new KnownType <Component>("MonoBehaviour...")
            {
                Getter = parameter => parameter._object as Component,
                Setter = (parameter, value) => { parameter._object = value; }
            }
            );

            KnownType.InsertKnownType
            (
                new KnownType <ScriptableObject>("ScriptableObject...")
            {
                Getter = parameter => parameter._object as ScriptableObject,
                Setter = (parameter, value) => { parameter._object = value; }
            }
            );
        }
Esempio n. 2
0
 public static void InsertKnownType <T>(KnownType <T> info)
 {
     _knownTypes[typeof(T).FullName] = info;
 }