protected EditorComponent(EditorDomain domain, EditorComponent parent, string id) : base(id) { Domain = domain; Parent = parent; Children = new List <EditorComponent>(); }
protected PropertyItem(EditorDomain domain, PropertyGroup parent, string id, string name, Type valueType, object value) : base(domain, parent, id) { Name = name; ValueType = valueType; Value = value; }
protected TaskNode(EditorDomain domain, EditorComponent parent, TaskState task) : base(domain , parent , string.Format("{0}-Node", task.Id)) { Task = task; Task.OnEventApplied += Task_OnEventApplied; if (task.Desc is DecoratorTaskDescWrapper) { var desc = (DecoratorTaskDescWrapper)task.Desc; if (desc.ChildTaskId > 0) { CreateChildTaskNode(desc.ChildTaskId); } } else if (task.Desc is CompositeTaskDescWrapper) { var desc = (CompositeTaskDescWrapper)task.Desc; foreach (var id in desc.ChildTaskIds) { CreateChildTaskNode(id); } } }
public GroupPropertyItem(EditorDomain domain, PropertyGroup parent, string name, Type valueType, object value) : base(domain, parent, string.Format("{0}-{1}", typeof(GroupPropertyItem), Guid.NewGuid()), name, valueType, value) { if (value == null) { value = Activator.CreateInstance(valueType); } group = new PropertyGroup(domain, parent, valueType, value); }
public BehaviorTreeView(EditorDomain domain, BehaviorTreeState tree, Vector2 windowSize) : base(domain, null, string.Format("{0}-View", tree.Id)) { Tree = tree; Size = windowSize; scrollOffset = new Vector2(windowSize.x / 2, EditorConfiguration.NodeSize.y); Children.Add(new BehaviorTreeNode(domain, this)); NodeLayoutHelper.Calculate(Tree); }
public BehaviorTreeNode(EditorDomain domain, BehaviorTreeView parent) : base(domain , parent , string.Format("{0}-Node", parent.Tree.Id)) { Tree = parent.Tree; Tree.OnEventApplied += Tree_OnEventApplied; if (Tree.RootTaskId > 0) { var task = (TaskState)Repository.States[TaskState.GetId(Tree.RootTaskId)]; RootView.Children.Add(TaskNode.Create(RootView, task)); } }
public PropertyGroup(EditorDomain domain, EditorComponent parent, Type valueType, object value) : base(domain , parent , string.Format("{0}-{1}", typeof(PropertyGroup).Name, Guid.NewGuid().ToString())) { ValueType = valueType; Value = value; properties = (from p in ValueType.GetProperties(BindingFlags.Public | BindingFlags.Instance) where p.GetCustomAttributes(typeof(BehaveAsFieldAttribute), true).Length > 0 select Tuple.Create(CreateItem(EditorHelper.GetPropertyName(p), p.PropertyType, p.GetValue(value, null)), p) into t where t.Item2 != null select t).ToArray(); }
public void Deserialize() { if (Domain != null) { return; } var repo = new EditorRepository(); var handler = new BehaviorTreeCommandHandler(); var domain = new EditorDomain(repo, handler); domain.OnEventApplied += Domain_OnEventApplied; var treeId = BehaviorTreeState.GetId(); var tree = new BehaviorTreeState(domain, treeId); tree.Asset = this; repo.States[treeId] = tree; if (bytes != null && bytes.Length > 0) { var treeDesc = BehaviorTreeSerializer.DeserializeDesc(bytes); tree.Title = treeDesc.Title; tree.Comment = treeDesc.Comment; tree.RootTaskId = treeDesc.RootTaskId; if (treeDesc.Tasks != null && treeDesc.Tasks.Length > 0) { tree.NextTaskId = treeDesc.Tasks.Max(t => t.Id) + 1; foreach (var taskDesc in treeDesc.Tasks) { var taskId = TaskState.GetId(taskDesc.Id); var task = new TaskState(domain, taskId); if (taskDesc.Id != treeDesc.RootTaskId) { task.ParentTaskId = EditorHelper.FindParentTask(treeDesc.Tasks, taskDesc.Id).Id; } task.Desc = taskDesc; repo.States[task.Id] = task; } } } Domain = domain; Tree = tree; }
public ListPropertyItem(EditorDomain domain, PropertyGroup parent, string name, Type valueType, object value, Type elementType) : base(domain, parent, string.Format("{0}-{1}", typeof(ListPropertyItem), Guid.NewGuid()), name, valueType, value) { this.elementType = elementType; if (value == null) { elements = new PropertyItem[0]; } else { var list = (IList)value; elements = new PropertyItem[list.Count]; for (int i = 0; i < list.Count; i++) { elements[i] = parent.CreateItem(I18n._("Element #{0}", i), elementType, list[i]); elements[i].OnLabelClick += Item_OnLabelClick; } } }
public IntPropertyItem(EditorDomain domain, PropertyGroup parent, string name, Type valueType, object value) : base(domain, parent, string.Format("{0}-{1}", typeof(IntPropertyItem), Guid.NewGuid()), name, valueType, value) { }
public BehaviorTreeState(EditorDomain domain, string id) : base(domain, id) { NextTaskId = 1; }
public DecoratorTaskNode(EditorDomain domain, EditorComponent parent, TaskState task) : base(domain, parent, task) { }
//public string Title { get; protected set; } //public Vector2 Position { get; protected set; } //public Vector2 Size { get; protected set; } //public GUIStyle Style { get; protected set; } protected Node(EditorDomain domain, EditorComponent parent, string id) : base(domain, parent, id) { RootView = FindRootView(); }
public TaskState(EditorDomain domain, string id) : base(domain, id) { }
public CompositeTaskNode(EditorDomain domain, EditorComponent parent, TaskState task) : base(domain, parent, task) { }
protected EditorState(EditorDomain domain, string id) : base(id) { Domain = domain; }