public void ResetDataForNewPlayer(Player player) { foreach (KeyValuePair <ushort, ICreativePower> item in _powersById) { IPersistentPerPlayerContent persistentPerPlayerContent = item.Value as IPersistentPerPlayerContent; if (persistentPerPlayerContent != null) { persistentPerPlayerContent.Reset(); persistentPerPlayerContent.ResetDataForNewPlayer(player); } } }
public void SaveToPlayer(Player player, BinaryWriter writer) { foreach (KeyValuePair <ushort, ICreativePower> item in _powersById) { IPersistentPerPlayerContent persistentPerPlayerContent = item.Value as IPersistentPerPlayerContent; if (persistentPerPlayerContent != null) { writer.Write(value: true); writer.Write(item.Key); persistentPerPlayerContent.Save(player, writer); } } writer.Write(value: false); }