public void UpdateItem(string name, NodeDataState state)
 {
     foreach (var im in items)
     {
         if (im.GetText() == name)
         {
             im.SetState(state);
             break;
         }
     }
 }
Exemple #2
0
        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;
     }
 }
Exemple #4
0
        /// <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;
            }
        }
Exemple #5
0
    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;
        }
    }
Exemple #6
0
 /// <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);
                 }
             }
         }
     }
 }
Exemple #7
0
 /// <summary>
 /// Marks this node's data as loaded and ready to use.
 /// </summary>
 public void MarkAsLoaded()
 {
     DataState = NodeDataState.InMemory;
 }
Exemple #8
0
 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;
 }