Ejemplo n.º 1
0
 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;
     }
 }
Ejemplo n.º 2
0
        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;
            }
        }
Ejemplo n.º 3
0
        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;
        }