From 3a9cbeadb67a0a56a768f521e311f9ad08510b22 Mon Sep 17 00:00:00 2001 From: johnsoncode Date: Mon, 13 Mar 2017 21:09:48 +0800 Subject: [PATCH] Fix: Delegate and expression errors --- .../Scripts/UIControllerStateMachine.cs | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/Assets/UIController/Scripts/UIControllerStateMachine.cs b/Assets/UIController/Scripts/UIControllerStateMachine.cs index 8586160..b1bf602 100644 --- a/Assets/UIController/Scripts/UIControllerStateMachine.cs +++ b/Assets/UIController/Scripts/UIControllerStateMachine.cs @@ -1,5 +1,4 @@ using UnityEngine; -using System; using System.Collections; using System.Collections.Generic; @@ -20,14 +19,7 @@ public override void OnStateUpdate (Animator animator, AnimatorStateInfo stateIn if (this.normalizedTimes[stateInfo.fullPathHash] < 1 && stateInfo.normalizedTime >= 1) { UIController uiController; if (this.TryGetComponent (animator.gameObject, out uiController)) { - uiController.StartCoroutine (this.WaitForEndOfFrame (() => { - if (stateInfo.IsName ("Show")) { - uiController.SendMessage ("OnShow"); - } - else if (stateInfo.IsName ("Hide")) { - uiController.SendMessage ("OnHide"); - } - })); + uiController.StartCoroutine (this.WaitForSendMessage (uiController, stateInfo)); } } this.normalizedTimes[stateInfo.fullPathHash] = stateInfo.normalizedTime; @@ -41,8 +33,13 @@ private bool TryGetComponent (GameObject go, out T t) where T : Component { t = outT; return t != null; } - private IEnumerator WaitForEndOfFrame (Action onWait) { + private IEnumerator WaitForSendMessage (UIController uiController, AnimatorStateInfo stateInfo) { yield return new WaitForEndOfFrame (); - onWait (); + if (stateInfo.IsName ("Show")) { + uiController.SendMessage ("OnShow"); + } + else if (stateInfo.IsName ("Hide")) { + uiController.SendMessage ("OnHide"); + } } -} \ No newline at end of file +}