public MonoAction Add(MonoAction monoAction, float delay, AddEnum addEnum = AddEnum.Cancel) { if (monoAction == null) { return(null); } if (addEnum == AddEnum.Cancel && m_MonoAction_list.Contains(monoAction)) { //不需要操作 } else { monoAction._DelayedTime = System.DateTime.Now.AddSeconds(delay).Ticks; lock (m_MonoAction_list) { //需要删除 if (addEnum == AddEnum.Override && m_MonoAction_list.Contains(monoAction)) { m_MonoAction_list.Remove(monoAction); } //添加 m_MonoAction_list.Add(monoAction); } } return(monoAction); }
public void Set(string text, MonoAction clickAction, bool clearPreviousClickActions = true) { if (clearPreviousClickActions) { UnsubscribeAllClickActions(); } SetText(text); SubscribeToClick(clickAction); }
public void Remove(MonoAction monoAction) { lock (m_MonoAction_list) { if (m_MonoAction_list.Contains(monoAction)) { m_MonoAction_list.Remove(monoAction); } } }
/// <summary> /// /// </summary> /// <param name="action"></param> /// <param name="delay">单位秒</param> /// <returns></returns> public MonoAction Add(System.Action action, float delay = 0, AddEnum addEnum = AddEnum.Cancel) { if (delay <= 0) { lock (m_Action_list) { m_Action_list.Add(action); } return(null); } else { MonoAction monoAction = new MonoAction { _Action = action }; return(Add(monoAction, delay, addEnum)); } }
protected IEnumerator linearLerp(Transform transform, Vector3 targetPosition, float totalTime, MonoAction callBack = null) { float timer = 0; Vector3 startPosition = transform.position; while (timer <= totalTime) { transform.position = Vector3.Lerp(startPosition, targetPosition, timer); timer += Time.deltaTime; yield return(new WaitForEndOfFrame()); } transform.position = targetPosition; if (callBack != null) { callBack(); } }
protected void moveTo(Vector3 targetPosition, float time, MonoAction callBack = null) { haltMoveTo(); moveCoroutine = linearLerp(transform, targetPosition, time, callBack); StartCoroutine(moveCoroutine); }
public void UnsubscribeToggleOffAction(MonoAction toggleAction) { toggleOffAction -= toggleAction; }
public void SubscribeToggleOffAction(MonoAction toggleAction) { toggleOffAction += toggleAction; }
public void UnsubscribeAllClickActions() { this.clickAction = null; }
public void UnsubscribeFromClick(MonoAction action) { this.clickAction -= action; }
public void SubscribeToClick(MonoAction action) { this.clickAction += action; }
public void UnsubscribeFromClickWhenFree(MonoAction clickAction) { onFreeSlotClick -= clickAction; }
public void SubscribeToDimiss(MonoAction action) { dismissButton.SubscribeToClick(action); }
public void UnsubscribeFromClick(MonoAction clickAction) { this.onClickAction -= clickAction; }
public void SubscribeToClick(MonoAction clickAction) { this.onClickAction += clickAction; }
public void SubscribeToGameEnd(MonoAction handler) { onGameEnd += handler; }
public void UnsubscribeFromGameEnd(MonoAction handler) { onGameEnd -= handler; }
public void UnsubscribeFromDismiss(MonoAction action) { dismissButton.UnsubscribeFromClick(action); }
public void SubscribeToClickWhenFree(MonoAction clickAction) { onFreeSlotClick += clickAction; }