コード例 #1
0
        public void SetStand(
            MerchantActor merchant,
            Transform t,
            bool enableFade,
            float fadeTime,
            int dirc,
            System.Action onComplete = null)
        {
            if (Object.op_Equality((Object)merchant, (Object)null) || Object.op_Equality((Object)t, (Object)null))
            {
                System.Action action = onComplete;
                if (action == null)
                {
                    return;
                }
                action();
            }
            else
            {
                IConnectableObservable <TimeInterval <float> > iconnectableObservable = (IConnectableObservable <TimeInterval <float> >)Observable.Publish <TimeInterval <float> >((IObservable <M0>)Observable.FrameTimeInterval <float>((IObservable <M0>)ObservableEasing.Linear(fadeTime, false), false));
                IDisposable disposable1 = iconnectableObservable.Connect();
                merchant.DisposeSequenceAction();
                Vector3    position = merchant.Position;
                Quaternion rotation = merchant.Rotation;
                switch (dirc)
                {
                case 0:
                    if (enableFade)
                    {
                        merchant.AddSequenceActionDisposable(disposable1);
                        IDisposable disposable2 = (IDisposable)DisposableExtensions.AddTo <IDisposable>((M0)ObservableExtensions.Subscribe <TimeInterval <float> >((IObservable <M0>)iconnectableObservable, (System.Action <M0>)(x =>
                        {
                            merchant.Position = Vector3.Lerp(position, t.get_position(), ((TimeInterval <float>) ref x).get_Value());
                            merchant.Rotation = Quaternion.Lerp(rotation, t.get_rotation(), ((TimeInterval <float>) ref x).get_Value());
                        })), (Component)merchant);
                        merchant.AddSequenceActionDisposable(disposable2);
                        IDisposable disposable3 = (IDisposable)DisposableExtensions.AddTo <IDisposable>((M0)ObservableExtensions.Subscribe <TimeInterval <float>[]>((IObservable <M0>)Observable.WhenAll <TimeInterval <float> >((IObservable <M0>[]) new IObservable <TimeInterval <float> >[1]
                        {
                            (IObservable <TimeInterval <float> >)iconnectableObservable
                        }), (System.Action <M0>)(_ =>
                        {
                            System.Action action = onComplete;
                            if (action != null)
                            {
                                action();
                            }
                            merchant.ClearSequenceAction();
                        })), (Component)merchant);
                        merchant.AddSequenceActionDisposable(disposable3);
                        merchant.AddSequenceActionOnComplete(onComplete);
                        break;
                    }
                    merchant.Position = t.get_position();
                    merchant.Rotation = t.get_rotation();
                    System.Action action1 = onComplete;
                    if (action1 == null)
                    {
                        break;
                    }
                    action1();
                    break;

                case 1:
                    Vector3 vector3 = Vector3.op_Subtraction(((Component)this).get_transform().get_position(), merchant.Position);
                    vector3.y = (__Null)0.0;
                    Quaternion lookRotation = Quaternion.LookRotation(((Vector3) ref vector3).get_normalized(), Vector3.get_up());
                    if (enableFade)
                    {
                        IDisposable disposable2 = ObservableExtensions.Subscribe <TimeInterval <float> >((IObservable <M0>)iconnectableObservable, (System.Action <M0>)(x => merchant.Rotation = Quaternion.Lerp(rotation, lookRotation, ((TimeInterval <float>) ref x).get_Value())));
                        merchant.AddSequenceActionDisposable(disposable2);
                        IDisposable disposable3 = (IDisposable)DisposableExtensions.AddTo <IDisposable>((M0)ObservableExtensions.Subscribe <TimeInterval <float>[]>((IObservable <M0>)Observable.WhenAll <TimeInterval <float> >((IObservable <M0>[]) new IObservable <TimeInterval <float> >[1]
                        {
                            (IObservable <TimeInterval <float> >)iconnectableObservable
                        }), (System.Action <M0>)(_ =>
                        {
                            System.Action action = onComplete;
                            if (action == null)
                            {
                                return;
                            }
                            action();
                        })), (Component)merchant);
                        merchant.AddSequenceActionDisposable(disposable3);
                        merchant.AddSequenceActionOnComplete(onComplete);
                        break;
                    }
                    merchant.Rotation = lookRotation;
                    System.Action action3 = onComplete;
                    if (action3 == null)
                    {
                        break;
                    }
                    action3();
                    break;

                default:
                    System.Action action4 = onComplete;
                    if (action4 == null)
                    {
                        break;
                    }
                    action4();
                    break;
                }
            }
        }
