Я понимаю, что GameplayAbabilities не нужно реплицировать для обновления GameplayAttributes по всей сети, поскольку они не влияют на атрибуты напрямую. Вместо этого это задача GameplayEffects.
Так что же обновляет значения атрибута GameplayAbilitySystem (FGameplayAttributeData
) по сети:
- реплицировать только атрибуты?
- или отправляются только игровые эффекты?
- или оба?
Чтобы дать контекст: у меня есть система изменения атрибутов, где мне нужно несколько «базовых значений». Эти «базовые значения» меняются очень редко, в то время как «конечное значение» часто меняется. Есть две возможности сделать это с помощью GAS
- использовать отдельный атрибут для каждого из «базовых значений» и «конечного значения» или
- добавить дополнительные члены с плавающей точкой в структуру атрибута
FGameplayAttributeData
для всех «базовых значений» и «конечного значения»
Если бы по сети отправлялись только GE (а не атрибуты), я бы выбрал (2), поскольку размер атрибута не имеет значения для пропускной способности.