private void SetSpawningObject(SaveManager.SavableObject.WorldObject obj) { ClearObject(); ObjectPlacingManager.Spawning = obj; CursorManager.instance.UpdateCursor(Modding.ModLoader.GetTexture(ObjectPlacingManager.Spawning.spriteName)); Descriptiontext.text = $"{obj.name}\n${obj.pVal}"; }
private void CreateGhost(Vector3 position, string objectName, SaveManager.SavableObject.WorldObject placing, Sprite sprite) { UpdateGhostCount(); void CreateObject() { Debug.Log($"Placing ghost at {position}"); var Ghost = Tasks.GhostManager.GetGhost(placing); Ghost.transform.position = position; Ghost.CheckForCollisions(); Ghosts.Add(Ghost); } if (Ghosts.Count > 0) { bool itemExistsAtPosition = false; for (int i = 0; i < Ghosts.Count; i++) { var item = Ghosts[i]; if (item == null) { continue; } if (positionExists(item.transform.position) == false) { Ghosts[i].gameObject.SetActive(false); continue; } else if (item.transform.position == position) { item.CheckForCollisions(); itemExistsAtPosition = true; continue; } } if (itemExistsAtPosition == false) { CreateObject(); } } else { CreateObject(); } }
private void CreateGhost(string objectName = "BullDozer", SaveManager.SavableObject.WorldObject placing = null) { if (ghostObject != null) { //destroy the last ghostObject Destroy(ghostObject); } ghostObject = new GameObject($"{objectName}.GhostObject").AddComponent <GhostObject>(); ghostObject.ghostData.placing = placing; ghostObject.enabled = false; }
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 SpawnButton(SaveManager.SavableObject.WorldObject obj) { GameObject go = Instantiate(itemPrefab, spawningParent); go.name = $"{obj.name}.Button"; var img = go.GetComponent <Image>(); img.sprite = Modding.ModLoader.GetSprite(obj.spriteName); var button = go.GetComponent <Button>(); button.targetGraphic = img; button.onClick.AddListener(() => SetSpawningObject(obj)); }
public void ClearObject() { Spawning = null; bullDozing = false; if (ghostObject != null) { Destroy(ghostObject.gameObject); } ghostObject = null; ghostSprite = null; GameHandler.gameState = GameHandler.GameState.Default; CursorManager.instance.UpdateCursor(); }
private static SaveManager.SavableObject.WorldObject GetObjectData(ModInfo data) { SaveManager.SavableObject.WorldObject r = new SaveManager.SavableObject.WorldObject { }; r = new SaveManager.SavableObject.WorldObject { name = data.name, pVal = data.price, wVal = data.wVal, type = data.type, objectType = data.objectType, fulFills = data.fulfilsNeed, childPos = data.childPos, spriteSortingLayer = data.spriteSortingLayer, color = data.color, spriteName = data.spriteName, rotatable = data.rotatable, ChangableColor = data.changableColor }; return(r); }
private void SetSpawningObject(SaveManager.SavableObject.WorldObject obj) { ClearObject(); Spawning = obj; }