Hello,
IInputComponentData is working well with other data types e.g. InputEvent, Int… etc., but not working when using FixedLists.
IInputComponentData
[GhostComponent(PrefabType = GhostPrefabType.AllPredicted, OwnerSendType = SendToOwnerType.SendToNonOwner)]
public struct ExchangeInputs : IInputComponentData
{
...
...
public InputEvent UpdateIndexes;
public FixedList32Bytes<short> IndexesList;
}
GhostInputSystem - GatherAutoCommand
if (exchange.ValueRO.UpdateExchange)
{
inputData.ValueRW.UpdateIndexes.Set();
inputData.ValueRW.IndexesList= exchange.ValueRO.ExchangedItemIndexList;
for (int i = 0; i < inputData.ValueRO.IndexesList.Length; i++)
{
UnityEngine.Debug.Log($"Index = {inputData.ValueRO.IndexesList[i]}");
}
}
The values of Indexes are ok here, but all Indexes values equal 0 in server side.
Server Side
if(inputData.UpdateIndexes.IsSet)
{
for (int k = 0; k < inputData.ValueRO.IndexesList.Length; k++)
{
UnityEngine.Debug.Log($"INDEX SERVER = {playerInput.IndexesList[i]}");
}
}
Always values equal 0, why?
Any idea to solve this problem?
Thanks in advance.