示例#1
0
        //public Color baseColor = Color.white;
        //public Color wallColor = Color.black;

        public void Init(Graph graph)
        {
            if (graph == null)
            {
                Debug.LogWarning("Graphiview no graph to initialize!");
                return;
            }

            nodeViews = new NodeView[graph.Width, graph.Height];

            foreach (Node n in graph.nodes)
            {
                GameObject instance = Instantiate(nodeViewPrefab, Vector3.zero, Quaternion.identity);
                NodeView   nodeView = instance.GetComponent <NodeView>();

                if (nodeView != null)
                {
                    nodeView.Init(n);
                    nodeViews[n.xIndex, n.yIndex] = nodeView;

                    Color originalColor = MapData.GetColorFromNodeType(n.nodeType);
                    nodeView.ColorNode(originalColor);
                }
            }
        }
示例#2
0
 public void ColorNodes(List <Node> nodes, Color color, bool lerpColor = false, float lerpValue = 0.5f)
 {
     foreach (Node n in nodes)
     {
         if (n != null)
         {
             NodeView nodeView = nodeViews[n.xIndex, n.yIndex];
             Color    newColor = color;
             if (lerpColor)
             {
                 Color originalColor = MapData.GetColorFromNodeType(n.nodeType);
                 newColor = Color.Lerp(originalColor, newColor, lerpValue);
             }
             if (nodeView != null)
             {
                 nodeView.ColorNode(newColor);
             }
         }
     }
 }