コード例 #1
0
    void AddAttachmentSlot(int numOfSlots)
    {
        for (int i = 0; i < numOfSlots; i++)
        {
            GameObject tempSpawned = Instantiate(attachmentSlotToSpawn);
            tempSpawned.transform.SetParent(inventoryParent.transform);
            tempSpawned.transform.localScale = new Vector3(1, 1);
            numOfAttachmentSlots++;
            int tempInt = numOfAttachmentSlots - 1;
            attachmentImages.Add(tempSpawned.transform.GetChild(1).GetComponent <Image>());
            //armorImages[tempInt].rectTransform.localPosition = new Vector3(12.8f, -12.8f, 0);
            attachmentButtons.Add(tempSpawned.GetComponent <Button>());

            tempSpawned.GetComponent <Button>().onClick.AddListener(() => OnButtonClickAttachment(tempInt));
            RightClickButton rightClick = tempSpawned.GetComponent <RightClickButton>();
            rightClick.rightClick.AddListener(() => OnRightClickAttachment(tempInt));
            EventTrigger       trigger   = tempSpawned.GetComponent <EventTrigger>();
            EventTrigger.Entry entry     = new EventTrigger.Entry();
            EventTrigger.Entry exitEntry = new EventTrigger.Entry();
            exitEntry.eventID = EventTriggerType.PointerExit;
            exitEntry.callback.AddListener((data) => { OnPointerExitAttachment(); });
            entry.eventID = EventTriggerType.PointerEnter;
            entry.callback.AddListener((data) => { OnPointerEnterAttachment(tempInt); });
            trigger.triggers.Add(entry);
            trigger.triggers.Add(exitEntry);
        }
    }
コード例 #2
0
    void AddWeaponSlot()
    {
        GameObject tempSpawned = Instantiate(weaponSlotToSpawn);

        tempSpawned.transform.SetParent(weaponDisplayParent.transform);
        tempSpawned.transform.localScale = new Vector3(1, 1);
        numOfWeaponSlots++;
        int tempInt = numOfWeaponSlots - 1;

        weaponImages.Add(tempSpawned.transform.GetChild(0).GetComponent <Image>());
        weaponButtons.Add(tempSpawned.GetComponent <Button>());

        tempSpawned.GetComponent <Button>().onClick.AddListener(() => OnButtonClickWeapon(tempInt));
        RightClickButton rightClick = tempSpawned.GetComponent <RightClickButton>();

        rightClick.rightClick.AddListener(() => OnRightClickWeapon(tempInt));
        EventTrigger trigger = tempSpawned.GetComponent <EventTrigger>();

        EventTrigger.Entry entry     = new EventTrigger.Entry();
        EventTrigger.Entry exitEntry = new EventTrigger.Entry();
        exitEntry.eventID = EventTriggerType.PointerExit;
        exitEntry.callback.AddListener((data) => { OnPointerExitWeapon(); });
        entry.eventID = EventTriggerType.PointerEnter;
        entry.callback.AddListener((data) => { OnPointerEnterWeapon(tempInt); });
        trigger.triggers.Add(entry);
        trigger.triggers.Add(exitEntry);
    }
コード例 #3
0
    void AddTrigger(RightClickButton button, triggerFunc func)
    {
        EventTrigger trigger = button.GetComponent <EventTrigger>();

        EventTrigger.Entry entry = new EventTrigger.Entry();
        entry.eventID = EventTriggerType.PointerDown;
        entry.callback.AddListener((data) => { func((PointerEventData)data); });
        trigger.triggers.Add(entry);
    }
コード例 #4
0
    RightClickButton MakeButton(GameObject prefab, triggerFunc func, int offset)
    {
        GameObject obj = Instantiate(prefab) as GameObject;

        obj.transform.SetParent(this.transform);
        RightClickButton button = obj.GetComponent <RightClickButton>();

        button.offset = offset;
        this.AddTrigger(button, func);
        return(button);
    }
コード例 #5
0
    void Start()
    {
        GameObject prefab = Resources.Load("Prefabs/RightClickButton") as GameObject;
        GameObject cam    = GameObject.Find("Client/CameraAnchor/OrbitCamera");

        this.target = GameObject.Find("Client/CameraAnchor");
        this.camera = cam.GetComponent <OrbitCamera>();

        this.follow  = this.MakeButton(prefab, this.OnFollow, 0);
        this.examine = this.MakeButton(prefab, this.OnExamine, 1);

        this.gameObject.SetActive(false);
        this.bounds = this.GetComponent <RectTransform>();
        this.bounds.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 2 * 32 + 8);
        this.bounds.ForceUpdateRectTransforms();
    }
コード例 #6
0
    void show()
    {
        Vector3           tileCoords  = getHoveredTileCoordinates();
        Tile              t           = map.tiles[(int)tileCoords.x, (int)tileCoords.y];
        List <TileAction> tileActions = t.getTileActions(map.getCurrentUnit());

        if (tileActions.Count == 0)
        {
            hide();
            return;
        }
        shown = true;
        moveTooltipAboveHoveredTile();
        gameObject.SetActive(true);
        for (int n = rightClickActionButtonContainer.childCount - 1; n >= 0; n--)
        {
            RightClickButton b = rightClickActionButtonContainer.GetChild(n).GetComponent <RightClickButton>();
            if (b.mouseOver)
            {
                b.mouseExit();
            }
            GameObject.Destroy(b.gameObject);
        }
        foreach (TileAction tA in tileActions)
        {
            GameObject tileButton = GameObject.Instantiate(rightClickActionButtonPrefab) as GameObject;
            tileButton.transform.GetChild(0).GetComponent <Text>().text = tA.toString();
            tileButton.transform.SetParent(rightClickActionButtonContainer, false);
            //		tileButton.transform.localScale = new Vector3(1.0f, 1.0f, 1.0f);
            //		tileButton.transform.localPosition = new Vector3(0.0f, 0.0f, 0.0f);
            RightClickButton b = tileButton.GetComponent <RightClickButton>();
            b.action = tA;
        }
        trans.sizeDelta = new Vector2(trans.sizeDelta.x, tileActions.Count * 50.0f);
        if (currentRightClickTile != null && currentRightClickTile != t)
        {
            currentRightClickTile.currentRightClick = false;
        }
        currentRightClickTile = t;
        currentRightClickTile.currentRightClick = true;
    }
コード例 #7
0
 void hide()
 {
     if (!shown)
     {
         return;
     }
     shown = false;
     pointerExit();
     gameObject.SetActive(false);
     for (int n = rightClickActionButtonContainer.childCount - 1; n >= 0; n--)
     {
         RightClickButton b = rightClickActionButtonContainer.GetChild(n).GetComponent <RightClickButton>();
         if (b.mouseOver)
         {
             b.mouseExit();
         }
         GameObject.Destroy(b.gameObject);
     }
     if (currentRightClickTile != null)
     {
         currentRightClickTile.currentRightClick = false;
         currentRightClickTile = null;
     }
 }