// Use this for initialization void Start() { bc = gameObject.GetComponent <BlockController> (); tileList = GameObject.Find("ObjectsLists").GetComponent <ListElementsController> (); levelMeshPrefab = (GameObject)Resources.Load("LevelMesh"); levelMesh = Instantiate(levelMeshPrefab); meshes.Add(levelMesh); for (int i = 0; i < width; i++) { for (int j = 0; j < width; j++) { blocks[width.ToString() + ";" + height.ToString()] = null; } } level = new LevelRudiment(); gridMeshPrefab = (GameObject)Resources.Load("GridMesh"); randomModePercentValue = GameObject.Find("RandomPercentField").GetComponent <InputField>(); foreach (GameObject obj in Resources.LoadAll <GameObject>("GameObjects")) { interactiveObjectPrefabs.Add(obj.name, obj.gameObject); } }
// Use this for initialization void Start() { tileList = GameObject.Find("ObjectsLists").GetComponent <ListElementsController>(); }
public void DrawLevel() { DestroyMeshes(); ListElementsController.listElementsController.LoadTexturesByName(level.textureName); //DropDownScript.dropDownScript. if (meshes.Count == 0) { meshes.Add(Instantiate(levelMeshPrefab)); } List <Block> blocks = level.fixBlocks; blocks.AddRange(level.randomBlocks); foreach (Block block in blocks) { if (meshes [meshes.Count - 1].GetComponent <LevelMesh> ().newVertices.Count >= 12000) { meshes.Add(Instantiate(levelMeshPrefab)); } List <Vector2> uvs = ListElementsController.listElementsController.GetUVsByID(block.uvsID); //new List<Vector2> (); /*foreach (SerializableVector2 sUv in block.squareUV) { * uvs.Add (new Vector2 (sUv.x, sUv.y)); * }*/ meshes [meshes.Count - 1].GetComponent <LevelMesh> ().GenTile(block.blockCoords.x, block.blockCoords.y, block.blockCoords.z, uvs); } List <DecorBlock> decorBlocks = level.fixDecorBlocks; decorBlocks.AddRange(level.randomDecorBlocks); foreach (DecorBlock decorBlock in decorBlocks) { if (meshes [meshes.Count - 1].GetComponent <LevelMesh> ().newVertices.Count >= 12000) { meshes.Add(Instantiate(levelMeshPrefab)); } List <Vector3> vertices = new List <Vector3> (); foreach (SerializableVector3 vert in decorBlock.blockCoords) { vertices.Add(new Vector3(vert.x, vert.y, vert.z)); } List <Vector2> uvs = ListElementsController.listElementsController.GetUVsByID(decorBlock.uvsID); //new List<Vector2> (); /*foreach (SerializableVector2 sUv in decorBlock.squareUV) { * uvs.Add (new Vector2 (sUv.x, sUv.y)); * }*/ meshes [meshes.Count - 1].GetComponent <LevelMesh> ().GenSquareByCoords(vertices, uvs); } List <InteractiveObject> objects = level.fixInteractiveObjects; objects.AddRange(level.randomInteractiveObjects); foreach (InteractiveObject obj in objects) { GameObject newObj = Instantiate((GameObject)Resources.Load("GameObjects/" + obj.type)); newObj.GetComponent <InteractiveObjectScene> ().objId = obj.objId; newObj.transform.position = new Vector3(obj.objCoord.x, obj.objCoord.y, obj.objCoord.z); } GameObject setListGround = GameObject.Find("GridSetsList"); foreach (Set newSet in level.sets) { GameObject newSetGround = Instantiate((GameObject)Resources.Load("UI/SetGround")); newSetGround.transform.parent = setListGround.transform; newSetGround.transform.GetChild(0).gameObject.GetComponent <AddedSet> ().setId = newSet.objId; newSetGround.transform.GetChild(0).GetChild(0).gameObject.GetComponent <Text> ().text = "set " + newSet.objId.ToString(); } Sprite[] sprites = Resources.LoadAll <Sprite> ("TileSets/" + "set_" + level.textureName); Texture mainTexture = sprites [0].texture; ListElementsController.SetTextureToMeshes(mainTexture); GridController.gridController.gridWidth = level.levelWidth; GridController.gridController.gridHeight = level.levelHeight; GridController.gridController.widthInputField.text = level.levelWidth.ToString(); GridController.gridController.heightInputField.text = level.levelHeight.ToString(); GridController.gridController.RedrawGrid(); }
void Awake() { listElementsController = this; }