@@ -142,7 +142,18 @@ public Vector3 GetScale(Vector3 defaultScale)
142
142
143
143
public override void OnIdentityInitialize ( )
144
144
{
145
+ Manager . LogicUpdater . OnTick -= LogicUpdater_OnTick ;
145
146
Manager . LogicUpdater . OnTick += LogicUpdater_OnTick ;
147
+ _hasInterpTick = false ;
148
+ _interpTick = InitialInterpTick = 0 ;
149
+ _prevSyncData = new TransformData ( )
150
+ {
151
+ Tick = Manager . LocalTick ,
152
+ SyncData = syncData ,
153
+ Position = transform . position ,
154
+ EulerAngles = transform . eulerAngles ,
155
+ Scale = transform . localScale ,
156
+ } ;
146
157
_interpFromData = _interpToData = new TransformData ( )
147
158
{
148
159
Position = transform . position ,
@@ -160,13 +171,14 @@ public override void OnSetOwnerClient(bool isOwnerClient)
160
171
{
161
172
base . OnSetOwnerClient ( isOwnerClient ) ;
162
173
_hasInterpTick = false ;
163
- TransformData transformData = _prevSyncData ;
164
- transformData . Tick = Manager . Tick ;
165
- transformData . SyncData = syncData ;
166
- transformData . Position = transform . position ;
167
- transformData . EulerAngles = transform . eulerAngles ;
168
- transformData . Scale = transform . localScale ;
169
- _prevSyncData = transformData ;
174
+ _prevSyncData = new TransformData ( )
175
+ {
176
+ Tick = Manager . LocalTick ,
177
+ SyncData = syncData ,
178
+ Position = transform . position ,
179
+ EulerAngles = transform . eulerAngles ,
180
+ Scale = transform . localScale ,
181
+ } ;
170
182
}
171
183
172
184
private void LogicUpdater_OnTick ( LogicUpdater updater )
@@ -302,10 +314,12 @@ private void OwnerSyncTransform(TransformData[] data)
302
314
[ AllRpc ]
303
315
private void ServerSyncTransform ( TransformData [ ] data )
304
316
{
317
+ if ( IsServer )
318
+ return ;
305
319
if ( syncByOwnerClient && IsOwnerClient )
306
320
return ;
307
321
StoreSyncBuffers ( data , 30 ) ;
308
- if ( ! IsServer && ! _hasInterpTick && _buffers . Count > 0 )
322
+ if ( ! _hasInterpTick && _buffers . Count > 0 )
309
323
{
310
324
_hasInterpTick = true ;
311
325
uint interpTick = _buffers . Keys [ _buffers . Count - 1 ] ;
0 commit comments