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); }
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()))); }