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++; } }
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; }