public override void OnInspectorGUI() { DrawDefaultInspector(); SetPiece myScript = (SetPiece)target; if (GUILayout.Button("Build Set Piece")) { myScript.DoSetup(); } }
public Tile() { gc = GameController.main; //things[0] = new SetPiece(gc.setPiecePrefs[0]); things[1] = new SetPiece(gc.setPiecePrefs[0]); //things[2] = new SetPiece(gc.setPiecePrefs[0]); things[3] = new SetPiece(gc.setPiecePrefs[0]); //things[4] = new SetPiece(gc.setPiecePrefs[0]); things[5] = new SetPiece(gc.setPiecePrefs[0]); }
public PlatformHelper(List <Platform> platforms, Lava lava) { this.platforms = platforms; this.lava = lava; setPieces = new List <SetPiece>(); random = new Random(); SetPiece.Initialize(platforms); SimpleEvent.AddEvent(EventTypes.LISTENER, new ListenerEventData(EventTypes.RESET, this)); }
public void GenerateSetPieces(LevelManager lMan) { transform.position = new Vector3((chunkPosX * GlobalDataContainer.chunkWidth * GlobalDataContainer.tileWidth), (chunkPosY * GlobalDataContainer.chunkHeight * GlobalDataContainer.tileHeight), 0); for (int i = 0; i < slots.Count; i++) { GameObject obj = Instantiate(slots[i].possiblePieces[Random.Range(0, slots[i].possiblePieces.Count)].gameObject); obj.transform.SetParent(this.transform); obj.transform.localPosition = new Vector3(slots[i].xPos * GlobalDataContainer.tileWidth, slots[i].yPos * GlobalDataContainer.tileHeight, 0); SetPiece newSet = obj.GetComponent <SetPiece>(); slots[i].attachedPiece = newSet; slots[i].filled = true; //TODO: add active objects to level manager. } PopulateTileGrid(); }
void ScanMap() { foreach (Texture2D map in mapData) { GameObject newMap = new GameObject(map.name); processedTiles.Clear(); for (int i = 0; i < map.width; i++) { for (int j = 0; j < map.height; j++) { GenerateTile(map, newMap, j, i); } } switch (type) { case MapType.CHUNK: GameObject baseTiles = new GameObject("Base Tiles"); baseTiles.transform.SetParent(newMap.transform); baseTiles.AddComponent <SetPiece>(); SetPiece piece = baseTiles.GetComponent <SetPiece>(); piece.grid.AddRange(processedTiles); piece.Width = map.width; piece.Height = map.height; newMap.AddComponent <LevelChunk>(); LevelChunk tempChunk = newMap.GetComponent <LevelChunk>(); tempChunk.baseTiles = piece; Object prefab = PrefabUtility.CreatePrefab("Assets/Resources/Prefabs/LevelPrefabs/LevelChunks/" + map.name + ".prefab", newMap); //AssetDatabase.CreateAsset(newMap, "Assets/Resources/Prefabs/LevelPrefabs/LevelChunks/" + map.name); break; case MapType.SETPIECE: newMap.AddComponent <SetPiece>(); SetPiece tempPiece = newMap.GetComponent <SetPiece>(); tempPiece.grid.AddRange(processedTiles); tempPiece.Width = map.width; tempPiece.Height = map.height; AssetDatabase.CreateAsset(newMap, "Assets/Resources/Prefabs/LevelPrefabs/SetPieces/" + map.name); break; } } }
public void Update(float dt) { for (int i = 0; i < setPieces.Count; i++) { SetPiece setPiece = setPieces[i]; if (setPiece.Destroyed) { setPieces.RemoveAt(i); } else { setPiece.Update(dt); } } for (int i = 0; i < platforms.Count; i++) { Platform platform = platforms[i]; if (platform.Destroyed) { platforms.RemoveAt(i); } else { BoundingBox2D boundingBox = platform.BoundingBox; Vector2 bottomLeft = new Vector2(boundingBox.Left, boundingBox.Bottom); Vector2 bottomRight = new Vector2(boundingBox.Right, boundingBox.Bottom); if (lava.CheckSubmerged(bottomLeft) || lava.CheckSubmerged(bottomRight)) { platform.Destroy(); platforms.RemoveAt(i); } else { platform.Update(dt); } } } GeneratePlatforms(); }
public override void DrawTask(Scene scene) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Target"); Target = (Transform)EditorGUILayout.ObjectField(Target, typeof(Transform), true); EditorGUILayout.EndHorizontal(); if (Target == null) { EditorGUILayout.HelpBox($"Target Cannot be empty", MessageType.Error); } EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("SetPiece"); SetPiece = (SetPiece)EditorGUILayout.ObjectField(SetPiece, typeof(SetPiece), true); EditorGUILayout.EndHorizontal(); if (SetPiece == null) { EditorGUILayout.HelpBox($"SetPiece Cannot be empty", MessageType.Error); } base.DrawTask(scene); }