(Unity Fishnet CSP V2) Когда метод репликации вызывается?C#

Место общения программистов C#
Ответить
Anonymous
 (Unity Fishnet CSP V2) Когда метод репликации вызывается?

Сообщение Anonymous »

Я некоторое время работал над изучением предсказания клиента Fishnet STICE Unity Fishnet. Что -то, что ускользнуло от меня, это когда вызывается метод [Replicate] . Размещение отладочного заявления внутри метода репликации показывает, что его называют много раз за пределами тика. Так что же дает? Откуда это? Мне нужно знать эту информацию, чтобы я мог понять, как правильно согласовать.

Код: Выделить всё

public override void OnStartNetwork() {
base.OnStartNetwork();

base.TimeManager.OnTick += TimeManager_OnTick;
base.TimeManager.OnPostTick += TimeManager_OnPostTick;
}
public override void OnStopNetwork() {
base.OnStopNetwork();
base.TimeManager.OnTick -= TimeManager_OnTick;
base.TimeManager.OnPostTick -= TimeManager_OnPostTick;
}
protected virtual void TimeManager_OnTick()
{
Replicate(CreateReplicateData());
}
protected virtual void TimeManager_OnPostTick()
{
CreateReconcile();
}
< /code>
Так что это базовая при настройке тика. < /p>
[Replicate]
Извлечение метода:

Код: Выделить всё

[Replicate]
private void Replicate(ReplicateData data, ReplicateState state = ReplicateState.Invalid, Channel channel = Channel.Reliable)
{
...
RunningMoveType = data.MoveType;
...
switch(RunningMoveType)
{
case MovementType.RelativeCamera:
Move_RelativeCamera(data, state);
break;
case MovementType.EnterLadder:
Move_EnterLadder(data, state);
break;
case MovementType.Ladder:
Move_Ladder(data, state);
break;
case MovementType.ExitLadder:
Move_ExitLadder(state);
break;
default:
break;
}
...
< /code>
[Reconcile]
extract

Код: Выделить всё

public override void CreateReconcile()
{
Reconcile(new ReconcileData(PredictionRigidbody, RunningMoveType, moveStage));
}
[Reconcile]
private void Reconcile(ReconcileData data, Channel channel = Channel.Unreliable)
{
tmp = RunningMoveType;
RunningMoveType = data.MoveType;
PredictionRigidbody.Reconcile(data.PredictionRigidbody);
RunningMoveType = tmp;
< /code>
That isn't working. Has anyone setup ladder climbing or multiple movement states with CSPv2 and gotten it to work? My thought here is if I can understand the inner workings a lot better I can better understand how I should be designing this. Right now I have zero clue how [Replicate]
получается за пределами моего метода Ontick.

Подробнее здесь: https://stackoverflow.com/questions/794 ... get-called
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»