Example #1
0
            public override ICollection <GUIObject> Render()
            {
                var items = new List <GUIObject>()
                {
                    _window, _titleElement
                };

                items.AddRange(_closeButton.Render());
                items.Add(_bodyElement);

                if (_body != null)
                {
                    items.AddRange(_body.Render());
                }

                return(items);
            }
Example #2
0
            public void RegisterDefaultState(GUIElementBase definition, bool full = false)
            {
                var key   = GetElementHash(definition);
                var value = new StateCollection();

                var props = definition.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public);

                foreach (var prop in props)
                {
                    value.Add(prop.Name, prop.GetValue(definition));
                }

                if (full)
                {
                    var objs = definition.Render();

                    foreach (var obj in objs)
                    {
                        var name = obj.Name;
                    }
                }

                _defaultStates.Add(key, value);
            }
Example #3
0
 private string GetElementHash(GUIElementBase element)
 {
     return(new StringBuilder().Append(element.GetType().FullName).Append(element.Render()?.First().Name).Append(element.GetHashCode()).ToString());
 }