public static IActorViewModel CreateHumanActorVm([NotNull] IPlayer player, [NotNull] ISchemeService schemeService, [NotNull] ISurvivalRandomSource survivalRandomSource, [NotNull] IPersonScheme personScheme, [NotNull] IActorManager actorManager, [NotNull] IMapNode startNode) { var inventory = new Inventory(); var evolutionData = new EvolutionData(schemeService); var defaultActScheme = schemeService.GetScheme <ITacticalActScheme>(personScheme.DefaultAct); var person = new HumanPerson(personScheme, defaultActScheme, evolutionData, survivalRandomSource, inventory); var actor = new Actor(person, player, startNode); actorManager.Add(actor); var actorViewModel = new TestActorViewModel { Actor = actor }; return(actorViewModel); }
public static IActorViewModel CreateHumanActorVm([NotNull] IPlayer player, [NotNull] ISchemeService schemeService, [NotNull] ISurvivalRandomSource survivalRandomSource, [NotNull] IPersonScheme personScheme, [NotNull] IActorManager actorManager, [NotNull] IGraphNode startNode) { if (player is null) { throw new System.ArgumentNullException(nameof(player)); } if (schemeService is null) { throw new System.ArgumentNullException(nameof(schemeService)); } if (survivalRandomSource is null) { throw new System.ArgumentNullException(nameof(survivalRandomSource)); } if (personScheme is null) { throw new System.ArgumentNullException(nameof(personScheme)); } if (actorManager is null) { throw new System.ArgumentNullException(nameof(actorManager)); } if (startNode is null) { throw new System.ArgumentNullException(nameof(startNode)); } var person = new HumanPerson(personScheme); var actor = new Actor(person, player, startNode); actorManager.Add(actor); var actorViewModel = new TestActorViewModel { Actor = actor }; return(actorViewModel); }
public void WhenАктёрИгрокаАтакуетМонстраId(int monsterId) { var attackCommand = _context.Container.GetInstance <ICommand>("attack"); var playerState = _context.Container.GetInstance <IPlayerState>(); var monster = _context.GetMonsterById(monsterId); var monsterViewModel = new TestActorViewModel { Actor = monster }; playerState.HoverViewModel = monsterViewModel; attackCommand.Execute(); }
public void WhenАктёрИгрокаАтакуетМонстраId(int monsterId) { var attackCommand = Context.ServiceProvider.GetRequiredService <AttackCommand>(); var playerState = Context.ServiceProvider.GetRequiredService <ISectorUiState>(); var monster = Context.GetMonsterById(monsterId); var monsterViewModel = new TestActorViewModel { Actor = monster }; playerState.SelectedViewModel = monsterViewModel; playerState.TacticalAct = GetUsedActs(playerState.ActiveActor.Actor).First(); attackCommand.Execute(); }