Example #1
0
    internal void BuildRadialMenu(RedHomestead.Equipment.Loadout load)
    {
        if (RadialMenu.Radials == null)
        {
            RadialMenu.Radials = new Image[RadialMenu.RadialsParent.childCount];

            foreach (Transform t in RadialMenu.RadialsParent)
            {
                Image img   = t.GetComponent <Image>();
                int   index = int.Parse(img.name);
                RedHomestead.Equipment.Slot s = (RedHomestead.Equipment.Slot)index;
                RadialMenu.Radials[(int)s] = img;
            }
        }


        int i = 0;

        foreach (Image img in RadialMenu.Radials)
        {
            RedHomestead.Equipment.Slot s = (RedHomestead.Equipment.Slot)i;
            img.sprite = EquipmentSprites.FromEquipment(load[s]);
            i++;
        }
    }
Example #2
0
    internal void HighlightSector(float theta)
    {
        var rotation = Mathf.Lerp(0, 360, Mathf.InverseLerp(-180f, 180f, theta));

        int index = (int)Mathf.Round((rotation - sectorThetaOffset) / 60f);

        //corresponds to enum -^

        //corresponds to UI rotation -v
        rotation = (index + 2) * 60f;
        this.RadialMenu.RadialSelector.rectTransform.localRotation = Quaternion.Euler(0, 0, rotation);

        if ((int)lastHoverSlot > -1)
        {
            RadialMenu.Radials[(int)lastHoverSlot].color = RadialMenu.DefaultColor;
        }

        RadialMenu.Radials[index].color = RadialMenu.HoverColor;

        lastHoverSlot = (RedHomestead.Equipment.Slot)index;
    }