@@ -133,6 +133,10 @@ public struct ServerErr
133
133
private System . DateTime _lastTickCBTime = System . DateTime . Now ;
134
134
private System . DateTime _lastUpdateToServerTime = System . DateTime . Now ;
135
135
136
+ //上传玩家信息到服务器间隔,单位毫秒
137
+ private float _updatePlayerToServerPeroid = 100.0f ;
138
+ private const int _1MS_TO_100NS = 10000 ;
139
+
136
140
// 玩家当前所在空间的id, 以及空间对应的资源
137
141
public UInt32 spaceID = 0 ;
138
142
public string spaceResPath = "" ;
@@ -157,7 +161,8 @@ public KBEngineApp(KBEngineArgs args)
157
161
public virtual bool initialize ( KBEngineArgs args )
158
162
{
159
163
_args = args ;
160
-
164
+ _updatePlayerToServerPeroid = ( float ) _args . syncPlayerMS ;
165
+
161
166
initNetwork ( ) ;
162
167
163
168
// 注册事件
@@ -1914,26 +1919,26 @@ public void Client_onControlEntity(Int32 eid, sbyte isControlled)
1914
1919
}
1915
1920
1916
1921
/*
1917
- 更新当前玩家的位置与朝向到服务端, 可以通过开关_syncPlayer关闭这个机制
1922
+ 更新当前玩家的位置与朝向到服务端, 可以通过开关_syncPlayerMS关闭这个机制
1918
1923
*/
1919
1924
public void updatePlayerToServer ( )
1920
1925
{
1921
- if ( ! _args . syncPlayer || spaceID == 0 )
1926
+ if ( _updatePlayerToServerPeroid <= 0.01f || spaceID == 0 )
1922
1927
{
1923
1928
return ;
1924
1929
}
1925
1930
1926
1931
var now = DateTime . Now ;
1927
1932
TimeSpan span = now - _lastUpdateToServerTime ;
1928
1933
1929
- if ( span . Ticks < 1000000 )
1930
- return ;
1934
+ if ( span . Ticks < _updatePlayerToServerPeroid * _1MS_TO_100NS )
1935
+ return ;
1931
1936
1932
1937
Entity playerEntity = player ( ) ;
1933
1938
if ( playerEntity == null || playerEntity . inWorld == false || playerEntity . isControlled )
1934
1939
return ;
1935
1940
1936
- _lastUpdateToServerTime = now - ( span - TimeSpan . FromTicks ( 1000000 ) ) ;
1941
+ _lastUpdateToServerTime = now - ( span - TimeSpan . FromTicks ( Convert . ToInt64 ( _updatePlayerToServerPeroid * _1MS_TO_100NS ) ) ) ;
1937
1942
1938
1943
Vector3 position = playerEntity . position ;
1939
1944
Vector3 direction = playerEntity . direction ;
0 commit comments