public override void CreateNodeAt(GridCoords coords) { Vector3 scale = 2.0f * new Vector3(CellRadius, CellRadius, CellRadius); SquareNode node = new SquareNode(); node.mOffset = coords.GetPosNormalized() * CellRadius; node.mId = coords.index; node.mOpenMarker = GameObject.Instantiate(openMarker); node.mOpenMarker.transform.SetParent(gameObject.transform); node.mOpenMarker.transform.localScale = scale; node.mOpenMarker.transform.localPosition = node.mOffset; node.mClosedMarker = GameObject.Instantiate(closedMarker); node.mClosedMarker.transform.SetParent(gameObject.transform); node.mClosedMarker.transform.localScale = scale; node.mClosedMarker.transform.localPosition = node.mOffset; node.State = NodeState.open; mNodes[coords.index] = node; }
// Use this for initialization void Start() { mutableMesh = new MutableMesh(); var grid = new SquareGrid(10, 10, mutableMesh); grid.grid[0, 0].Init(SquarePoint.BottomLeft, SquareBaseShape.Triangle); SquareNode node = grid.grid[0, 0].GetNode(SquarePoint.BottomLeft); v1 = new AnimatedVertex(node.Vertex, 0.5f, () => { direction *= -1; v1.SetTarget(v1.initialPosition - new Vector3(direction * 0.2f, 0, 0)); }); v1.SetTarget(v1.initialPosition + new Vector3(0.2f, 0, 0)); var meshFilter = gameObject.GetComponent <MeshFilter> (); var mesh = new Mesh() { vertices = mutableMesh.GetVertexes().ToArray(), triangles = mutableMesh.GetTriangles().ToArray(), }; meshFilter.sharedMesh = mesh; }