public void UpdateItem(string name, NodeDataState state) { foreach (var im in items) { if (im.GetText() == name) { im.SetState(state); break; } } }
public void Dispose() { DataState = NodeDataState.Disposed; if (Points == default) { return; } Points.Dispose(); Points = default; }
public void SetState(NodeDataState state) { loaded.gameObject.SetActive(false); if (state == NodeDataState.Downloaded) { loaded.gameObject.SetActive(true); loaded.color = Green; } else if (state == NodeDataState.Loading) { loaded.gameObject.SetActive(true); loaded.color = Gray; } }
/// <summary> /// Creates a new instance of a node and populates it with passed data. /// </summary> /// <param name="record">Record with meta data of the node.</param> public Node(NodeRecord record) { Identifier = record.Identifier; if (record.PointCount > 0) { Points = new NativeArray <PointCloudPoint>(record.PointCount, Allocator.Persistent, NativeArrayOptions.UninitializedMemory); DataState = NodeDataState.Loading; } else { Debug.LogWarning($"Node with ID {Identifier} has no data. This shouldn't happen."); DataState = NodeDataState.Empty; } }
private void UpdateNodeState(NodeDataState nodeDataState, bool changeColor = true) { currentNodeState = nodeDataState; progressBar.fillAmount = 0; stateText.text = currentNodeState.ToString(); MeshRenderer mr = GetComponent <MeshRenderer>(); if (!changeColor) { return; } switch (nodeDataState) { case NodeDataState.Idle: mr.material = matMapper.Neutral; break; case NodeDataState.Hacked: mr.material = matMapper.Captured; break; case NodeDataState.Scanned: mr.material = matMapper.Scanned; break; case NodeDataState.HackFailed: mr.material = matMapper.Blocked; break; case NodeDataState.Offline: mr.material = matMapper.Offline; break; default: mr.material = matMapper.InProgress; break; } }
/// <summary> /// 遍历JsonData创建子树 /// </summary> private void TraverseCreate(JsonData data, TreeNode <NodeData> parent, bool isLeaf = false, NodeDataState state = NodeDataState.Unload) { if (data != null) { JsonData d; TreeNode <NodeData> child; if (data.IsObject) { foreach (string n in data.Keys) { child = new TreeNode <NodeData>(new NodeData(n, isLeaf, state), parent); parent.AddChild(child); d = data[n]; if (d.IsObject || d.IsArray) { TraverseCreate(d, child, isLeaf, state); } } return; } if (data.IsArray) { for (int i = 0; i < data.Count; i++) { child = new TreeNode <NodeData>(new NodeData(data[i].ToString(), isLeaf, state), parent); parent.AddChild(child); d = data[i]; if (d.IsObject || d.IsArray) { TraverseCreate(d, child, isLeaf, state); } } } } }
/// <summary> /// Marks this node's data as loaded and ready to use. /// </summary> public void MarkAsLoaded() { DataState = NodeDataState.InMemory; }
public NodeData(string name, bool isLeaf = false, NodeDataState state = NodeDataState.Unload) { this.dName = name; IsLeaf = isLeaf; State = state; }
public DirItemData(string name, NodeDataState state, int index) { Name = name; State = state; Index = index; }