コード例 #2
0
 public void Close()
 {
     this._canvasGroup.set_interactable(false);
     if (this._subscriber != null)
     {
         this._subscriber.Dispose();
     }
     this._subscriber = ObservableExtensions.Subscribe <TimeInterval <float> >((IObservable <M0>)Observable.FrameTimeInterval <float>((IObservable <M0>)ObservableEasing.EaseInQuint(0.3f, true), true), (Action <M0>)(x => this._canvasGroup.set_alpha(1f - ((TimeInterval <float>) ref x).get_Value())), (Action <Exception>)(ex => Debug.LogException(ex)), (Action)(() =>
     {
         this._canvasGroup.set_blocksRaycasts(false);
         Action onClosed = this.OnClosed;
         if (onClosed == null)
         {
             return;
         }
         onClosed();
     }));
     this._count = 0;
 }
コード例 #3
0
 private void AlphaFadeList(float duration, float start, float end, Action onCompleted)
 {
     if (end.Equals(start))
     {
         return;
     }
     if (this._fadeSubscriber != null)
     {
         this._fadeSubscriber.Dispose();
     }
     this._fadeSubscriber = ObservableExtensions.Subscribe <TimeInterval <float> >((IObservable <M0>)Observable.FrameTimeInterval <float>((IObservable <M0>)ObservableEasing.Linear(duration, true), true), (Action <M0>)(x => this.Alpha = Mathf.Lerp(start, end, ((TimeInterval <float>) ref x).get_Value())), (Action)(() =>
     {
         Action action = onCompleted;
         if (action == null)
         {
             return;
         }
         action();
     }));
 }
コード例 #4
0
        public IObservable <TimeInterval <float>[]> Close()
        {
            Vector2 diff = Vector2.op_Subtraction(this._source, this._destination);
            IConnectableObservable <TimeInterval <float> > iconnectableObservable1 = (IConnectableObservable <TimeInterval <float> >)Observable.Publish <TimeInterval <float> >((IObservable <M0>)Observable.FrameTimeInterval <float>((IObservable <M0>)ObservableEasing.Create(Tween.MotionFunctionTable.get_Item(this._motionTypes.@out), 0.3f, true), true));
            IConnectableObservable <TimeInterval <float> > iconnectableObservable2 = (IConnectableObservable <TimeInterval <float> >)Observable.Publish <TimeInterval <float> >((IObservable <M0>)Observable.FrameTimeInterval <float>((IObservable <M0>)ObservableEasing.Create(Tween.MotionFunctionTable.get_Item(this._alphaFadingTypes.@out), 0.3f, true), true));

            iconnectableObservable1.Connect();
            iconnectableObservable2.Connect();
            ObservableExtensions.Subscribe <TimeInterval <float> >((IObservable <M0>)iconnectableObservable1, (System.Action <M0>)(x => this.SetPosition(diff, ((TimeInterval <float>) ref x).get_Value())));
            ObservableExtensions.Subscribe <TimeInterval <float> >((IObservable <M0>)iconnectableObservable2, (System.Action <M0>)(x => this._canvasGroup.set_alpha(1f - ((TimeInterval <float>) ref x).get_Value())));
            return((IObservable <TimeInterval <float>[]>)Observable.WhenAll <TimeInterval <float> >((IObservable <M0>[]) new IObservable <TimeInterval <float> >[2]
            {
                (IObservable <TimeInterval <float> >)iconnectableObservable1,
                (IObservable <TimeInterval <float> >)iconnectableObservable2
            }));
        }
