public Action OnCompleteAction; //动画结束回调, 程序代码使用,注意循环的动画没有回调 //播放自己的Tweeners public virtual void Play(float extraDelay = 0) { Stop(); uiAnimation = GetAnimationSequence(); if (extraDelay > 0) { uiAnimation.SetDelay(extraDelay); } //结束回调美术配置动画 if (OnComplete != null) { uiAnimation.onComplete += () => { OnComplete.Play(); }; } //结束回调Action if (OnCompleteAction != null) { uiAnimation.onComplete += () => { OnCompleteAction(); }; } playID = GameUIUtility.GetUniquePlayID(); uiAnimation.SetId(playID); uiAnimation.Play(); }
public override Sequence GetAnimationSequence() { uiAnimation = DOTween.Sequence(); if (delay > 0) { uiAnimation.AppendInterval(delay); } Tweener tweener = GameUIUtility.DoScale(this.transform, From, To, duration); //Animation Curve if (animationCurve != null) { tweener.SetEase(animationCurve); } //Loops switch (style) { case Style.Once: break; case Style.Loop: tweener.SetLoops(int.MaxValue, LoopType.Restart); break; case Style.PingPong: tweener.SetLoops(int.MaxValue, LoopType.Yoyo); break; } uiAnimation.Append(tweener); //结束回调 if (OnComplete != null) { uiAnimation.onComplete = () => { OnComplete.Play(); }; } return(uiAnimation); }
/// <summary> /// 添加通用的背景UI /// </summary> private void AddColliderBgForWindow(UIViewBase baseWindow) { UIWindowColliderMode colliderMode = baseWindow.windowData.colliderMode; if (colliderMode == UIWindowColliderMode.None) { return; } GameObject bgObj = null; if (colliderMode == UIWindowColliderMode.Normal) { bgObj = GameUIUtility.AddColliderBgToTarget(baseWindow.gameObject, true); } if (colliderMode == UIWindowColliderMode.WithBg) { bgObj = GameUIUtility.AddColliderBgToTarget(baseWindow.gameObject, false, ""); } baseWindow.Controller.OnAddColliderBg(bgObj); }
public static void TriggerReloadHook(Action <GameUIReloadBarController, PlayerController, Vector3, float, float, int> orig, GameUIReloadBarController self, PlayerController attachParent, Vector3 offset, float duration, float activeReloadStartPercent, int pixelWidth) { if (tempraryActiveReloads.ContainsKey(self)) { foreach (MultiActiveReload multiactivereload in tempraryActiveReloads[self]) { if (multiactivereload.sprite != null && multiactivereload.sprite.gameObject != null) { UnityEngine.Object.Destroy(multiactivereload.sprite.gameObject); } if (multiactivereload.celebrationSprite != null && multiactivereload.celebrationSprite.gameObject != null) { UnityEngine.Object.Destroy(multiactivereload.celebrationSprite.gameObject); } } tempraryActiveReloads[self].Clear(); } orig(self, attachParent, offset, duration, activeReloadStartPercent, pixelWidth); if (attachParent != null && attachParent.CurrentGun != null && attachParent.CurrentGun.GetComponent <MultiActiveReloadController>() != null) { foreach (MultiActiveReloadData data in attachParent.CurrentGun.GetComponent <MultiActiveReloadController>().reloads) { dfSprite sprite = UnityEngine.Object.Instantiate(self.activeReloadSprite); self.activeReloadSprite.Parent.AddControl(sprite); sprite.enabled = true; float width = self.progressSlider.Width; float maxValue = self.progressSlider.MaxValue; float num = data.startValue / maxValue * width; float num2 = data.endValue / maxValue * width; float x = num + (num2 - num) * data.activeReloadStartPercentage; float width2 = (float)pixelWidth * Pixelator.Instance.CurrentTileScale; sprite.RelativePosition = self.activeReloadSprite.RelativePosition; sprite.RelativePosition = GameUIUtility.QuantizeUIPosition(sprite.RelativePosition.WithX(x)); sprite.Width = width2; sprite.IsVisible = true; dfSprite celebrationSprite = UnityEngine.Object.Instantiate(self.celebrationSprite); self.activeReloadSprite.Parent.AddControl(celebrationSprite); celebrationSprite.enabled = true; dfSpriteAnimation component = celebrationSprite.GetComponent <dfSpriteAnimation>(); component.Stop(); component.SetFrameExternal(0); celebrationSprite.enabled = false; celebrationSprite.RelativePosition = sprite.RelativePosition + new Vector3(Pixelator.Instance.CurrentTileScale * -1f, Pixelator.Instance.CurrentTileScale * -2f, 0f); int activeReloadStartValue = Mathf.RoundToInt((float)(data.endValue - data.startValue) * data.activeReloadStartPercentage) + data.startValue - data.activeReloadLastTime / 2; MultiActiveReload reload = new MultiActiveReload { sprite = sprite, celebrationSprite = celebrationSprite, startValue = activeReloadStartValue, endValue = activeReloadStartValue + data.activeReloadLastTime, stopsReload = data.stopsReload, canAttemptActiveReloadAfterwards = data.canAttemptActiveReloadAfterwards, reloadData = data.reloadData, usesActiveReloadData = data.usesActiveReloadData }; if (tempraryActiveReloads.ContainsKey(self)) { tempraryActiveReloads[self].Add(reload); } else { tempraryActiveReloads.Add(self, new List <MultiActiveReload> { reload }); } } } }
public override Sequence GetAnimationSequence() { Tweener tweener = null; //1. 检测是否有CanvaGroup m_CanvasGroup = GetComponent <CanvasGroup>(); if (m_CanvasGroup != null) { uiAnimation = DOTween.Sequence(); if (delay > 0) { uiAnimation.AppendInterval(delay); } tweener = GameUIUtility.DoAlpha(m_CanvasGroup, From, To, duration); } else { //2. 是否是Button Button button = GetComponent <Button>(); if (button != null) { uiAnimation = DOTween.Sequence(); if (delay > 0) { uiAnimation.AppendInterval(delay); } tweener = GameUIUtility.DoAlpha(button, From, To, duration); } else { //3. 是否是Image RawImage或者Text MaskableGraphic graphic = GetComponent <MaskableGraphic>(); if (graphic != null) { uiAnimation = DOTween.Sequence(); if (delay > 0) { uiAnimation.AppendInterval(delay); } tweener = GameUIUtility.DoAlpha <MaskableGraphic>(graphic, From, To, duration); } else { //4. 都不是, 那么应该添加CanvasGroup来实现 m_CanvasGroup = this.gameObject.AddComponent <CanvasGroup>(); //Debug.LogError("需要CanvasGroup组件来执行Alpha Animation"); //return null; uiAnimation = DOTween.Sequence(); if (delay > 0) { uiAnimation.AppendInterval(delay); } tweener = GameUIUtility.DoAlpha(m_CanvasGroup, From, To, duration); } } } //Animation Curve if (animationCurve != null) { tweener.SetEase(animationCurve); } //Loops switch (style) { case Style.Once: break; case Style.Loop: tweener.SetLoops(int.MaxValue, LoopType.Restart); break; case Style.PingPong: tweener.SetLoops(int.MaxValue, LoopType.Yoyo); break; } uiAnimation.Append(tweener); ////结束回调 //if (OnComplete != null) //{ // uiAnimation.onComplete = () => { OnComplete.Play(); }; //} return(uiAnimation); }
private UIControllerBase PrepareUI(WindowID id, WindowContextDataBase showContextData = null) { if (!this.IsWindowRegistered(id)) { return(null); } if (dicShownWindows.ContainsKey((int)id)) { return(null); } UIControllerBase baseController = GetGameWindowFromCache(id); //UI没有在场景里打开过, Instantiate New One bool newAdded = false; if (baseController == null) { newAdded = true; if (UIResourceDefine.windowPrefabPath.ContainsKey((int)id)) { //实例化UI UIViewBase uiView = GameUIUtility.InstantiateUI(id); //保存Controller baseController = uiView.Controller; dicWindowsCache[(int)id] = baseController; //初始化 baseController.OnInit(); //设置UI根 Transform targetRoot = GameUIUtility.GetUIRoot();//UINormalWindowRoot; GameUIUtility.AddChildToTarget(targetRoot, uiView.gameObject.transform); //设置UI Camera Canvas uiCanvas = uiView.gameObject.GetComponent <Canvas>(); uiCanvas.renderMode = RenderMode.ScreenSpaceCamera; { GameObject uiCamera = GameObject.Find("UICamera"); if (uiCamera != null) { uiCanvas.worldCamera = uiCamera.GetComponent <Camera>(); } } //添加通用背景 AddColliderBgForWindow(uiView); } else { Debug.LogError("UI ID对应的Prefab位置在找不到, 使用工具重新生成 " + id); return(null); } } if (baseController == null) { Debug.LogError("[UI instance is null.]" + id.ToString()); } //设置导航信息, 如果是导航类型的UI会把当前显示的UI关闭并且保存到BackSequenceStack里面 //下次返回的时候, 从Stack里面回复. if (showContextData == null || (showContextData != null && showContextData.executeNavLogic)) { ExecuteNavigationLogic(baseController); } //层级管理 //AdjustBaseWindowDepth(baseController); return(baseController); }
// Token: 0x060001DA RID: 474 RVA: 0x000110B4 File Offset: 0x0000F2B4 public static void TriggerReloadHook(MultiActiveReloadManager.Action <GameUIReloadBarController, PlayerController, Vector3, float, float, int> orig, GameUIReloadBarController self, PlayerController attachParent, Vector3 offset, float duration, float activeReloadStartPercent, int pixelWidth) { bool flag = MultiActiveReloadManager.tempraryActiveReloads.ContainsKey(self); if (flag) { foreach (MultiActiveReload multiActiveReload in MultiActiveReloadManager.tempraryActiveReloads[self]) { bool flag2 = multiActiveReload.sprite != null && multiActiveReload.sprite.gameObject != null; if (flag2) { UnityEngine.Object.Destroy(multiActiveReload.sprite.gameObject); } bool flag3 = multiActiveReload.celebrationSprite != null && multiActiveReload.celebrationSprite.gameObject != null; if (flag3) { UnityEngine.Object.Destroy(multiActiveReload.celebrationSprite.gameObject); } } MultiActiveReloadManager.tempraryActiveReloads[self].Clear(); } orig(self, attachParent, offset, duration, activeReloadStartPercent, pixelWidth); bool flag4 = attachParent != null && attachParent.CurrentGun != null && attachParent.CurrentGun.GetComponent <MultiActiveReloadController>() != null; if (flag4) { foreach (MultiActiveReloadData multiActiveReloadData in attachParent.CurrentGun.GetComponent <MultiActiveReloadController>().reloads) { dfSprite dfSprite = UnityEngine.Object.Instantiate <dfSprite>(self.activeReloadSprite); self.activeReloadSprite.Parent.AddControl(dfSprite); dfSprite.enabled = true; float width = self.progressSlider.Width; float maxValue = self.progressSlider.MaxValue; float num = (float)multiActiveReloadData.startValue / maxValue * width; float num2 = (float)multiActiveReloadData.endValue / maxValue * width; float x = num + (num2 - num) * multiActiveReloadData.activeReloadStartPercentage; float width2 = (float)pixelWidth * Pixelator.Instance.CurrentTileScale; dfSprite.RelativePosition = self.activeReloadSprite.RelativePosition; dfSprite.RelativePosition = GameUIUtility.QuantizeUIPosition(dfSprite.RelativePosition.WithX(x)); dfSprite.Width = width2; dfSprite.IsVisible = true; dfSprite dfSprite2 = UnityEngine.Object.Instantiate <dfSprite>(self.celebrationSprite); self.activeReloadSprite.Parent.AddControl(dfSprite2); dfSprite2.enabled = true; dfSpriteAnimation component = dfSprite2.GetComponent <dfSpriteAnimation>(); component.Stop(); component.SetFrameExternal(0); dfSprite2.enabled = false; dfSprite2.RelativePosition = dfSprite.RelativePosition + new Vector3(Pixelator.Instance.CurrentTileScale * -1f, Pixelator.Instance.CurrentTileScale * -2f, 0f); int num3 = Mathf.RoundToInt((float)(multiActiveReloadData.endValue - multiActiveReloadData.startValue) * multiActiveReloadData.activeReloadStartPercentage) + multiActiveReloadData.startValue - multiActiveReloadData.activeReloadLastTime / 2; MultiActiveReload item = new MultiActiveReload { sprite = dfSprite, celebrationSprite = dfSprite2, startValue = num3, endValue = num3 + multiActiveReloadData.activeReloadLastTime, stopsReload = multiActiveReloadData.stopsReload, canAttemptActiveReloadAfterwards = multiActiveReloadData.canAttemptActiveReloadAfterwards, reloadData = multiActiveReloadData.reloadData, usesActiveReloadData = multiActiveReloadData.usesActiveReloadData, Name = multiActiveReloadData.Name }; bool flag5 = MultiActiveReloadManager.tempraryActiveReloads.ContainsKey(self); if (flag5) { MultiActiveReloadManager.tempraryActiveReloads[self].Add(item); } else { MultiActiveReloadManager.tempraryActiveReloads.Add(self, new List <MultiActiveReload> { item }); } } } }
protected override void InitWindowOnAwake() { if (UI_Button_Track != null) { return; } List <Button> buttonCache = GameUIUtility.GetComponentCache <Button>(this.gameObject); List <Text> textCache = GameUIUtility.GetComponentCache <Text>(this.gameObject); List <InputField> inputfieldCache = GameUIUtility.GetComponentCache <InputField>(this.gameObject); List <Slider> sliderCache = GameUIUtility.GetComponentCache <Slider>(this.gameObject); List <Toggle> toggleCache = GameUIUtility.GetComponentCache <Toggle>(this.gameObject); UI_Button_Track = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button_Track"); if (UI_Button_Track == null) { Debug.LogError("UI_Button_Track获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button_Follow = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button_Follow"); if (UI_Button_Follow == null) { Debug.LogError("UI_Button_Follow获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button_Main = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button_Main"); if (UI_Button_Main == null) { Debug.LogError("UI_Button_Main获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button_ShowPoint = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button_ShowPoint"); if (UI_Button_ShowPoint == null) { Debug.LogError("UI_Button_ShowPoint获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button_Statistics = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button_Statistics"); if (UI_Button_Statistics == null) { Debug.LogError("UI_Button_Statistics获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button_MutiDisplay = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button_MutiDisplay"); if (UI_Button_MutiDisplay == null) { Debug.LogError("UI_Button_MutiDisplay获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_CurTrackIDText = GameUIUtility.GetComponentFromCache(ref textCache, "UI_CurTrackIDText"); if (UI_CurTrackIDText == null) { Debug.LogError("UI_CurTrackIDText获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button_Pre = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button_Pre"); if (UI_Button_Pre == null) { Debug.LogError("UI_Button_Pre获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button_Next = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button_Next"); if (UI_Button_Next == null) { Debug.LogError("UI_Button_Next获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_TrackID = GameUIUtility.GetComponentFromCache(ref inputfieldCache, "UI_TrackID"); if (UI_TrackID == null) { Debug.LogError("UI_TrackID获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button_PlayTrack = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button_PlayTrack"); if (UI_Button_PlayTrack == null) { Debug.LogError("UI_Button_PlayTrack获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button_PlayeTrackSeq = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button_PlayeTrackSeq"); if (UI_Button_PlayeTrackSeq == null) { Debug.LogError("UI_Button_PlayeTrackSeq获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button_ReconnectDB = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button_ReconnectDB"); if (UI_Button_ReconnectDB == null) { Debug.LogError("UI_Button_ReconnectDB获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_DatabaseState = GameUIUtility.GetComponentFromCache(ref textCache, "UI_DatabaseState"); if (UI_DatabaseState == null) { Debug.LogError("UI_DatabaseState获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button1 = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button1"); if (UI_Button1 == null) { Debug.LogError("UI_Button1获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button2 = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button2"); if (UI_Button2 == null) { Debug.LogError("UI_Button2获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button3 = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button3"); if (UI_Button3 == null) { Debug.LogError("UI_Button3获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button4 = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button4"); if (UI_Button4 == null) { Debug.LogError("UI_Button4获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button5 = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button5"); if (UI_Button5 == null) { Debug.LogError("UI_Button5获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button6 = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button6"); if (UI_Button6 == null) { Debug.LogError("UI_Button6获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button7 = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button7"); if (UI_Button7 == null) { Debug.LogError("UI_Button7获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button8 = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button8"); if (UI_Button8 == null) { Debug.LogError("UI_Button8获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button9 = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button9"); if (UI_Button9 == null) { Debug.LogError("UI_Button9获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button_About = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button_About"); if (UI_Button_About == null) { Debug.LogError("UI_Button_About获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button_Exit = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button_Exit"); if (UI_Button_Exit == null) { Debug.LogError("UI_Button_Exit获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button_Set = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button_Set"); if (UI_Button_Set == null) { Debug.LogError("UI_Button_Set获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_TableColor = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_TableColor"); if (UI_TableColor == null) { Debug.LogError("UI_TableColor获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_BallColor = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_BallColor"); if (UI_BallColor == null) { Debug.LogError("UI_BallColor获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_FloorColor = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_FloorColor"); if (UI_FloorColor == null) { Debug.LogError("UI_FloorColor获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Billboard = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Billboard"); if (UI_Billboard == null) { Debug.LogError("UI_Billboard获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_StadiumAd = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_StadiumAd"); if (UI_StadiumAd == null) { Debug.LogError("UI_StadiumAd获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_PlaySpeed = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_PlaySpeed"); if (UI_PlaySpeed == null) { Debug.LogError("UI_PlaySpeed获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_PlaySpeedSlider = GameUIUtility.GetComponentFromCache(ref sliderCache, "UI_PlaySpeedSlider"); if (UI_PlaySpeedSlider == null) { Debug.LogError("UI_PlaySpeedSlider获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_AdjustTable = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_AdjustTable"); if (UI_AdjustTable == null) { Debug.LogError("UI_AdjustTable获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_IsShowMoveSpeed = GameUIUtility.GetComponentFromCache(ref toggleCache, "UI_IsShowMoveSpeed"); if (UI_IsShowMoveSpeed == null) { Debug.LogError("UI_IsShowMoveSpeed获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_IsShowRoutateSpeed = GameUIUtility.GetComponentFromCache(ref toggleCache, "UI_IsShowRoutateSpeed"); if (UI_IsShowRoutateSpeed == null) { Debug.LogError("UI_IsShowRoutateSpeed获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_IsShowHeight = GameUIUtility.GetComponentFromCache(ref toggleCache, "UI_IsShowHeight"); if (UI_IsShowHeight == null) { Debug.LogError("UI_IsShowHeight获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_IsShowRole = GameUIUtility.GetComponentFromCache(ref toggleCache, "UI_IsShowRole"); if (UI_IsShowRole == null) { Debug.LogError("UI_IsShowRole获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_IsShowPoint = GameUIUtility.GetComponentFromCache(ref toggleCache, "UI_IsShowPoint"); if (UI_IsShowPoint == null) { Debug.LogError("UI_IsShowPoint获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_IsShowScore = GameUIUtility.GetComponentFromCache(ref toggleCache, "UI_IsShowScore"); if (UI_IsShowScore == null) { Debug.LogError("UI_IsShowScore获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_SetCameraConfig = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_SetCameraConfig"); if (UI_SetCameraConfig == null) { Debug.LogError("UI_SetCameraConfig获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_SaveCameraCofig = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_SaveCameraCofig"); if (UI_SaveCameraCofig == null) { Debug.LogError("UI_SaveCameraCofig获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_CancelCameraCofig = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_CancelCameraCofig"); if (UI_CancelCameraCofig == null) { Debug.LogError("UI_CancelCameraCofig获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } UI_Button_FreeCamera = GameUIUtility.GetComponentFromCache(ref buttonCache, "UI_Button_FreeCamera"); if (UI_Button_FreeCamera == null) { Debug.LogError("UI_Button_FreeCamera获取为空, 请检查是不是没用Ebo.UI的脚本!!!"); } }