private void FirstTimeInit() { if (this._equipment != null) { if (this._tableauScene == null) { this._tableauScene = Scene.CreateNewScene(true); this._tableauScene.SetName("CharacterTableau"); this._tableauScene.DisableStaticShadows(true); this._agentRendererSceneController = MBAgentRendererSceneController.CreateNewAgentRendererSceneController(this._tableauScene, 32); SceneInitializationData initData = new SceneInitializationData(true); initData.InitPhysicsWorld = false; this._tableauScene.Read("inventory_character_scene", initData); this._tableauScene.SetShadow(true); this._camPos = this._tableauScene.ReadAndCalculateInitialCamera(); this._mountSpawnPoint = this._tableauScene.FindEntityWithTag("horse_inv").GetGlobalFrame(); MatrixFrame globalFrame = this._tableauScene.FindEntityWithTag("agent_inv").GetGlobalFrame(); this._frame = globalFrame; this._initialSpawnFrame = globalFrame; this._tableauScene.RemoveEntity(this._tableauScene.FindEntityWithTag("agent_inv"), 99); this._tableauScene.RemoveEntity(this._tableauScene.FindEntityWithTag("horse_inv"), 100); } if (this._agentVisuals != null) { this._agentVisuals.Reset(); this._agentVisuals = null; } if (this._bodyProperties != BodyProperties.Default) { this._agentVisuals = AgentVisuals.Create(new AgentVisualsData().Banner(this._banner).Equipment(this._equipment).BodyProperties(this._bodyProperties).Frame(this._frame).UseMorphAnims(true).ActionSet(MBGlobals.HumanWarriorActionSet).ActionCode(SpouseCharacterTableau.act_inventory_idle_start).Scene(this._tableauScene).Monster(Game.Current.HumanMonster).PrepareImmediately(true).SkeletonType(this._isFemale ? SkeletonType.Female : SkeletonType.Male).ClothColor1(this._clothColor1).ClothColor2(this._clothColor2), "CharacterTableaue", true, false); this._agentVisuals.SetAgentLodLevelExternal(0f); } this._initialized = true; } }
public void OnFinalize() { if (this._continuousRenderCamera != null) { this._continuousRenderCamera.ReleaseCameraEntity(); this._continuousRenderCamera = null; } AgentVisuals expr_26 = this._agentVisuals; if (expr_26 != null) { expr_26.Reset(); } this._agentVisuals = null; TableauView expr_3E = this.View; if (expr_3E != null) { expr_3E.AddClearTask(); } this.Texture = null; if (this._tableauScene != null) { MBAgentRendererSceneController.DestructAgentRendererSceneController(this._tableauScene, this._agentRendererSceneController); this._agentRendererSceneController = null; this._tableauScene = null; } }
public void SetStanceIndex(int index) { if (this._initialized && this._stanceIndex != (CharacterViewModel.StanceTypes)index) { switch (index) { case 0: this._agentVisuals.SetAction(SpouseCharacterTableau.act_inventory_idle_start, 0f); break; case 1: this._camPos = this._tableauScene.ReadAndCalculateInitialCamera(); this._camPos.Elevate(-2f); this._camPos.Advance(0.5f); break; case 2: case 4: if (this._agentVisuals != null) { this._camPos = this._tableauScene.ReadAndCalculateInitialCamera(); if (this._equipment[10].Item != null) { this._camPos.Advance(0.5f); this.AddMount(true); this._agentVisuals.SetAction(this._mountEntity.Skeleton.GetActionAtChannel(0), this._mountEntity.Skeleton.GetAnimationParameterAtChannel(0)); for (int i = 0; i < 4; i++) { this._mountEntity.Skeleton.TickAnimationsAndForceUpdate(0.1f, this._frame, true); this._agentVisuals.GetVisuals().GetSkeleton().TickAnimationsAndForceUpdate(0.1f, this._frame, true); } } else { this._camPos.Elevate(-2f); this._camPos.Advance(0.5f); this._agentVisuals.SetAction(SpouseCharacterTableau.act_inventory_idle_start, 0f); } } break; case 3: { AgentVisuals expr_175 = this._agentVisuals; if (expr_175 != null) { expr_175.SetAction(SpouseCharacterTableau.act_cheer_1, 0f); } break; } } } this._stanceIndex = (CharacterViewModel.StanceTypes)index; }