コード例 #1
0
    public void InstantiateTileAtPosition(InventoryTileInfo info, int position)
    {
        InventorySlot inventorySlot = slotTransforms[position].GetComponent<InventorySlot>();

        Transform slotTransform = slotTransforms[position];

        GameObject newTile = Instantiate(genericInventoryTile) as GameObject;

        newTile.transform.SetParent(transform);
        newTile.transform.position = slotTransform.position;
        // Need to set this explicitly or else scale will automatically be set to the wrong value.
        newTile.transform.localScale = new Vector2(1, 1);

        newTile.GetComponent<RectTransform>().sizeDelta = tileSize;
        newTile.GetComponent<InventoryTile>().Init(slotTransform, slotRects, info.Weapon, tooltip);
        inventorySlot.SetTile(newTile.GetComponent<InventoryTile>());
        Player.PlayerWeaponControl.ReconfigureWeapons();
    }
コード例 #2
0
    public void InstantiateNewTile(InventoryTileInfo info)
    {
        int slotNumber = -1;

        for (int i = 0; i < slotTransforms.Count; i++)
        {
            InventorySlot inventorySlot = slotTransforms[i].GetComponent<InventorySlot>();
            if (!inventorySlot.Occupied)
            {
                slotNumber = i;
                break;
            }
        }

        if (slotNumber != -1)
        {
            InstantiateTileAtPosition(info, slotNumber);
        }
    }