Beispiel #1
0
        public void UpdateMesh(bool forced = false)
        {
            if (!ElevationManager.ValidTileForElevation(cell))
            {
                return;
            }

            if (mesh != null)
            {
                mesh.UpdateMesh(forced);
            }
            else
            {
                mesh = CellElevationMesh.Make(cell).GetComponent <CellElevationMesh>();
                mesh.UpdateMesh(forced);
            }
        }
Beispiel #2
0
        public static GameObject Make(Cell cell)
        {
            CellMark mark = ElevationManager.GetCellMark(cell);

            if (mark != null)
            {
                GameObject obj = GameObject.CreatePrimitive(PrimitiveType.Cube);

                CellElevationMesh script = obj.AddComponent <CellElevationMesh>();
                script.cell     = cell;
                script.cellMark = mark;

                obj.transform.SetPositionAndRotation(new Vector3(cell.Center.x, 0f, cell.Center.z), Quaternion.identity);
                obj.transform.SetParent(World.inst.caveContainer.transform, true);

                script.Init();

                return(obj);
            }
            return(null);
        }