void CreateTile(int x, int y, StageCellType type) { StageCell cell = new StageCell(x, y, type); GameObject editTile = Instantiate(editTilePrefab, transform); editTile.name = "tile(" + x + "," + y + ")"; SetTilePosition(editTile, x, y); StageEditTile tile = editTile.GetComponent <StageEditTile>(); tile.SetCell(cell); stageTiles.Add(tile); GameObject child = GetTileTypePrefab(type); if (child != null) { tile.EditType(type, child); } }
void PickTileEdit(StageLevelManager manager) { Event e = Event.current; if (e.type == EventType.MouseDown == true) { Vector3 mousePos = Event.current.mousePosition; Ray ray = HandleUtility.GUIPointToWorldRay(mousePos); RaycastHit hit; if (Physics.Raycast(ray, out hit)) { GameObject obj = hit.collider.gameObject; StageEditTile tile = obj.GetComponent <StageEditTile>(); if (tile != null) { var tileType = manager.curEditType; tile.EditType(tileType, manager.GetTileTypePrefab(tileType)); } } } }