Example #1
0
File: VeeJoy.cs Project: artm/Cyrus
 public MaterialFloatController(FloatDesc desc)
     : base(desc)
 {
     material = desc.target as Material;
 }
Example #2
0
File: VeeJoy.cs Project: artm/Cyrus
        public MaterialColorController(FloatDesc desc, Component comp)
            : base(desc)
        {
            material = desc.target as Material;
            component = comp;

            desc.min = 0;
            if (component == Component.Hue) {
                desc.max = 360;
                desc.speed = 10;
            } else {
                desc.max = 1;
                desc.speed = 0.1f;
            }
        }
Example #3
0
File: VeeJoy.cs Project: artm/Cyrus
 public FloatController(FloatDesc d)
 {
     desc = d;
 }
Example #4
0
File: VeeJoy.cs Project: artm/Cyrus
 public static void AddToList(FloatDesc desc, List<FloatController> floatControllers)
 {
     try {
         string[] tokens = desc.property.Split('.');
         if (tokens.Length == 1) {
             System.Type type = desc.target.GetType();
             if (type == typeof(Material)) {
                 floatControllers.Add(new MaterialFloatController(desc));
             } else {
                 FieldInfo fi = type.GetField(desc.property);
                 if (fi == null || fi.FieldType != typeof(float))
                     throw new PropertyError();
                 floatControllers.Add(new FieldFloatController(desc,fi));
             }
         } else if (tokens.Length == 2) {
             if (desc.target is Material && tokens[1] == "hsv") {
                 // special case: color
                 desc.property = tokens[0];
                 floatControllers.Add(new MaterialColorController(desc.Clone(), MaterialColorController.Component.Hue));
                 floatControllers.Add(new MaterialColorController(desc.Clone(), MaterialColorController.Component.Saturation));
                 floatControllers.Add(new MaterialColorController(desc.Clone(), MaterialColorController.Component.Value));
             } else {
                 // the property name is ComponentName.PropertyName
                 Component c = (desc.target as GameObject).GetComponent(tokens[0]);
                 if (c==null)
                     throw new PropertyError();
                 System.Type type = c.GetType();
                 FieldInfo fi = type.GetField(tokens[1]);
                 if (fi == null || fi.FieldType != typeof(float))
                     throw new PropertyError();
                 desc.target = c;
                 floatControllers.Add(new FieldFloatController(desc,fi));
             }
         }
     } catch (PropertyError) {
         Debug.LogError("Error reflecting on property " + desc.property + " of " + desc.target);
     }
 }
Example #5
0
File: VeeJoy.cs Project: artm/Cyrus
 public FieldFloatController(FloatDesc desc, FieldInfo fi)
     : base(desc)
 {
     field = fi;
 }