GameFramework.EntityViewModel.SyncSpatial C# (CSharp) Method

SyncSpatial() private method

private SyncSpatial ( ) : void
return void
        internal void SyncSpatial()
        {
            if (null != m_Entity && null != Actor) {
                MovementStateInfo msi = m_Entity.GetMovementStateInfo();
                UnityEngine.Vector3 v3 = Actor.transform.position;
                msi.SetPosition(v3.x, v3.y, v3.z);
                float dir = Utility.DegreeToRadian(Actor.transform.localEulerAngles.y);
                msi.SetFaceDir(dir);
                msi.SetMoveDir(dir);

                if (msi.IsMoving) {
                    Vector3 tpos = new Vector3(msi.TargetPosition.X, msi.TargetPosition.Y, msi.TargetPosition.Z);
                    if ((tpos - v3).sqrMagnitude < c_StopDistSqr) {
                        msi.IsMoving = false;
                        if (null != Animator) {
                            //Animator.CrossFade(c_StandAnim, c_CrossFadeTime);
                            Animator.Play(c_StandAnim);
                            msi.IsMoving = false;
                        }
                    }
                }
            }
        }

Usage Example

示例#1
0
        public void SyncFaceDir(UnityEngine.GameObject obj)
        {
            EntityViewModel viewModel = GetEntityView(obj);

            if (null != viewModel)
            {
                viewModel.SyncSpatial();
            }
        }
All Usage Examples Of GameFramework.EntityViewModel::SyncSpatial