コード例 #1
0
        internal void PlayAnim(bool loop, float rate, float startTime)
        {
            NAnimMeshComponent previewMC = AnimMeshPreviewComponent;

            if (previewMC != null)
            {
                previewMC.PlayAnim(loop, rate, startTime);
            }
        }
コード例 #2
0
        internal void SetAnim(string sequence)
        {
            NAnimMeshComponent previewMC = AnimMeshPreviewComponent;

            if (previewMC != null)
            {
                previewMC.SetAnim(sequence);
            }
        }
コード例 #3
0
        internal void SetPosition(float newPos, bool fireNotifies)
        {
            NAnimMeshComponent previewMC = AnimMeshPreviewComponent;

            if (previewMC != null)
            {
                previewMC.SetPosition(newPos, fireNotifies);
            }
        }
コード例 #4
0
        internal void StopAnim()
        {
            NAnimMeshComponent previewMC = AnimMeshPreviewComponent;

            if (previewMC != null)
            {
                previewMC.StopAnim();
            }
        }
コード例 #5
0
        virtual public void ResetResource(NResourceLoc loc)
        {
            if (TargetActor != null && animMesh == null)
            {
                NActorComponent comp = TargetActor.CreateComponent(animMeshNameGenerator.GetNextUniqueName(), "nanim_mesh_component");
                animMesh = comp as NAnimMeshComponent;
            }

            animMesh.ResetResource(loc);
        }
コード例 #6
0
        /// <summary>
        /// 重置Avatar资源
        /// </summary>
        public void ResetAvatarResource(NActor ownerActor)
        {
            targetActorRef = new WeakReference(ownerActor);

            NAnimMeshComponent animMesh = (NAnimMeshComponent)ownerActor.CreateComponent("LPC_Anim_Mesh", "nanim_mesh_component");

            animMeshComponentRef = new WeakReference(animMesh);

            try
            {
                // 初始化资源
                //animMesh.ResetResource(new NResourceLoc("content", @"/NPC/NPC_bandit_001/NPC_bandit_001.nam"));
                animMesh.ResetResource(new NResourceLoc("content", @"/NPC/NPC_grpmon_002/atck.nam"));
            }
            catch (System.Exception)
            {
                //Logger.Instance.LogEvent("Load anim mesh faild!" + e.ToString());
            }
        }
コード例 #7
0
        static private void CreateActorComponent(NActor newActor, NResourceLoc res)
        {
            try
            {
                switch (res.FileExtension)
                {
                case "nmdl":
                {
                    NActorComponent comp = newActor.CreateComponent(
                        MakeComponentName("StaticMesh_", res),
                        "nstatic_mesh_component");
                    NStaticMeshComponent meshComp = comp as NStaticMeshComponent;
                    meshComp.ResetResource(res);
                }
                break;

                case "spt":
                {
                    NActorComponent comp = newActor.CreateComponent(
                        MakeComponentName("SPTComp_", res),
                        "nspeed_tree_component");
                    NSpeedTreeComponent sptComp = comp as NSpeedTreeComponent;
                    sptComp.Create(res);
                }
                break;

                case "nam":
                {
                    NActorComponent comp = newActor.CreateComponent(
                        MakeComponentName("AnimMeshComp_", res),
                        "nanim_mesh_component");
                    NAnimMeshComponent meshComp = comp as NAnimMeshComponent;
                    meshComp.ResetResource(res);
                }
                break;
                }// end of switch
            }
            catch (System.Exception e)
            {
                NexusEditor.Program.ShowException(e, "Create Resource Actor Component FAILED!");
            }
        }
コード例 #8
0
        internal void ResetAnimMeshResource(NResourceAnimMesh mesh)
        {
            // 重新创建可预览Actor
            CreateAnimMeshPreview();

            NAnimMeshComponent previewMC = AnimMeshPreviewComponent;

            if (previewMC == null)
            {
                NLogger.Instance.WriteString(LogType.Debug, "没有创建可预览对象...");
                return;
            }

            try
            {
                previewMC.ResetResource(mesh);
                m_actorBox = previewMC.GetBoundingBox();
            }
            catch (System.Exception e)
            {
                NexusEditor.Program.ShowException(e, "Anim Mesh Preview Open FAILED!");
            }
        }