예제 #1
0
        public override void Init(INavData data)
        {
            Grid3DNavData navData = data as Grid3DNavData;

            ParseNavData(navData);

#if !UNITY_EDITOR
            // release memory
            navData.ReleaseMemory();
#endif
        }
예제 #2
0
        public override void Init(INavData data)
        {
            navData = data as NavMeshData;

            for (int i = 0; i < navData.nodes.Length; i++)
            {
                NavMeshNode node = navData.nodes[i] as NavMeshNode;
                AddNode(node);
            }

            bbTree.RebuildFrom(navData.nodes);
        }
예제 #3
0
        public override void Init(INavData data)
        {
            navData       = data as Grid2DNavData;
            nodeIdCounter = 0;
            this.width    = navData.Width;
            this.height   = navData.Height;

            nodes = new Grid2DNode[width, height];

            for (int x = 0; x < width; ++x)
            {
                for (int y = 0; y < height; ++y)
                {
                    Grid2DNode node = new Grid2DNode(nodeIdCounter++);
                    nodes[x, y]      = node;
                    node.x           = (ushort)x;
                    node.y           = (ushort)y;
                    node.blockValue  = navData.GetMask(x, y);
                    node.terrainType = navData.GetTerrain(x, y);
                }
            }
        }
예제 #4
0
 public abstract void Init(INavData data);