Esempio n. 1
0
        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);
 }