void Start() { xzMoveState = XZ_MOVE_STATE.NONE; yMoveState = Y_MOVE_STATE.NONE; }
//----------------------------------------------------------------------------------- //----------------------------------------------------------------------------------- private void intentXZDir(Vector3 dir) { bool isZeroDir = dir.x == 0 && dir.z == 0; switch (xzMoveState) { case XZ_MOVE_STATE.NONE: if(!isZeroDir) { xzMoveState = XZ_MOVE_STATE.WALK; } break; case XZ_MOVE_STATE.RUN: if(isZeroDir) { xzMoveState = XZ_MOVE_STATE.NONE; } break; case XZ_MOVE_STATE.WALK: if(isZeroDir) { xzMoveState = XZ_MOVE_STATE.NONE; } break; } if (!isZeroDir) { xspeed = dir.x * WALK_SPEED; zspeed = dir.z * WALK_SPEED; //body turn to neck dir,then neck turn back trans.LookAt (trans.position + neckTrans.forward); neckTrans.localRotation = Quaternion.identity; }else { xspeed = 0; zspeed = 0; } }