コード例 #5
0
 public void Open()
 {
     this._dropdown.Options = Enumerable.Range(1, this.Item.Count).Select <int, OptimizedDropdown.OptionData>((Func <int, OptimizedDropdown.OptionData>)(x => new OptimizedDropdown.OptionData(x.ToString()))).ToList <OptimizedDropdown.OptionData>();
     this._canvasGroup.set_blocksRaycasts(true);
     if (this._subscriber != null)
     {
         this._subscriber.Dispose();
     }
     this._subscriber = ObservableExtensions.Subscribe <TimeInterval <float> >((IObservable <M0>)Observable.FrameTimeInterval <float>((IObservable <M0>)ObservableEasing.EaseOutQuint(0.3f, true), true), (Action <M0>)(x => this._canvasGroup.set_alpha(((TimeInterval <float>) ref x).get_Value())), (Action <Exception>)(ex => Debug.LogException(ex)), (Action)(() => this._canvasGroup.set_interactable(true)));
     this._count      = 1;
 }
コード例 #6
0
        public void SetActiveTimer(bool active)
        {
            if (Object.op_Equality((Object)this._timerText, (Object)null) || Object.op_Equality((Object)this._timerCanvasGroup, (Object)null) || this.ActiveTimer == active)
            {
                return;
            }
            this.ActiveTimer = active;
            if (this._timerDisposable != null)
            {
                this._timerDisposable.Dispose();
            }
            float startAlpha = this._timerCanvasGroup.get_alpha();
            int   destAlpha  = !active ? 0 : 1;

            ObservableExtensions.Subscribe <TimeInterval <float> >(Observable.DoOnError <TimeInterval <float> >(Observable.Do <TimeInterval <float> >((IObservable <M0>)Observable.FrameTimeInterval <float>((IObservable <M0>)ObservableEasing.Linear(0.3f, true), true), (Action <M0>)(x => this._timerCanvasGroup.set_alpha(Mathf.Lerp(startAlpha, (float)destAlpha, ((TimeInterval <float>) ref x).get_Value())))), (Action <Exception>)(ex => Debug.LogException(ex))));
        }
コード例 #7
0
 protected override void OnBeforeStart()
 {
     ObservableExtensions.Subscribe <bool>((IObservable <M0>) this.OnActiveChangedAsObservable(), (Action <M0>)(x => this.SetActiveControl(x)));
     this._lerpStream = (IObservable <TimeInterval <float> >)Observable.TakeUntilDestroy <TimeInterval <float> >((IObservable <M0>)Observable.FrameTimeInterval <float>((IObservable <M0>)ObservableEasing.Linear(this._alphaAccelerationTime, true), true), (Component)this);
 }
コード例 #8
0
        private void Easing(bool fadeIn, float duration)
        {
            if (this._disposable != null)
            {
                this._disposable.Dispose();
            }
            Vector3 startScale = ((Component)this._swellTarget).get_transform().get_localScale();
            Vector3 dest       = !fadeIn ? this._defaultScale : this._destScale;

            this._disposable = ObservableExtensions.Subscribe <TimeInterval <float> >((IObservable <M0>)Observable.FrameTimeInterval <float>((IObservable <M0>)ObservableEasing.EaseOutQuint(duration, true), true), (Action <M0>)(x => ((Component)this._swellTarget).get_transform().set_localScale(Vector3.Lerp(startScale, dest, ((TimeInterval <float>) ref x).get_Value()))));
        }
コード例 #9
0
 private void Close(Action onCompleted)
 {
     this.canvasGroup.set_blocksRaycasts(false);
     ObservableExtensions.Subscribe <TimeInterval <float> >((IObservable <M0>)Observable.FrameTimeInterval <float>((IObservable <M0>)ObservableEasing.Linear(0.2f, true), true), (Action <M0>)(x => this.canvasGroup.set_alpha(1f - ((TimeInterval <float>) ref x).get_Value())), (Action <Exception>)(ex => Debug.LogException(ex)), onCompleted);
 }
