public void Upgrade() { var interacting = CanvasUI_Main_cs.GetInteracting(); var h = interacting.HouseHoldItemData; if (interacting != null && interacting.HouseHoldItemData.Upgrade != null) { MainGameManager.Cash -= interacting.HouseHoldItemData.upgradeCost; Vector3 p = interacting.transform.position; Quaternion r = interacting.transform.rotation; bool canMove = interacting.CanMove, canDelete = interacting.CanDelete; GameObject.Destroy(interacting.gameObject); GameObject obj = GameObject.Instantiate(h.Upgrade.prefab); obj.name = h.Upgrade.name; obj.transform.position = p; obj.transform.rotation = r; var placementObj = obj.AddComponent <PlacementObject>(); Vector2 wd = CalculateWidthAndDepth(h.Upgrade); placementObj.width = wd.x; placementObj.depth = wd.y; var houseHoldItem = obj.AddComponent <HouseHoldItem_monobehaviour>(); houseHoldItem.SetHouseHoldItemDataID(h.Upgrade.ID); houseHoldItem.CanMove = canMove; houseHoldItem.CanDelete = canDelete; _this.currently_buying = houseHoldItem; _this.currentlyPlacing = placementObj; var transforms = currently_buying.gameObject.GetComponentsInChildren <Transform>(); foreach (var t in transforms) { if (t.GetComponent <MeshCollider>() == null) { var collider = t.gameObject.AddComponent <MeshCollider>(); collider.sharedMesh = t.gameObject.GetComponent <MeshFilter>().sharedMesh; collider.convex = true; } } currently_buying = null; currentlyPlacing = null; CanvasUI_Main_cs.RequestCloseUpgrade(); } }
private void CheckForInteractableObject() { RaycastHit hit; if (Physics.Raycast(CameraControl.Camera.ScreenPointToRay(Input.mousePosition), out hit, 1000f)) { var m = hit.transform.GetComponent <HouseHoldItem_monobehaviour>(); if (m != null) { CanvasUI_Main_cs.SetInteracting(m); } else { CanvasUI_Main_cs.SetInteracting(null); } } else { CanvasUI_Main_cs.SetInteracting(null); } }
public static void Buy(HouseHoldItemData data) { CanvasUI_Main_cs.RequestCloseShop(); GameObject obj = GameObject.Instantiate(data.prefab); obj.name = data.name; obj.transform.position = _this.defaultItemSpawnPosition; var placementObj = obj.AddComponent <PlacementObject>(); Vector2 wd = CalculateWidthAndDepth(data); placementObj.width = wd.x; placementObj.depth = wd.y; var houseHoldItem = obj.AddComponent <HouseHoldItem_monobehaviour>(); houseHoldItem.SetHouseHoldItemDataID(data.ID); _this.currently_buying = houseHoldItem; _this.currentlyPlacing = placementObj; _this.StartCoroutine(_this.BuyCoroutine()); }
public static void OnOpenShop() { ChangeCategory(CanvasUI_Main_cs.GetDefaultCategory()); }
public static void Move(HouseHoldItem_monobehaviour m, PlacementObject o) { CanvasUI_Main_cs.RequestCloseInteraction(); _this.StartCoroutine(_this.MoveCoroutine(m, o)); }
private void OnEnable() { _this = this; StartCoroutine(DelayedOnEnable()); }