Example #1
0
    // Start is called before the first frame update
    void Start()
    {
        filterMining = new ContactFilter2D();
        filterMining.useLayerMask = true;
        filterMining.layerMask    = layerMaskMining;
        filterMining.useTriggers  = true;

        filter = new ContactFilter2D();
        filter.useLayerMask = true;
        filter.layerMask    = layerMask;
        filter.useTriggers  = false;

        placeSprite = Instantiate(placeSpritePrefab, Vector3.zero, Quaternion.identity);
        Inventory[] inventories = GetComponents <Inventory>();
        for (int i = 0; i < inventories.Length; i++)
        {
            if (inventories[i] is AmmoSlot)
            {
                ammoInventory = inventories[i] as AmmoSlot;
            }
            else
            {
                playerInventory = inventories[i];
            }
        }

        playerInventory     = GetComponent <Inventory>();
        placeSpriteRenderer = placeSprite.GetComponent <SpriteRenderer>();
        Camera.main.GetComponent <CameraFollow>().SetCameraTarget(this.gameObject);

        placeGrid            = GameObject.FindGameObjectWithTag("Grid").GetComponent <Grid>();
        canvas               = GameObject.Find("Canvas");
        machinePanelInteract = Instantiate(machinePanelInteractPrefab, canvas.transform);
        inventoryInteract    = Instantiate(inventoryPanelInteractPrefab, canvas.transform);
        inventoryPanel       = Instantiate(inventoryPanelPrefab, canvas.transform);
        craftingPanel        = Instantiate(craftingPanelPrefab, canvas.transform);
        inventoryAmmo        = Instantiate(ammoInventoryPrefab, canvas.transform);
        mouseInventoryUI     = Instantiate(mouseInventoryPrefab, canvas.transform);
        tooltip              = Instantiate(tooltipPanelPrefab, canvas.transform);
        filterItemPanel      = Instantiate(filterItemPanelPrefab, canvas.transform);

        mouseInventoryUI.GetComponent <InventoryMouse>().SetInventory(mouseInventory);
        machineUI           = machinePanelInteract.GetComponentInChildren <MachineUI>();
        inventoryInteractUI = inventoryInteract.GetComponentInChildren <InventoryUI>();
        inventoryUI         = inventoryPanel.GetComponentInChildren <InventoryUI>();
        craftingUI          = craftingPanel.GetComponentInChildren <CraftingUI>();
        inventoryAmmoUI     = inventoryAmmo.GetComponentInChildren <InventoryUI>();
        ammoSlotSelected    = inventoryAmmo.GetComponentInChildren <HighlightSlotUI>();
        filterItemUI        = filterItemPanel.GetComponent <UIFilterItem>();

        inventoryAmmoUI.SetViewedInventory(ammoInventory);
        inventoryAmmoUI.SetMouseInventory(mouseInventory);
        inventoryUI.SetViewedInventory(playerInventory);
        inventoryUI.SetMouseInventory(mouseInventory);
        inventoryInteractUI.SetMouseInventory(mouseInventory);
        craftingUI.SetLinkedInventory(playerInventory);
        machineUI.SetMouseInventory(mouseInventory);



        characterAlliance = AllianceDefinitions.Instance.GetAlliance("Character");
        this.gameObject.GetComponent <Health>().alliance = characterAlliance.allianceCode;
    }