コード例 #10
0
        private void Initialize(PlayerActor player)
        {
            this.hasAnimal.SetState(AnimalState.WithPlayer, (Action)null);
            player.CameraControl.CrossFade.FadeStart(-1f);
            Quaternion quaternion  = Quaternion.LookRotation(Vector3.op_Subtraction(this.hasAnimal.Position, player.Position), Vector3.get_up());
            Vector3    eulerAngles = ((Quaternion) ref quaternion).get_eulerAngles();

            eulerAngles.x   = (__Null)(double)(eulerAngles.z = (__Null)0.0f);
            player.Rotation = Quaternion.Euler(eulerAngles);
            this.hasAnimal.SetWithActorGetPoint((Actor)player);
            this.hasAnimal.PlayInAnim(AnimationCategoryID.Idle, 0, (Action)null);
            int _poseID = !this.getAnimalFlag ? 1 : 0;

            this.SetPlayerAnimationState(player, _poseID);
            this.onEndGetAnimal = new Subject <Unit>();
            DisposableExtensions.AddTo <IDisposable>((M0)ObservableExtensions.Subscribe <Unit>(Observable.Take <Unit>(Observable.TakeUntilDestroy <Unit>((IObservable <M0>) this.onEndGetAnimal, (Component)player), 1), (Action <M0>)(_ =>
            {
                this.hasAnimal.Destroy();
                this.ToEnd(player);
            })), (ICollection <IDisposable>) this.disposable);
            this.onEndInAnimation = new Subject <Unit>();
            DisposableExtensions.AddTo <IDisposable>((M0)ObservableExtensions.Subscribe <Unit>(Observable.Take <Unit>(Observable.TakeUntilDestroy <Unit>((IObservable <M0>) this.onEndInAnimation, (Component)player), 1), (Action <M0>)(_ =>
            {
                if (this.getAnimalFlag)
                {
                    this.hasAnimal.PlayInAnim(AnimationCategoryID.Locomotion, 0, (Action)null);
                    this.hasAnimal.SetFloat(Singleton <Resources> .Instance.AnimalDefinePack.AnimatorInfo.LocomotionParamName, 0.5f);
                    this.isWait      = (Func <PlayerActor, bool>)(actor => !this.isNextEnabled);
                    this.onEndAction = this.onEndGetAnimal;
                    IConnectableObservable <TimeInterval <float> > iconnectableObservable = (IConnectableObservable <TimeInterval <float> >)Observable.Publish <TimeInterval <float> >((IObservable <M0>)Observable.FrameTimeInterval <float>((IObservable <M0>)ObservableEasing.Linear(1f, true), false));
                    iconnectableObservable.Connect();
                    Vector3 _start = this.hasAnimal.Position;
                    Vector3 _end   = Vector3.op_Addition(_start, Vector3.op_Multiply(this.hasAnimal.Forward, 1f));
                    DisposableExtensions.AddTo <IDisposable>((M0)ObservableExtensions.Subscribe <TimeInterval <float> >(Observable.TakeUntilDestroy <TimeInterval <float> >((IObservable <M0>)iconnectableObservable, (Component)player), (Action <M0>)(x => this.hasAnimal.Position = Vector3.Lerp(_start, _end, ((TimeInterval <float>) ref x).get_Value()))), (ICollection <IDisposable>) this.disposable);
                    DisposableExtensions.AddTo <IDisposable>((M0)ObservableExtensions.Subscribe <TimeInterval <float>[]>(Observable.TakeUntilDestroy <TimeInterval <float>[]>((IObservable <M0>)Observable.WhenAll <TimeInterval <float> >((IObservable <M0>[]) new IObservable <TimeInterval <float> >[1]
                    {
                        (IObservable <TimeInterval <float> >)iconnectableObservable
                    }), (Component)player), (Action <M0>)(__ => this.isNextEnabled = true)), (ICollection <IDisposable>) this.disposable);
                    if (!Singleton <Resources> .IsInstance())
                    {
                        return;
                    }
                    SoundPack soundPack = Singleton <Resources> .Instance.SoundPack;
                    AnimalDefinePack.SoundIDInfo soundId = Singleton <Resources> .Instance.AnimalDefinePack.SoundID;
                    AudioSource audioSource = (AudioSource)null;
                    switch (this.hasAnimal.AnimalType)
                    {
                    case AnimalTypes.Cat:
                        audioSource = soundPack.Play(soundId.GetCat, Sound.Type.GameSE3D, 0.0f);
                        break;

                    case AnimalTypes.Chicken:
                        audioSource = soundPack.Play(soundId.GetChicken, Sound.Type.GameSE3D, 0.0f);
                        break;
                    }
                    if (!Object.op_Inequality((Object)audioSource, (Object)null))
                    {
                        return;
                    }
                    audioSource.Stop();
                    ((Component)audioSource).get_transform().SetPositionAndRotation(this.hasAnimal.Position, this.hasAnimal.Rotation);
                    audioSource.Play();
                }
                else
                {
                    if (this.hasAnimal is WildGround)
                    {
                        (this.hasAnimal as WildGround).StartAvoid(player.Position, (Action)null);
                    }
                    else
                    {
                        this.hasAnimal.BadMood = true;
                        this.hasAnimal.PlayOutAnim((Action)(() => this.hasAnimal.SetState(AnimalState.Locomotion, (Action)null)));
                    }
                    this.isWait = (Func <PlayerActor, bool>)(actor => true);
                    this.ToEnd(player);
                }
            })), (ICollection <IDisposable>) this.disposable);
            this.onStart = new Subject <Unit>();
            DisposableExtensions.AddTo <IDisposable>((M0)ObservableExtensions.Subscribe <Unit>(Observable.Take <Unit>(Observable.TakeUntilDestroy <Unit>((IObservable <M0>) this.onStart, (Component)player), 1), (Action <M0>)(_ =>
            {
                player.Animation.PlayInAnimation(this.playerPlayState.MainStateInfo.InStateInfo.EnableFade, this.playerPlayState.MainStateInfo.InStateInfo.FadeSecond, this.playerPlayState.MainStateInfo.FadeOutTime, this.playerPlayState.Layer);
                this.isWait      = (Func <PlayerActor, bool>)(actor => actor.Animation.PlayingInAnimation);
                this.onEndAction = this.onEndInAnimation;
            })), (ICollection <IDisposable>) this.disposable);
            this.onEndAction = this.onStart;
        }
