private Player CreatePlayer(int playerId) { Player player = new Player(); PlayerData playerData = new PlayerData(playerId); List <Stat> playerStats = new List <Stat>(); for (int i = 0; i < gameSettings.stats.Length; i++) { Stat stat = new Stat(); stat.id = gameSettings.stats[i].id; stat.title = string.Copy(gameSettings.stats[i].title); stat.icon = string.Copy(gameSettings.stats[i].icon); stat.value = gameSettings.stats[i].value; stat.maxValue = gameSettings.stats[i].value; playerStats.Add(stat); } playerData.SetStats(playerStats); List <Buff> playerBuffs = new List <Buff>(); if (gameType == GameType.WithBuffs) { // Добавляем игрокам баффы int buffsCount = UnityEngine.Random.Range(1, gameSettings.buffs.Length + 1); for (int i = 0; i < buffsCount; i++) { int buffIndex = UnityEngine.Random.Range(0, gameSettings.buffs.Length); playerBuffs.Add(gameSettings.buffs[buffIndex]); // добавляем баффы к статам for (int j = 0; j < playerBuffs[i].stats.Length; j++) { int statId = playerBuffs[i].stats[j].statId; playerStats[statId].value += playerBuffs[i].stats[j].value; } } playerData.SetBuffs(playerBuffs); } player.Data = playerData; player.Behaviour = levelBehaiour.Players[playerId]; return(player); }