private void HandleBattle(BattleActorMessage message) { using(var container = GameLogic.Bootstrapper.BootstrapUnity()) { IPlugin battleInterop = container.Resolve<IPlugin>("JavascriptPlugin"); IJSScriptHelper scriptHelper = container.Resolve<IJSScriptHelper>(); IRandomHelper randomHelper = container.Resolve<IRandomHelper>(); Battle battle = new Battle(message.Teams, battleInterop, scriptHelper, randomHelper); List<string> battleLog = new List<string>(); while (battle.MoreThanOneTeamAlive()) { battle.TakeTurn(battleLog); } var winningTeam = battle.GetVictoriousTeam(); var losingTeam = battle.GetLosingTeam(); BattleEndMessage bem = new BattleEndMessage() { WinningUsers = winningTeam.Select(user => user.Name), LosingUsers = losingTeam.Select(user => user.Name) }; //SendMessageActor send bem } }