GameFramework.MovementStateInfo.SetMoveDir C# (CSharp) Method

SetMoveDir() public method

public SetMoveDir ( float dir ) : void
dir float
return void
        public void SetMoveDir(float dir)
        {
            if (Math.Abs(m_MoveDir - dir) > c_Precision) {
                m_MoveDir = dir;
                m_IsMoveStatusChanged = true;
                m_MoveDir3D = new ScriptRuntime.Vector3((float)Math.Sin(dir), 0, (float)Math.Cos(dir));
            }
        }

Usage Example

Ejemplo n.º 1
0
        public 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;
                        }
                    }
                }
            }
        }
All Usage Examples Of GameFramework.MovementStateInfo::SetMoveDir