Exemplo n.º 1
0
        public object Get()
        {
            ossia_type t = GetOssiaType();

            switch (t)
            {
            case ossia_type.FLOAT:
                return(GetFloat());

            case ossia_type.INT:
                return(GetInt());

            case ossia_type.VEC2F:
                return(GetVec2f());

            case ossia_type.VEC3F:
                return(GetVec3f());

            case ossia_type.VEC4F:
                return(GetVec4f());

            case ossia_type.BOOL:
                return(GetBool());

            case ossia_type.STRING:
                return(GetString());

            case ossia_type.LIST:
                return(GetList());

            case ossia_type.CHAR:
                return(GetChar());
            }
            return(null);
        }
Exemplo n.º 2
0
        public Parameter CreateParameter(Type t, ossia_type ossia_t)
        {
            if (ossia_node != IntPtr.Zero && ossia_parameter == null)
            {
                IntPtr p = Network.ossia_node_create_parameter(ossia_node, ossia_t);
                ossia_parameter = new Parameter(p);

                if (t == typeof(UnityEngine.Vector2))
                {
                    Network.ossia_parameter_set_unit(p, "position.cart2D");
                }
                else if (t == typeof(UnityEngine.Vector3))
                {
                    Network.ossia_parameter_set_unit(p, "position.cart3D");
                }
                else if (t == typeof(UnityEngine.Vector4))
                {
                    Network.ossia_parameter_set_unit(p, "position.cart4D");
                }
                else if (t == typeof(UnityEngine.Quaternion))
                {
                    Network.ossia_parameter_set_unit(p, "orientation.quaternion");
                }
                else if (t == typeof(UnityEngine.Color))
                {
                    Network.ossia_parameter_set_unit(p, "color.rgba");
                }
                else if (t == typeof(UnityEngine.Color32))
                {
                    Network.ossia_parameter_set_unit(p, "color.rgba8");
                }
            }

            return(ossia_parameter);
        }
Exemplo n.º 3
0
 public Parameter CreateParameter(ossia_type type)
 {
     if (ossia_node != IntPtr.Zero && ossia_parameter == null)
     {
         ossia_parameter = new Parameter(Network.ossia_node_create_parameter(ossia_node, type));
     }
     return(ossia_parameter);
 }
Exemplo n.º 4
0
        public object Get(Type obj)
        {
            ossia_type t = GetOssiaType();

            switch (t)
            {
            case ossia_type.FLOAT:
            {
                if (obj == typeof(float))
                {
                    return(GetFloat());
                }
                else if (obj == typeof(double))
                {
                    return((double)GetFloat());
                }
                else if (obj == typeof(System.Int32))
                {
                    return((System.Int32)GetFloat());
                }
                else if (obj == typeof(System.Int64))
                {
                    return((System.Int64)GetFloat());
                }
                break;
            }

            case ossia_type.INT:
            {
                if (obj == typeof(float))
                {
                    return(GetInt());
                }
                else if (obj == typeof(double))
                {
                    return((double)GetInt());
                }
                else if (obj == typeof(System.Int32))
                {
                    return((System.Int32)GetInt());
                }
                else if (obj == typeof(System.Int64))
                {
                    return((System.Int64)GetInt());
                }
                break;
            }

            case ossia_type.VEC2F:
            {
                var vec = GetVec2f();
                if (obj == typeof(Vector2))
                {
                    return(vec);
                }
                break;
            }

            case ossia_type.VEC3F:
            {
                var vec = GetVec3f();
                if (obj == typeof(Vector3))
                {
                    return(vec);
                }
                break;
            }

            case ossia_type.VEC4F:
            {
                var vec = GetVec4f();
                if (obj == typeof(Vector4))
                {
                    return(vec);
                }
                else if (obj == typeof(Quaternion))
                {
                    return(new Quaternion(vec.x, vec.y, vec.z, vec.w));
                }
                else if (obj == typeof(Color))
                {
                    return(new Color(vec.x, vec.y, vec.z, vec.w));
                }
                else if (obj == typeof(Color32))
                {
                    return(new Color32((byte)vec.x, (byte)vec.y, (byte)vec.z, (byte)vec.w));
                }
                break;
            }

            case ossia_type.BOOL:
                return(GetBool());

            case ossia_type.STRING:
                return(GetString());

            case ossia_type.LIST:
                return(GetList());

            case ossia_type.CHAR:
                return(GetChar());
            }
            return(null);
        }
Exemplo n.º 5
0
        public OssiaEnabledProperty(PropertyInfo f, string attr, OssiaEnabledComponent par, ossia_type t)
        {
            field     = f;
            attribute = attr;
            parent    = par;

            ossia_node      = parent.component_node.AddChild(attr);
            ossia_parameter = ossia_node.CreateParameter(f.PropertyType, t);
            SendUpdates();
        }
Exemplo n.º 6
0
 public static extern IntPtr ossia_node_create_parameter(
     IntPtr node,
     ossia_type type);