//----- method ----- private void Initialize() { var animator = UnityUtility.GetOrAddComponent <Animator>(gameObject); if (animator == null) { return; } if (isInitialized) { return; } var animatorController = animator.runtimeAnimatorController; Animator = animator; Clips = animatorController != null ? animator.runtimeAnimatorController.animationClips : new AnimationClip[0]; DefaultSpeed = Animator.speed; if (stopOnAwake) { Stop(); } Refresh(); isInitialized = true; }
/// <summary> /// ExternalResources内や、直接指定での動画再生用のインスタンスを生成. /// ※ 頭出しなどを行う時はこの関数で生成したPlayerを使って頭出しを実装する. /// </summary> public static MovieElement CreateElement(string moviePath, Graphic targetGraphic, Player.ShaderDispatchCallback shaderOverrideCallBack = null) { if (!File.Exists(moviePath)) { throw new FileNotFoundException(moviePath); } var movieController = UnityUtility.GetOrAddComponent <CriManaMovieControllerForUI>(targetGraphic.gameObject); movieController.target = targetGraphic; movieController.enabled = true; UnityUtility.SetActive(movieController.gameObject, true); var moviePlayer = movieController.player; moviePlayer.SetFile(null, moviePath); if (shaderOverrideCallBack != null) { moviePlayer.SetShaderDispatchCallback(shaderOverrideCallBack); } var movieElement = new MovieElement(moviePlayer, movieController, moviePath); Instance.movieElements.Add(movieElement); return(movieElement); }
//----- property ----- //----- method ----- void OnEnable() { instance = target as AnimationPlayer; animator = UnityUtility.GetOrAddComponent <Animator>(instance.gameObject); if (!instance.IsInitialized) { Reflection.InvokePrivateMethod(instance, "Initialize"); } }
//----- method ----- protected virtual void Awake() { AdvGraphicInfo.CallbackCreateCustom += OnCreateCustomGraphicObject; canvas = UnityUtility.GetOrAddComponent <Canvas>(gameObject); if (canvas != null) { canvas.worldCamera = canvasCamera; canvas.renderMode = RenderMode.ScreenSpaceCamera; } }
//----- method ----- public void Initialize(GameObject rootObject, AdvObjectSetting advObjectSetting) { if (initialized) { return; } this.rootObject = rootObject; this.advObjectSetting = advObjectSetting; UnityUtility.GetOrAddComponent <AdvObject>(rootObject); advObjects = new Dictionary <string, AdvObject>(); initialized = true; }
//----- property ----- //----- method ----- void OnEnable() { eventTrigger = UnityUtility.GetOrAddComponent <ObservableEventTrigger>(gameObject); eventTrigger .OnBeginDragAsObservable() .TakeUntilDisable(this) .Where(eventData => eventData.pointerDrag.gameObject == gameObject) .Select(eventData => eventData.position) .Subscribe(position => { if (onDragStart != null) { onDragStart.OnNext(position); } }) .AddTo(this); eventTrigger .OnDragAsObservable() .TakeUntilDisable(this) .Where(eventData => eventData.pointerDrag.gameObject == gameObject) .Select(eventData => eventData.position) .Subscribe(position => { if (onDrag != null) { onDrag.OnNext(position); } }) .AddTo(this); eventTrigger .OnEndDragAsObservable() .TakeUntilDisable(this) .Where(eventData => eventData.pointerDrag.gameObject == gameObject) .Select(eventData => eventData.position) .Subscribe(position => { if (onDragEnd != null) { onDragEnd.OnNext(position); } }) .AddTo(this); }
//----- method ----- public override UniTask Initialize() { elements = new List <TComponent>(); var parentObjectRt = elementParent.transform as RectTransform; if (parentObjectRt != null) { UnityUtility.GetOrAddComponent <Canvas>(gameObject); UnityUtility.GetOrAddComponent <GraphicRaycaster>(gameObject); parentObjectRt.FillRect(); } return(UniTask.CompletedTask); }
public MovieElement Play(string moviePath, Graphic targetGraphic) { var movieController = UnityUtility.GetOrAddComponent <CriManaMovieControllerForUI>(targetGraphic.gameObject); movieController.target = targetGraphic; var manaPlayer = movieController.player; manaPlayer.SetFile(null, moviePath); manaPlayer.Start(); var movieElement = new MovieElement(manaPlayer, moviePath); movieElements.Add(movieElement); return(movieElement); }
public void CreateInSceneParent(GameObject sceneRoot) { if (!UnityUtility.IsNull(parentInScene)) { UnityUtility.SafeDelete(parentInScene.gameObject); } var popupParent = CreatePopupParent("Popup (InScene)", sceneRoot, ParentInSceneLayer, sceneCanvasOrder); var ignoreControl = UnityUtility.GetOrAddComponent <IgnoreControl>(popupParent.gameObject); if (ignoreControl != null) { ignoreControl.Type = IgnoreControl.IgnoreType.ActiveControl; } parentInScene = popupParent; }
/// <summary> /// ExternalResources内や、直接指定での動画再生用のインスタンスを生成. /// ※ 頭出しなどを行う時はこの関数で生成したPlayerを使って頭出しを実装する. /// </summary> public static MovieElement CreateElement(string moviePath, Graphic targetGraphic, Player.ShaderDispatchCallback shaderOverrideCallBack = null) { var movieController = UnityUtility.GetOrAddComponent <CriManaMovieControllerForUI>(targetGraphic.gameObject); movieController.target = targetGraphic; var manaPlayer = movieController.player; manaPlayer.SetFile(null, moviePath); if (shaderOverrideCallBack != null) { manaPlayer.SetShaderDispatchCallback(shaderOverrideCallBack); } var movieElement = new MovieElement(manaPlayer, movieController, moviePath); Instance.movieElements.Add(movieElement); return(movieElement); }
public void CreateInSceneParent(GameObject sceneRoot) { if (!UnityUtility.IsNull(parentInScene)) { UnityUtility.SafeDelete(parentInScene.gameObject); } var popupParent = UnityUtility.Instantiate <PopupParent>(sceneRoot, parentPrefab); popupParent.transform.name = "Popup (InScene)"; popupParent.Canvas.sortingOrder = sceneCanvasOrder; var ignoreControl = UnityUtility.GetOrAddComponent <IgnoreControl>(popupParent.gameObject); if (ignoreControl != null) { ignoreControl.Type = IgnoreControl.IgnoreType.ActiveControl; } parentInScene = popupParent; }
//----- property ----- //----- method ----- public IObservable <Unit> Initialize() { if (initialized) { return(Observable.ReturnUnit()); } #if UNITY_IOS || UNITY_ANDROID || UNITY_WP8 uniWebView = UnityUtility.GetOrAddComponent <UniWebView>(gameObject); // . uniWebView.HideToolBar(false); // URLリンクをデバイスのデフォルトブラウザで開くかどうかの設定. uniWebView.openLinksInExternalBrowser = false; // 横スクロールバー. uniWebView.SetHorizontalScrollBarShow(false); // 縦スクロールバー. uniWebView.SetVerticalScrollBarShow(false); uniWebView.CleanCache(); #endif #if UNITY_ANDROID uniWebView.SetUseWideViewPort(false); uniWebView.backButtonEnable = true; #endif #if UNITY_IOS || UNITY_ANDROID || UNITY_WP8 uniWebView.OnLoadComplete += OnLoadComplete; uniWebView.OnReceivedMessage += OnReceivedMessage; uniWebView.OnWebViewShouldClose += OnWebViewShouldClose; #endif initialized = true; return(Observable.ReturnUnit()); }
//----- method ----- private void Initialize() { var animator = UnityUtility.GetOrAddComponent <Animator>(gameObject); if (animator == null) { return; } if (isInitialized) { return; } animator.runtimeAnimatorController = animatorController; animatorInfo = new AnimatorInfo(animator); Stop(); Refresh(); isInitialized = true; }
//----- method ----- void OnEnable() { var eventTrigger = UnityUtility.GetOrAddComponent <ObservableEventTrigger>(gameObject); eventTrigger .OnBeginDragAsObservable() .TakeUntilDisable(this) .Where(eventData => { return(eventData.pointerDrag != null && eventData.pointerDrag.gameObject == gameObject); }) .Select(eventData => eventData.position) .Subscribe(position => { IsSwipe = true; beginPosition = position; beginTime = DateTime.Now; }) .AddTo(this); var onEndDragObservable = eventTrigger .OnEndDragAsObservable() .TakeUntilDisable(this) .Where(eventData => (DateTime.Now - beginTime).TotalSeconds < thresholdSenconds) .Select(eventData => eventData.position) .Share(); // left. onEndDragObservable .Where(position => beginPosition.x > position.x) .Where(position => Mathf.Abs(beginPosition.x - position.x) >= thresholdDistance) .Subscribe(_ => { if (onSwipeLeft != null) { onSwipeLeft.OnNext(Unit.Default); } }) .AddTo(this); // right. onEndDragObservable .Where(position => position.x > beginPosition.x) .Where(position => Mathf.Abs(position.x - beginPosition.x) >= thresholdDistance) .Subscribe(_ => { if (onSwipeRight != null) { onSwipeRight.OnNext(Unit.Default); } }) .AddTo(this); // down. onEndDragObservable .Where(position => beginPosition.y > position.y) .Where(position => Mathf.Abs(beginPosition.y - position.y) >= thresholdDistance) .Subscribe(_ => { if (onSwipeDown != null) { onSwipeDown.OnNext(Unit.Default); } }) .AddTo(this); // up. onEndDragObservable .Where(position => position.y > beginPosition.y) .Where(position => Mathf.Abs(position.y - beginPosition.y) >= thresholdDistance) .Subscribe(_ => { if (onSwipeUp != null) { onSwipeUp.OnNext(Unit.Default); } }) .AddTo(this); onEndDragObservable.Subscribe(_ => IsSwipe = false).AddTo(this); }