コード例 #1
0
        private void PlaySE(SoundPack.SystemSE se)
        {
            if (!Singleton <Resources> .IsInstance())
            {
                return;
            }
            SoundPack soundPack = Singleton <Resources> .Instance.SoundPack;

            if (Object.op_Equality((Object)soundPack, (Object)null))
            {
                return;
            }
            soundPack.Play(se);
        }
コード例 #2
0
        public void PlaySE(SoundPack.SystemSE se)
        {
            if (!this.Initialized || !this.IsActiveControl)
            {
                return;
            }
            SoundPack soundPack = !Singleton <Resources> .IsInstance() ? (SoundPack)null : Singleton <Resources> .Instance.SoundPack;

            if (Object.op_Equality((Object)soundPack, (Object)null))
            {
                return;
            }
            soundPack.Play(se);
        }
コード例 #3
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;
        }