"error Cannot generate reader for generic variable SyncList1. Use a supported type or provide a custom reader (at Mirror.SyncList1<Mirror.SyncList1<Card>>)\" 这个错误是由于 Mirror.SyncList1<Mirror.SyncList1<Card>> 中的泛型变量导致的。Mirror.SyncList1 是一个泛型类,它需要一个支持的类型或者自定义的读取器。\n\n要解决这个错误,你可以尝试以下几种方法:\n\n1. 使用支持的类型:检查 SyncList1<Mirror.SyncList1> 中的 Card 类型是否是 Mirror 支持的类型。如果不是,你可以尝试使用 Mirror 支持的类型,或者将 Card 类型转换为 Mirror 支持的类型。\n\n2. 提供自定义的读取器:如果你不能使用 Mirror 支持的类型,你可以为 SyncList1<Mirror.SyncList1> 提供一个自定义的读取器。你可以创建一个继承自 Mirror.NetworkReader 的类,并实现读取 SyncList1<Mirror.SyncList1> 的逻辑。然后,在 SyncList1<Mirror.SyncList1> 的定义中使用这个自定义的读取器。\n\n例如,你可以创建一个名为 CustomSyncListReader 的类,并实现读取 SyncList1<Mirror.SyncList1> 的逻辑:\n\ncsharp\npublic class CustomSyncListReader : Mirror.NetworkReader\n{\n public SyncList<Mirror.SyncList<Card>> ReadSyncList()\n {\n // 实现读取 SyncList`1<Mirror.SyncList`1<Card>> 的逻辑\n }\n}\n\n\n然后,在 SyncList1<Mirror.SyncList1> 的定义中使用 CustomSyncListReader:\n\ncsharp\n[SyncVar(hook = nameof(OnCardsChanged))]\npublic SyncList<Mirror.SyncList<Card>> syncCards = new SyncList<Mirror.SyncList<Card>>();\n\n[ClientRpc]\npublic void RpcSyncCards(SyncList<Mirror.SyncList<Card>> cards)\n{\n CustomSyncListReader reader = new CustomSyncListReader();\n reader.StartReading(cards);\n syncCards = reader.ReadSyncList();\n}\n\n\n这样,你就可以使用自定义的读取器来解决这个错误。请注意,你需要根据你的具体情况来实现 CustomSyncListReader 中的读取逻辑。\n\n希望对你有帮助!


原文地址: http://www.cveoy.top/t/topic/p4CG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录