public override UIStyleInfoInterface GetStyle(Component component) { Button comp = (Button)component; UIButtonInfo style = (UIButtonInfo)base.GetStyle(component); style.interactable = comp.interactable; return(style); }
public void ShowButton(int id, bool state) { for (int i = 0; i < Elements.Count; i++) { elem = Elements[i]; if (elem.ID == id) { elem.TriggerTarget.gameObject.SetActive(state); break; } } }
//Включает активность кнопки(через raycastTarget) public void ActiveClickable(int id, bool state) { for (int i = 0; i < Elements.Count; i++) { elem = Elements[i]; if (elem.ID == id) { elem.TriggerTarget.raycastTarget = state; break; } } }
public bool IsShowVisual(int id) { for (int i = 0; i < Elements.Count; i++) { elem = Elements[i]; if (elem.ID == id) { return(elem.TriggerTarget.enabled); } } return(false); }
public void SetTriggerSprite(int id, Sprite spriteTrigger) { for (int i = 0; i < Elements.Count; i++) { elem = Elements[i]; if (elem.ID == id) { elem.TriggerTarget.sprite = spriteTrigger; return; } } //if (id >= Elements.Length && spriteTrigger != null) return; //Elements[id].TriggerTarget.sprite = spriteTrigger; }
public bool CheckTriggerArea(int id, Vector2 pos) { for (int i = 0; i < Elements.Count; i++) { elem = Elements[i]; if (elem.ID == id) { Image _img = elem.OtherCheckAreaForTrigger == null ? elem.TriggerTarget : elem.OtherCheckAreaForTrigger; //Debug.LogError("CheckTriggerArea"); return(RectTransformUtility.RectangleContainsScreenPoint(_img.rectTransform, pos, null)); } } return(false); }
public void SetVisualImageSprite(int id, Sprite spriteImage) { for (int i = 0; i < Elements.Count; i++) { elem = Elements[i]; if (elem.ID == id) { if (elem.isImage) { elem.Image.sprite = spriteImage; } break; } } }
public void ActiveSprite(int id) { for (int i = 0; i < Elements.Count; i++) { elem = Elements[i]; if (elem.ID == id) { if (elem.isSprite) { elem.Image.sprite = elem.State ? elem.SpriteDown : elem.SpriteUp; } break; } } }
public void ShowVisual(int id, bool state) { for (int i = 0; i < Elements.Count; i++) { elem = Elements[i]; if (elem.ID == id) { if (elem.Image != null) { elem.Image.enabled = state; } elem.TriggerTarget.enabled = state; break; } } }
bool SetTriggerState(int id, bool state) { for (int i = 0; i < Elements.Count; i++) { elem = Elements[i]; if (elem.ID == id) { if (elem.isSprite) { elem.Image.sprite = state ? elem.SpriteDown : elem.SpriteUp; } elem.State = state; return(true); } } return(false); }
public void Click2(int id, bool state, PointerEventData data) { for (int i = 0; i < Elements.Count; i++) { elem = Elements[i]; if (elem.ID == id) { if (state) { elem.Trigger.OnPointerDown(data); } else { elem.Trigger.OnPointerUp(data); } } } }
public void SetColorTriggerSprite(int id, Color color) { for (int i = 0; i < Elements.Count; i++) { elem = Elements[i]; if (elem.ID == id) { if (elem.Image == null) { elem.TriggerTarget.color = color; } else { elem.Image.color = color; } break; } } }
public int AddButton(UIButtonInfoBase param) { if (param.TriggerTarget == null) { #if UNITY_EDITOR Debug.LogError("У ЭЛЕМЕНТА НЕ НАЗНАЧЕН TriggerTarget"); #endif return(-1); } //hmmm //Array.Resize(ref Elements, Elements.Count + 1); var info = new UIButtonInfo() { TriggerTarget = param.TriggerTarget, Image = param.Image, SpriteDown = param.SpriteDown, SpriteUp = param.SpriteUp, OtherCheckAreaForTrigger = param.OtherCheckAreaForTrigger }; //Elements[Elements.Count - 1] = info; Elements.Add(info); info.ID = Elements.Count - 1; info.Trigger = info.TriggerTarget.gameObject.AddComponent <EventTrigger>(); info.Trigger.triggers.Clear(); var onUp = new EventTrigger.Entry(); onUp.eventID = EventTriggerType.PointerUp; int id = info.ID; onUp.callback.AddListener((a) => { UpTrigger(Elements[id].ID); }); var onDown = new EventTrigger.Entry(); onDown.eventID = EventTriggerType.PointerDown; onDown.callback.AddListener((a) => { DownTrigger(Elements[id].ID); }); info.Trigger.triggers.Add(onUp); info.Trigger.triggers.Add(onDown); info.isImage = info.Image != null; info.isSprite = info.isImage && info.SpriteDown != null && info.SpriteUp != null; if (info.isSprite) { info.Image.sprite = info.SpriteUp; } return(id); }
public void SetSprites(int id, Sprite spriteUp, Sprite spriteDown) { for (int i = 0; i < Elements.Count; i++) { elem = Elements[i]; if (elem.ID == id) { bool isImage = elem.Image != null; elem.isSprite = isImage && spriteUp != null && spriteDown != null; if (elem.isSprite) { elem.SpriteUp = spriteUp; elem.SpriteDown = spriteDown; if (elem.Image.sprite == null) { Color clr = elem.Image.color; clr.a = 1f; elem.Image.color = clr; } elem.Image.sprite = elem.State ? spriteDown : spriteUp; } else { elem.SpriteUp = null; elem.SpriteDown = null; if (isImage) { elem.Image.sprite = null; Color clr = elem.Image.color; clr.a = 0f; elem.Image.color = clr; } } break; } } }
void ReturnInDefault() { for (int i = Elements.Count - 1; i >= 0; i--) { elem = Elements[i]; if (elem.isSprite) { elem.Image.sprite = elem.SpriteUp; } bool prev = elem.State; elem.State = false; if (prev) { if (Callback != null) { Callback(elem.ID, false); } if (CallbackOnDown != null) { CallbackOnDown(elem.ID); } } } }