public void ReplaceTile(Vector2 tilePos) { SaveManager.SavableObject.WorldObject objectData = Constructor.CloneObjectData(Concrete, tilePos, Quaternion.identity, Color.white); GameObject n_concrete = Constructor.GetObject(objectData, ConcreteParent.transform); ReplaceTileInDictionary(tilePos, n_concrete); if (Time.timeSinceLevelLoad > 1) { UpdateGrid(); } }
private void SpawnObject(Vector3 spawnPoint) { if (Spawning == null || ghostObject == null || ghostObject.ghostData.okayToPlace == false) { return; } Debug.Log($"Spawning {Spawning.name} at {spawnPoint}"); if (GameHandler.instance.Money < Spawning.pVal) { NotificationManager.instance.ShowNotification($"You don't have enought money for that!\n${Spawning.pVal}"); return; } if (worldObjectParent == null) { worldObjectParent = GameObject.Find("Building"); if (worldObjectParent == null) { worldObjectParent = new GameObject("Building"); } } Color newColor = (Spawning.ChangableColor) ? PlacingColor : Spawning.color; GameObject spawnedObject = Constructor.GetObject(Constructor.CloneObjectData(Spawning, spawnPoint, ghostObject.transform.rotation, newColor), worldObjectParent.transform); if (ghostObject.ghostData.overlapping != null) { if (ghostObject.ghostData.overlapping[ghostObject.ghostData.overlapping.Length - 1].objectData.type == ObjectType.Abstract) { MapLayoutManager.ReplaceTileInDictionary(spawnPoint, spawnedObject); } } GameHandler.instance.Money -= Spawning.pVal; Debug.Log($"Spawned {Spawning.name} at {spawnPoint}"); }