Exemple #1
0
        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();
            }
        }
Exemple #2
0
        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}");
        }