public PlayerData(NetworkUser player) { steamId = player.Network_id.steamId.value; money = player.master.money; inventory = new InventoryData(player.master); loadout = new LoadoutData(player.master); characterBodyName = player.master.bodyPrefab.name; lunarCoinChanceMultiplier = player.masterController.GetFieldValue <float>("lunarCoinChanceMultiplier"); lunarCoins = player.lunarCoins; var tmpMinions = new List <MinionData>(); foreach (var instance in CharacterMaster.readOnlyInstancesList) { var ownerMaster = instance.minionOwnership.ownerMaster; if (ownerMaster != null && ownerMaster.netId == player.master.netId) { tmpMinions.Add(new MinionData(instance)); } } minions = new MinionData[tmpMinions.Count]; for (var i = 0; i < tmpMinions.Count; i++) { minions[i] = tmpMinions[i]; } var stats = player.masterController.GetComponent <PlayerStatsComponent>().currentStats; statsFields = new string[stats.fields.Length]; for (var i = 0; i < stats.fields.Length; i++) { var field = stats.fields[i]; statsFields[i] = field.ToString(); } statsUnlockables = new int[stats.GetUnlockableCount()]; for (var i = 0; i < stats.GetUnlockableCount(); i++) { var unlockable = stats.GetUnlockableIndex(i); statsUnlockables[i] = unlockable.value; } }
public MinionData(CharacterMaster master) { masterIndex = (int)master.masterIndex; inventory = new InventoryData(master); }