Пример #1
0
    private void Start()
    {
        playersInObstructionAtStart = new List <GameObject>();
        playersToRemove             = new List <GameObject>();
        spawnAndTrackItemsScript    = FindObjectOfType <SpawnAndTrackItems>();
        clickToMoveScript           = FindObjectOfType <ClickToMove>();
        playersInBox = new List <GameObject>();


        obstructionCollider    = gameObject.GetComponent <Collider>();
        colliderWidthAndLength = obstructionCollider.bounds.size.x;
        colliderHeight         = obstructionCollider.bounds.size.y;

        colliderHalfExtents = new Vector3(colliderWidthAndLength, colliderHeight, colliderWidthAndLength) / 2;
        Collider[] insideAtStart = Physics.OverlapBox(transform.position, colliderHalfExtents, Quaternion.identity);

        /**
         * For every player that is in the obstruction on instantiation, add them to a List to allow them to walk through the obstruction temporarily.
         * */
        foreach (var collider in insideAtStart)
        {
            //add one collider per player
            if (collider.gameObject.tag.Equals("Player") && !collider.isTrigger)
            {
                playersInObstructionAtStart.Add(collider.gameObject);
            }
        }
    }
    //right click is 1
    //left click is 0
    //middle button is 2
    void Start()
    {
        rightClickMenu = false;
        //itemDropdownMenuScript = GetComponent<ItemDropdownMenu>();

        storedLocations = new Stack <Vector3>();

        sizeText             = sizeTextObject;
        visualText           = visualTextObject;
        playerTransform      = GetComponentInParent <Transform>();
        agent                = gameObject.GetComponent <NavMeshAgent>();
        inventory            = FindObjectOfType <Inventory>();
        moveAwayScript       = FindObjectOfType <MoveAwayFromObstruction>();
        trackItemsScript     = FindObjectOfType <SpawnAndTrackItems>();
        spawnScriptReference = trackItemsScript.gameObject.GetComponent <SpawnScript>();
        itemMouseover        = mouseover;
        Rect rt = itemMouseover.GetComponent <RectTransform>().rect;

        mouseOverOffset              = new Vector3(-6 + -rt.width, 5 + rt.height, 0);
        players                      = 1 << LayerMask.NameToLayer("Player");
        itemLayerMask                = 1 << LayerMask.NameToLayer("Item");
        groundLayerMask              = 1 << LayerMask.NameToLayer("Level");
        obstructions                 = 1 << LayerMask.NameToLayer("Obstruction");
        itemsGroundObstructions      = itemLayerMask | groundLayerMask | obstructions;
        itemsPlayersObstructionsMask = itemLayerMask | obstructions | players;
    }
Пример #3
0
    /**
     * Used to configure the inventory slots
     * */
    void Start()
    {
        inventory           = FindObjectOfType <Inventory>();
        placeableItemScript = FindObjectOfType <PlaceableItem>();
        trackItemsScript    = FindObjectOfType <SpawnAndTrackItems>();
        backgroundSlots     = inventory.backgroundSlots;
        inventorySlots      = inventory.allInventorySlots;
        //canvas = FindObjectOfType<Canvas>();
        Items = new Stack <Item>();
        RectTransform slotRectTrans = GetComponent <RectTransform>();
        RectTransform textRectTrans = stackText.GetComponent <RectTransform>();

        int textScaleFactor = (int)(slotRectTrans.sizeDelta.x * scaleFactor);

        textRectTrans.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, slotRectTrans.sizeDelta.y);
        textRectTrans.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, slotRectTrans.sizeDelta.x);

        stackText.resizeTextMaxSize = textScaleFactor;
        stackText.resizeTextMinSize = textScaleFactor;
    }