Example #1
0
        /// <summary>
        /// Create Value Entry
        /// </summary>
        /// <param name="_title"></param>
        /// <param name="_value"></param>
        /// <param name="_valueCallback"></param>
        public ObserverEntry(string _title, object _value, Action <object> _valueCallback)
        {
            EntryMode     = ObserverEntryMode.Value;
            EntryName     = _title;
            CachedValue   = _value;
            Value         = _value;
            ValueCallback = _valueCallback;

            if (Value.GetType() == typeof(string))
            {
                EntryValueType = ObserverEntryType.String;
            }
            else if (Value.GetType() == typeof(bool))
            {
                EntryValueType = ObserverEntryType.Boolean;
            }
            else if (Value.GetType() == typeof(int))
            {
                EntryValueType = ObserverEntryType.Integer;
            }
            else if (Value.GetType() == typeof(float))
            {
                EntryValueType = ObserverEntryType.Float;
            }
            else if (Value.GetType() == typeof(double))
            {
                EntryValueType = ObserverEntryType.Double;
            }
            else if (Value.GetType() == typeof(Vector2))
            {
                EntryValueType = ObserverEntryType.Vector2;
            }
            else if (Value.GetType() == typeof(Vector3))
            {
                EntryValueType = ObserverEntryType.Vector3;
            }
            else if (Value.GetType() == typeof(Color))
            {
                EntryValueType = ObserverEntryType.Color;
            }
            else if (Value.GetType().IsEnum)
            {
                EntryValueType = ObserverEntryType.Enum;
            }
            else
            {
                EntryValueType = ObserverEntryType.None;
            }
        }
        private void Start()
        {
            Observer.Button("Button Examples", "Function Call Button", TestFunction);

            Observer.Button("Button Examples", "Anonymous Call Button", () =>
            {
                Debug.Log("Anonymous Function Called");
            });

            Observer.Value("Update Examples", "Boolean Type", m_BoolTest, (object val) =>
            {
                m_BoolTest = (bool)val;
            });

            Observer.Value("Update Examples", "String Type", m_StringTest, (object val) =>
            {
                m_StringTest = (string)val;
            });

            Observer.Value("Update Examples", "Integer Type", m_IntTest, (object val) =>
            {
                m_IntTest = (int)val;
            });

            Observer.Value("Update Examples", "Float Type", m_FloatTest, (object val) =>
            {
                m_FloatTest = (float)val;
            });

            Observer.Value("Update Examples", "Double Type", m_DoubleTest, (object val) =>
            {
                m_DoubleTest = (double)val;
            });

            // Observer.Seperator("Update Examples");

            Observer.Value("Update Examples", "Vector2 Type", m_Vec2Test, (object val) =>
            {
                m_Vec2Test = (Vector2)val;
            });

            Observer.Value("Update Examples", "Vector3 Type", m_Vec3Test, (object val) =>
            {
                m_Vec3Test = (Vector3)val;
            });

            Observer.Value("Update Examples", "Color Type", m_ColorTest, (object val) =>
            {
                m_ColorTest = (Color)val;
            });

            Observer.Value("Update Examples", "Enum Type", m_EnumTest, (object val) =>
            {
                m_EnumTest = (ObserverEntryType)val;
            });

            // Observer.Header("Update Examples", "Header Example");

            Observer.Value("Update Examples", "Vector4 Type", m_UnsupportedTest, (object val) =>
            {
                m_UnsupportedTest = (Vector4)val;
            });
        }