Example #1
0
    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();
        }
    }
Example #2
0
    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);
        }
    }
Example #3
0
    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());
    }
Example #4
0
 public static void OnOpenShop()
 {
     ChangeCategory(CanvasUI_Main_cs.GetDefaultCategory());
 }
Example #5
0
 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());
    }