コード例 #11
0
        private void FadeOutRoot(Tuple <int, CanvasGroup, IDisposable> root)
        {
            if (root == null)
            {
                return;
            }
            root.Item3?.Dispose();
            float startAlpha = root.Item2.get_alpha();

            root.Item3 = ObservableExtensions.Subscribe <TimeInterval <float> >(Observable.TakeUntilDestroy <TimeInterval <float> >((IObservable <M0>)Observable.FrameTimeInterval <float>((IObservable <M0>)ObservableEasing.Linear(this._groupFadeTime, true), true), (Component)root.Item2), (System.Action <M0>)(x => root.Item2.set_alpha(Mathf.Lerp(startAlpha, 0.0f, ((TimeInterval <float>) ref x).get_Value()))));
        }
コード例 #12
0
        protected virtual void Start()
        {
            if (Object.op_Inequality((Object)this._nameLabel, (Object)null))
            {
                UnityUIComponentExtensions.SubscribeToText((IObservable <string>) this._name, this._nameLabel);
            }
            if (Object.op_Inequality((Object)this._stackCountText, (Object)null))
            {
                UnityUIComponentExtensions.SubscribeToText <int>((IObservable <M0>) this._stackCount, this._stackCountText);
            }
            if (Object.op_Inequality((Object)this._rateText, (Object)null))
            {
                UnityUIComponentExtensions.SubscribeToText <int>((IObservable <M0>) this._rate, this._rateText, (Func <M0, string>)(x => x >= 0 ? x.ToString() : string.Empty));
            }
            if (Object.op_Inequality((Object)this._iconText, (Object)null))
            {
                ((Behaviour)this._iconText).set_enabled(false);
            }
            if (Object.op_Inequality((Object)this._rarelityText, (Object)null))
            {
                UnityUIComponentExtensions.SubscribeToText <Rarelity>((IObservable <M0>) this._rarelity, this._rarelityText, (Func <M0, string>)(x => x.GetType().IsEnumDefined((object)x) ? x.ToString() : string.Empty));
                ObservableExtensions.Subscribe <Sprite>((IObservable <M0>) this._rarelitySprite, (System.Action <M0>)(sprite => ((Behaviour)this._rarelityText).set_enabled(Object.op_Equality((Object)sprite, (Object)null))));
            }
            if (Object.op_Inequality((Object)this._rarelityImage, (Object)null))
            {
                ObservableExtensions.Subscribe <Sprite>((IObservable <M0>) this._rarelitySprite, (System.Action <M0>)(sprite =>
                {
                    ((Behaviour)this._rarelityImage).set_enabled(!Object.op_Equality((Object)sprite, (Object)null));
                    this._rarelityImage.set_sprite(sprite);
                }));
            }
            EasingFunction easing;

            if (!Tween.MotionFunctionTable.TryGetValue(this._motionType, ref easing))
            {
                ;
            }
            if (!Tween.MotionFunctionTable.TryGetValue(this._alphaMotionType, ref easing))
            {
                return;
            }
            DisposableExtensions.AddTo <IDisposable>((M0)ObservableExtensions.Subscribe <TimeInterval <float> >((IObservable <M0>)Observable.FrameTimeInterval <float>((IObservable <M0>)ObservableEasing.Create(easing, this._easingDuration, true), true), (System.Action <M0>)(x => this._canvasGroup.set_alpha(Mathf.Lerp(this._fromAlpha, this._toAlpha, ((TimeInterval <float>) ref x).get_Value())))), (ICollection <IDisposable>) this.disposables);
        }
