public async Task RunAsync() { var tokenProp1 = new SampleMovingBattleTokenProperty(); var skills = new Skill[] { new Skill() { Property = new SampleMoveSkillProperty() } }; var battleContext = new BattleContext() { LocalPlayer = new Player() { Tokens = new BattleToken[] { new BattleToken(0, tokenProp1, skills), }, }, RemotePlayer = new Player() { Tokens = new BattleToken[] { new BattleToken(1, tokenProp1, skills), }, }, }; var battleView = view.GotoBattle(battleContext); battleContext.View = battleView; var battleProcess = new BattleProcess(battleContext); await battleProcess.RunAsync(); }