using System.Collections; using System.Collections.Generic; using UnityEngine; using System; using Snxxz.UI; public class CreateRolePostProcessor { public static bool HasPlayMovie(int playerId) { return LocalSave.GetBool(StringUtility.Contact(playerId, "_CreateRolePostMovie")); } public static void RecordPlayMovie(int playerId) { LocalSave.SetBool(StringUtility.Contact(playerId, "_CreateRolePostMovie"), true); } static bool isSkiped = false; static Action onEnd; public static void Begin(Action onComplete) { onEnd = onComplete; isSkiped = false; if (Application.isEditor) { var uiroot = WindowCenter.Instance.uiRoot; uiroot.EnableCanvas(false, uiroot.baseCanvas, uiroot.lifeBarCanvas, uiroot.nameCanvas, uiroot.normalCanvas, uiroot.modalCanvas, uiroot.tipsCanvas, uiroot.systemCanvas, uiroot.recycleBin, uiroot.fightCanvasGroup.damageNumGroups[0].parent); WindowCenter.Instance.Open(); } else { CameraManager.uiCamera.enabled = false; } PlayMovie(); } public static void Skip() { isSkiped = true; MoviePlayer.Instance.Stop(); } static void PlayMovie() { switch (Application.platform) { case RuntimePlatform.Android: case RuntimePlatform.IPhonePlayer: Handheld.PlayFullScreenMovie("CreateRoleMovie.mp4", Color.black, FullScreenMovieControlMode.CancelOnInput, FullScreenMovieScalingMode.AspectFit); Clock.AlarmAfter(0.1f, () => { PlayCameraAnimation(); }); break; case RuntimePlatform.WindowsPlayer: MoviePlayer.Instance.Play("CreateRoleMovie", PlayCameraAnimation); break; case RuntimePlatform.WindowsEditor: case RuntimePlatform.OSXEditor: MoviePlayer.Instance.Play("CreateRoleMovie", PlayCameraAnimation); break; } } static void PlayCameraAnimation() { CameraController.Instance.CameraObject.enabled = true; CameraController.Instance.PlayAnimationClip("KC_Camera"); var logicUpdate = new LogicUpdate(); logicUpdate.Start(() => { if (!CameraController.Instance.IsPlayingAnim) { logicUpdate.Destroy(); OnStop(); } }); } static void OnStop() { if (Application.isEditor) { var uiroot = WindowCenter.Instance.uiRoot; uiroot.EnableCanvas(true, uiroot.baseCanvas, uiroot.lifeBarCanvas, uiroot.nameCanvas, uiroot.normalCanvas, uiroot.modalCanvas, uiroot.tipsCanvas, uiroot.systemCanvas, uiroot.recycleBin, uiroot.fightCanvasGroup.damageNumGroups[0].parent); WindowCenter.Instance.Close(); } else { CameraManager.uiCamera.enabled = false; } var sendInfo = new CA108_tagCMRefreshMainServerRole(); GameNetSystem.Instance.SendInfo(sendInfo); if (onEnd != null) { onEnd(); } } }