コード例 #13
0
        public void SetStand(IAnimalActionPointUser animal, Transform t, Action completeEvent)
        {
            if (animal == null || Object.op_Equality((Object)t, (Object)null))
            {
                if (completeEvent == null)
                {
                    return;
                }
                completeEvent();
            }
            else
            {
                IConnectableObservable <TimeInterval <float> > iconnectableObservable = (IConnectableObservable <TimeInterval <float> >)Observable.Publish <TimeInterval <float> >((IObservable <M0>)Observable.FrameTimeInterval <float>((IObservable <M0>)ObservableEasing.Linear(0.2f, false), false));
                iconnectableObservable.Connect();
                Vector3    position = animal.Position;
                Quaternion rotation = animal.Rotation;
                switch (this._directionType)
                {
                case AnimalActionPoint.DirectionKind.Lock:
                    ObservableExtensions.Subscribe <TimeInterval <float> >((IObservable <M0>)iconnectableObservable, (Action <M0>)(x => animal.Rotation = Quaternion.Slerp(rotation, t.get_rotation(), ((TimeInterval <float>) ref x).get_Value())));
                    break;

                case AnimalActionPoint.DirectionKind.Look:
                    Quaternion lookRotation = Quaternion.LookRotation(Vector3.Normalize(Vector3.op_Subtraction(t.get_position(), animal.Position)));
                    ObservableExtensions.Subscribe <TimeInterval <float> >((IObservable <M0>)iconnectableObservable, (Action <M0>)(x => animal.Rotation = Quaternion.Slerp(rotation, lookRotation, ((TimeInterval <float>) ref x).get_Value())));
                    break;
                }
                if (this._enabledPositionValue)
                {
                    ObservableExtensions.Subscribe <TimeInterval <float> >((IObservable <M0>)iconnectableObservable, (Action <M0>)(x => animal.Position = Vector3.Lerp(position, t.get_position(), ((TimeInterval <float>) ref x).get_Value())));
                }
                Action comEvent = completeEvent;
                ObservableExtensions.Subscribe <TimeInterval <float>[]>(Observable.TakeUntilDestroy <TimeInterval <float>[]>((IObservable <M0>)Observable.WhenAll <TimeInterval <float> >((IObservable <M0>[]) new IObservable <TimeInterval <float> >[1]
                {
                    (IObservable <TimeInterval <float> >)iconnectableObservable
                }), ((Component)this).get_gameObject()), (Action <M0>)(_ =>
                {
                    Action action = comEvent;
                    if (action == null)
                    {
                        return;
                    }
                    action();
                }));
            }
        }
