예제 #1
0
            public override bool Run()
            {
                int num = -1;

                if (!JapLowDinnerTable.FindClosestFreeSlot(this.Actor, this.Target, out num))
                {
                    return(false);
                }
                base.StandardEntry();
                base.BeginCommodityUpdates();
                base.AcquireStateMachine("ArsilSeiza");
                base.SetActor("x", this.Actor);
                base.EnterState("x", "Enter");
                base.AnimateSim("Idle");
                try
                {
                    base.AnimateSim("PreNap");
                }
                catch (Exception ex)
                {
                    JapLowDinnerTable.DebugMsg(ex.Message + "\n\n" + ex.StackTrace);
                }
                this.Actor.LookAtManager.DisableLookAts();
                this.Actor.SetIsSleeping(true);
                LightGameObject.AutoLightsOff(this.Actor);
                base.AnimateSim("Nap");
                this.mVisualEffect = VisualEffect.Create(this.Actor.OccultManager.GetSleepFXName());
                this.mVisualEffect.ParentTo(this.Actor, Sim.ContainmentSlots.Mouth);
                this.mVisualEffect.Start();
                base.StartStages();
                bool flag = this.DoLoop(ExitReason.Default, new InteractionInstance.InsideLoopFunction(this.NapLoop), null);

                base.EndCommodityUpdates(flag);
                if (flag)
                {
                    this.Actor.BuffManager.AddElement(BuffNames.HadANiceNap, Origin.FromNapping);
                }
                if (this.mVisualEffect != null)
                {
                    this.mVisualEffect.Stop();
                    this.mVisualEffect.Dispose();
                    this.mVisualEffect = null;
                }
                this.Actor.LookAtManager.EnableLookAts();
                this.Actor.SetIsSleeping(false);
                LightGameObject.AutoLightsOn(this.Actor);
                base.AnimateSim("PostNap");
                base.AnimateSim("Idle");
                base.AnimateSim("Exit");
                base.StandardExit();
                return(flag);
            }
예제 #2
0
        private void OnRenderStarted()
        {
            VisualTreeviewer.GameWindow = scene.Window;
            SystemsView.GameWindow      = scene.Window;

            var manager = context.GetEntityManager();

            //
            items.Add(new LoadedItem(this, CameraGameObject.Create(context)));
            items.Add(new LoadedItem(this, LightGameObject.CreateAmbientLight(manager)));
            items.Add(new LoadedItem(this, LightGameObject.CreatePointLight(manager, Vector3.Zero + Vector3.UnitZ * 1000)));
            items.Add(new LoadedItem(this, LightGameObject.CreateDirectionLight(manager, new Vector3(1, 4, 4).Normalized())));
        }