/// <summary> /// Add a game event to the target action type gameEvents list. /// </summary> public void AddGameEvent(string eventName, bool whenToggleIsOn, ToggleActionType toggleActionType = ToggleActionType.OnClick) { if (eventName.IsNullOrEmpty()) { return; } switch (toggleActionType) { case ToggleActionType.OnPointerEnter: if (whenToggleIsOn) { if (onPointerEnterGameEventsToggleOn == null) { onPointerEnterGameEventsToggleOn = new List <string>() { eventName }; break; } if (!onPointerEnterGameEventsToggleOn.Contains(eventName)) { onPointerEnterGameEventsToggleOn.Add(eventName); } } else { if (onPointerEnterGameEventsToggleOff == null) { onPointerEnterGameEventsToggleOff = new List <string>() { eventName }; break; } if (!onPointerEnterGameEventsToggleOff.Contains(eventName)) { onPointerEnterGameEventsToggleOff.Add(eventName); } } break; case ToggleActionType.OnPointerExit: if (whenToggleIsOn) { if (onPointerExitGameEventsToggleOn == null) { onPointerExitGameEventsToggleOn = new List <string>() { eventName }; break; } if (!onPointerExitGameEventsToggleOn.Contains(eventName)) { onPointerExitGameEventsToggleOn.Add(eventName); } } else { if (onPointerExitGameEventsToggleOff == null) { onPointerExitGameEventsToggleOff = new List <string>() { eventName }; break; } if (!onPointerExitGameEventsToggleOff.Contains(eventName)) { onPointerExitGameEventsToggleOff.Add(eventName); } } break; case ToggleActionType.OnClick: if (whenToggleIsOn) { if (onClickGameEventsToggleOn == null) { onClickGameEventsToggleOn = new List <string>() { eventName }; break; } if (!onClickGameEventsToggleOn.Contains(eventName)) { onClickGameEventsToggleOn.Add(eventName); } } else { if (onClickGameEventsToggleOff == null) { onClickGameEventsToggleOff = new List <string>() { eventName }; break; } if (!onClickGameEventsToggleOff.Contains(eventName)) { onClickGameEventsToggleOff.Add(eventName); } } break; } }
/// <summary> /// Remove game event from the target action type gameEvents list. /// </summary> public void RemoveGameEvent(string eventName, bool whenToggleIsOn, ToggleActionType toggleActionType = ToggleActionType.OnClick) { if (eventName.IsNullOrEmpty()) { return; } switch (toggleActionType) { case ToggleActionType.OnPointerEnter: if (whenToggleIsOn) { if (onPointerEnterGameEventsToggleOn == null || !onPointerEnterGameEventsToggleOn.Contains(eventName)) { break; } onPointerEnterGameEventsToggleOn.Remove(eventName); } else { if (onPointerEnterGameEventsToggleOff == null || !onPointerEnterGameEventsToggleOff.Contains(eventName)) { break; } onPointerEnterGameEventsToggleOff.Remove(eventName); } break; case ToggleActionType.OnPointerExit: if (whenToggleIsOn) { if (onPointerExitGameEventsToggleOn == null || !onPointerExitGameEventsToggleOn.Contains(eventName)) { break; } onPointerExitGameEventsToggleOn.Remove(eventName); } else { if (onPointerExitGameEventsToggleOff == null || !onPointerExitGameEventsToggleOff.Contains(eventName)) { break; } onPointerExitGameEventsToggleOff.Remove(eventName); } break; case ToggleActionType.OnClick: if (whenToggleIsOn) { if (onClickGameEventsToggleOn == null || !onClickGameEventsToggleOn.Contains(eventName)) { break; } onClickGameEventsToggleOn.Remove(eventName); } else { if (onClickGameEventsToggleOff == null || !onClickGameEventsToggleOff.Contains(eventName)) { break; } onClickGameEventsToggleOff.Remove(eventName); } break; } }