コード例 #14
0
        public void SetStand(IAnimalActionPointUser animal, Transform t)
        {
            if (animal == null || Object.op_Equality((Object)t, (Object)null))
            {
                return;
            }
            IConnectableObservable <TimeInterval <float> > iconnectableObservable = (IConnectableObservable <TimeInterval <float> >)Observable.Publish <TimeInterval <float> >((IObservable <M0>)Observable.FrameTimeInterval <float>((IObservable <M0>)ObservableEasing.Linear(0.2f, false), false));

            iconnectableObservable.Connect();
            Vector3    position = animal.Position;
            Quaternion rotation = animal.Rotation;

            switch (this._directionType)
            {
            case AnimalActionPoint.DirectionKind.Lock:
                ObservableExtensions.Subscribe <TimeInterval <float> >((IObservable <M0>)iconnectableObservable, (Action <M0>)(x => animal.Rotation = Quaternion.Slerp(rotation, t.get_rotation(), ((TimeInterval <float>) ref x).get_Value())));
                break;

            case AnimalActionPoint.DirectionKind.Look:
                Quaternion lookRotation = Quaternion.LookRotation(Vector3.Normalize(Vector3.op_Subtraction(t.get_position(), animal.Position)));
                ObservableExtensions.Subscribe <TimeInterval <float> >((IObservable <M0>)iconnectableObservable, (Action <M0>)(x => animal.Rotation = Quaternion.Slerp(rotation, lookRotation, ((TimeInterval <float>) ref x).get_Value())));
                break;
            }
            if (!this._enabledPositionValue)
            {
                return;
            }
            ObservableExtensions.Subscribe <TimeInterval <float> >((IObservable <M0>)iconnectableObservable, (Action <M0>)(x => animal.Position = Vector3.Lerp(position, t.get_position(), ((TimeInterval <float>) ref x).get_Value())));
        }
コード例 #15
0
        private IConnectableObservable <TimeInterval <float> > GetObservableEasing(
            ResultMessageElement.FadeType _fadeType,
            float _duration)
        {
            switch (_fadeType)
            {
            case ResultMessageElement.FadeType.Linear:
                return((IConnectableObservable <TimeInterval <float> >)Observable.Publish <TimeInterval <float> >((IObservable <M0>)Observable.FrameTimeInterval <float>(Observable.TakeUntilDisable <float>((IObservable <M0>)ObservableEasing.Linear(_duration, true), ((Component)this).get_gameObject()), false)));

            case ResultMessageElement.FadeType.EaseOutQuint:
                return((IConnectableObservable <TimeInterval <float> >)Observable.Publish <TimeInterval <float> >((IObservable <M0>)Observable.FrameTimeInterval <float>(Observable.TakeUntilDisable <float>((IObservable <M0>)ObservableEasing.EaseOutQuint(_duration, true), ((Component)this).get_gameObject()), false)));

            case ResultMessageElement.FadeType.EaseInQuint:
                return((IConnectableObservable <TimeInterval <float> >)Observable.Publish <TimeInterval <float> >((IObservable <M0>)Observable.FrameTimeInterval <float>(Observable.TakeUntilDisable <float>((IObservable <M0>)ObservableEasing.EaseInQuint(_duration, true), ((Component)this).get_gameObject()), false)));

            default:
                return((IConnectableObservable <TimeInterval <float> >)null);
            }
        }
コード例 #16
0
        private void Close(Action onCompleted)
        {
            this.EnabledInput = false;
            this._canvasGroup.set_blocksRaycasts(false);
            if (Singleton <Input> .IsInstance())
            {
                Singleton <Input> .Instance.ReserveState(this._validType);

                Singleton <Input> .Instance.SetupState();
            }
            ObservableExtensions.Subscribe <TimeInterval <float> >((IObservable <M0>)Observable.FrameTimeInterval <float>((IObservable <M0>)ObservableEasing.Linear(0.2f, true), true), (Action <M0>)(x => this._canvasGroup.set_alpha(1f - ((TimeInterval <float>) ref x).get_Value())), (Action <Exception>)(ex => Debug.LogException(ex)), (Action)(() =>
            {
                Action action = onCompleted;
                if (action != null)
                {
                    action();
                }
                Action closedEvent = MapShortcutUI.ClosedEvent;
                if (closedEvent == null)
                {
                    return;
                }
                closedEvent();
            }));
        }