private List <WDOMNode> GetNodesFromStage(BindingExpression binding)
        {
            List <WDOMNode> result = new List <WDOMNode>();

            Type     field_type    = binding.ResolvedSource.GetType().GetProperty(binding.ResolvedSourcePropertyName).PropertyType;
            WDOMNode source_object = binding.ResolvedSource as WDOMNode;

            WStage stage = source_object.World.Map.SceneList.First(x => x.GetType() == typeof(WStage)) as WStage;

            result = stage.GetChildrenOfType(field_type);

            if (source_object.GetType() == field_type)
            {
                result.Remove(source_object);
            }

            return(result);
        }
Esempio n. 2
0
        public void FillComboBox()
        {
            BindingExpression binding = GetBindingExpression(ActorReferenceProperty);
            Type field_type           = binding.ResolvedSource.GetType().GetProperty(binding.ResolvedSourcePropertyName).PropertyType;

            WDOMNode source_object = binding.ResolvedSource as WDOMNode;
            WDOMNode cur_object    = source_object;

            while (cur_object.Parent != null)
            {
                cur_object = cur_object.Parent;
            }

            List <WDOMNode> ba = cur_object.GetChildrenOfType(field_type);

            if (source_object.GetType() == field_type)
            {
                ba.Remove(source_object);
            }

            actor_combo.ItemsSource = ba;
        }
        private List <WDOMNode> GetNodesFromRoom(BindingExpression binding)
        {
            List <WDOMNode> result = new List <WDOMNode>();

            Type     field_type    = binding.ResolvedSource.GetType().GetProperty(binding.ResolvedSourcePropertyName).PropertyType;
            WDOMNode source_object = binding.ResolvedSource as WDOMNode;
            WDOMNode cur_object    = source_object;

            while (cur_object.Parent != null)
            {
                cur_object = cur_object.Parent;
            }

            result = cur_object.GetChildrenOfType(field_type);

            if (source_object.GetType() == field_type)
            {
                result.Remove(source_object);
            }

            return(result);
        }