private void SetMonsterName(MonsterPerson monsterPerson, Language currentLanguage) { var monsterName = monsterPerson.Scheme.Name; var monsterLocalizedName = LocalizationHelper.GetValueOrDefaultNoname(currentLanguage, monsterName); MonsterNameText.text = monsterLocalizedName; }
private IActor CreateMonster(MonsterPerson person, IMapNode startNode, IBotPlayer botPlayer) { var actor = new Actor(person, botPlayer, startNode); _actorManager.Add(actor); return(actor); }
private static IActor CreateMonster(IActorManager actorManager, MonsterPerson person, IGraphNode startNode, IBotPlayer botPlayer) { var actor = new Actor(person, botPlayer, startNode); actorManager.Add(actor); return(actor); }
public IPerson Create(IMonsterScheme monsterScheme) { var monsterPerson = new MonsterPerson(monsterScheme); var Acts = new ITacticalAct[] { new MonsterTacticalAct(monsterScheme.PrimaryAct) }; var combaActModule = new MonsterCombatActModule(Acts); monsterPerson.AddModule(combaActModule); var defenses = monsterScheme.Defense?.Defenses? .Select(x => new PersonDefenceItem(x.Type, x.Level)) .ToArray(); var defenceStats = new PersonDefenceStats( defenses ?? Array.Empty <PersonDefenceItem>(), Array.Empty <PersonArmorItem>()); var combatStatsModule = new MonsterCombatStatsModule(defenceStats); monsterPerson.AddModule(combatStatsModule); var survivalModule = new MonsterSurvivalModule(monsterScheme); monsterPerson.AddModule(survivalModule); var diseaseModule = new MonsterDiseaseModule(); monsterPerson.AddModule(diseaseModule); return(monsterPerson); }
private Action ActUnsupportedMonsterComponent(MonsterPerson monster, Action <MonsterPerson> requestPropertyAct) { Action act = () => { requestPropertyAct(monster); }; return(act); }
private IActor CreateMonster(IMonsterScheme monsterScheme, IMapNode startNode, IBotPlayer botPlayer) { var person = new MonsterPerson(monsterScheme); var actor = new Actor(person, botPlayer, startNode); _actorManager.Add(actor); return(actor); }
private static IActor CreateMonster(IActorManager actorManager, MonsterPerson person, IGraphNode startNode, IActorTaskSource <ISectorTaskSourceContext> actorTaskSource) { var actor = new Actor(person, actorTaskSource, startNode); actorManager.Add(actor); return(actor); }
private void ShowMonsterInfo(MonsterPerson monsterPerson) { PaneContent.SetActive(true); var currentLanguage = _uiSettingService.CurrentLanguage; SetMonsterName(monsterPerson, currentLanguage); SetMonsterStats(monsterPerson, currentLanguage); }
private Action ActUnsupportedMonsterComponent(MonsterPerson monster, Action <MonsterPerson> requestPropertyAct) { // ReSharper disable once ConvertToLocalFunction Action act = () => { requestPropertyAct(monster); }; return(act); }
private IActor CreateMonsterActor([NotNull] IBotPlayer player, [NotNull] IMonsterScheme monsterScheme, [NotNull] IMapNode startNode) { var monsterPerson = new MonsterPerson(monsterScheme); var actor = new Actor(monsterPerson, player, startNode); return(actor); }
private static MonsterPerson CreateMonster() { var monsterScheme = new TestMonsterScheme { PrimaryAct = new TestTacticalActStatsSubScheme() }; var monster = new MonsterPerson(monsterScheme); return(monster); }
private static MonsterPerson CreateMonster() { var monsterScheme = new TestMonsterScheme { CombatActs = new[] { new TestTacticalActStatsSubScheme() } }; var monster = new MonsterPerson(monsterScheme); return(monster); }
private IActor CreateMonsterActor([NotNull] IBotPlayer player, [NotNull] MonsterScheme monsterScheme, [NotNull] IMapNode startNode) { var schemeService = Container.GetInstance <ISchemeService>(); var monsterPerson = new MonsterPerson(monsterScheme); var actor = new Actor(monsterPerson, player, startNode); return(actor); }
private static MonsterPerson CreateMonster() { var monsterScheme = new MonsterScheme { PrimaryAct = new TacticalActStatsSubScheme { Efficient = new Range <float>(1, 1) } }; var monster = new MonsterPerson(monsterScheme); return(monster); }
public IPerson Create(IMonsterScheme monsterScheme) { var monsterPerson = new MonsterPerson(monsterScheme); if (MonsterIdentifierGenerator != null) { monsterPerson.Id = MonsterIdentifierGenerator.GetNewId(); } var movingModule = new MonsterMovingModule(monsterScheme); monsterPerson.AddModule(movingModule); if (monsterScheme?.PrimaryAct is null) { throw new InvalidOperationException(); } var Acts = new ITacticalAct[] { new MonsterTacticalAct(monsterScheme.PrimaryAct) }; var combaActModule = new MonsterCombatActModule(Acts); monsterPerson.AddModule(combaActModule); var defenses = monsterScheme.Defense?.Defenses? .Where(x => x != null) .Select(x => x !) .Select(x => new PersonDefenceItem(x.Type, x.Level)) .ToArray(); var defenceStats = new PersonDefenceStats( defenses ?? Array.Empty <PersonDefenceItem>(), Array.Empty <PersonArmorItem>()); var combatStatsModule = new MonsterCombatStatsModule(defenceStats); monsterPerson.AddModule(combatStatsModule); var survivalModule = new MonsterSurvivalModule(monsterScheme); monsterPerson.AddModule(survivalModule); var diseaseModule = new MonsterDiseaseModule(); monsterPerson.AddModule(diseaseModule); return(monsterPerson); }
private void SetMonsterStats(MonsterPerson monsterPerson, Language currentLanguage) { var hpStat = monsterPerson.GetModule <ISurvivalModule>().Stats.SingleOrDefault(x => x.Type == SurvivalStatType.Health); if (hpStat == null) { return; } var monsterHealthStateKey = HealthHelper.GetHealthStateKey(hpStat); var monsterHealthState = StaticPhrases.GetValue($"state-hp-{monsterHealthStateKey}", currentLanguage); MonsterHpText.text = monsterHealthState; }
private static MonsterPerson CreateMonster() { var monsterScheme = new TestMonsterScheme { PrimaryAct = new TestTacticalActStatsSubScheme() }; var survivalRandomSourceMock = new Mock <ISurvivalRandomSource>(); var survivalRandomSource = survivalRandomSourceMock.Object; var monster = new MonsterPerson(monsterScheme); return(monster); }
public static string GetPerkHintText(MonsterPerson monster) { var name = GetMonsterName(monster); var description = GetMonsterDescription(monster); var survivalModule = monster.GetModule <ISurvivalModule>(); var hpStat = survivalModule.Stats.Single(x => x.Type == SurvivalStatType.Health); var healthState = GetHealthState(hpStat.ValueShare); if (!string.IsNullOrWhiteSpace(description)) { return($"{name}\n{new string('-', 8)}\n{healthState}\n{new string('-', 8)}\n{description}"); } return($"{name}\n{new string('-', 8)}\n{healthState}"); }
private void CreateRoomMonsters(ISector sector, IEnumerable <Room> rooms) { var monsterScheme = _schemeService.GetScheme <MonsterScheme>("rat"); foreach (var room in rooms) { var person = new MonsterPerson(monsterScheme); var startNode = room.Nodes.FirstOrDefault(); var actor = new Actor(person, _botPlayer, startNode); _actorManager.Add(actor); var finishPatrolNode = room.Nodes.Last(); var patrolRoute = new PatrolRoute(new[] { startNode, finishPatrolNode }); sector.PatrolRoutes[actor] = patrolRoute; } }
private void CreateNodeMonsterState(MonsterSet[] monsterSets, GlobeRegionNode node) { var monsterSetRoll = _dice.Roll(0, monsterSets.Count() - 1); var rolledMonsterSet = monsterSets[monsterSetRoll]; var monsterCount = rolledMonsterSet.MonsterSchemes.Count(); node.MonsterState = new GlobeRegionNodeMonsterState { MonsterPersons = new MonsterPerson[monsterCount] }; // Генерируем персонажей монстров. for (var monsterIndex = 0; monsterIndex < monsterCount; monsterIndex++) { var monsterScheme = rolledMonsterSet.MonsterSchemes[monsterIndex]; var person = new MonsterPerson(monsterScheme); node.MonsterState.MonsterPersons[monsterIndex] = person; } }
/// <summary>Засчитать убийство монстра.</summary> /// <param name="monster">Монстр, убитый игроком.</param> public void CountMonsterDefeat(MonsterPerson monster) { var monsterScheme = monster.Scheme; var score = monsterScheme.BaseScore; if (score == 0) { score = MONSTER_DEFAULT_BASE_SCORE; } BaseScores += score; if (!Frags.ContainsKey(monsterScheme)) { Frags.Add(monsterScheme, 0); } Frags[monsterScheme]++; }
public void Constructor_DefaultParams_NoException() { // ARRANGE var monsterScheme = new TestMonsterScheme { CombatActs = new[] { new TestTacticalActStatsSubScheme() } }; var survivalRandomSourceMock = new Mock <ISurvivalRandomSource>(); var survivalRandomSource = survivalRandomSourceMock.Object; // ACT Action act = () => { // ReSharper disable once UnusedVariable var monster = new MonsterPerson(monsterScheme); }; // ARRANGE act.Should().NotThrow(); }
public void Constructor_HpInScheme_ActorHpEqualsSchemeHp() { // ARRANGE const int expectedHp = 100; var monsterScheme = new TestMonsterScheme { Hp = expectedHp, PrimaryAct = new TestTacticalActStatsSubScheme() }; var survivalRandomSourceMock = new Mock <ISurvivalRandomSource>(); var survivalRandomSource = survivalRandomSourceMock.Object; // ACT var monster = new MonsterPerson(monsterScheme); // ARRANGE monster.Hp.Should().Be(expectedHp); }
public void Constructor_HpInScheme_ActorHpEqualsSchemeHp() { // ARRANGE const int expectedHp = 100; var monsterScheme = new MonsterScheme { Hp = expectedHp, PrimaryAct = new TacticalActStatsSubScheme { Efficient = new Range <float>(1, 2) } }; // ACT var monster = new MonsterPerson(monsterScheme); // ARRANGE monster.Hp.Should().Be(expectedHp); }
public void Constructor_DefaultParams_NoException() { // ARRANGE var monsterScheme = new MonsterScheme { PrimaryAct = new TacticalActStatsSubScheme { Efficient = new Range <float>(1, 2) } }; // ACT Action act = () => { var monster = new MonsterPerson(monsterScheme); }; // ARRANGE act.Should().NotThrow(); }
public static string GetMonsterName(MonsterPerson monster) { var text = monster.Scheme.Name?.En; var currentLanguage = Thread.CurrentThread.CurrentUICulture; var langName = currentLanguage.TwoLetterISOLanguageName; if (string.Equals(langName, "en", StringComparison.InvariantCultureIgnoreCase)) { text = monster.Scheme.Name?.En; } else if (string.Equals(langName, "ru", StringComparison.InvariantCultureIgnoreCase)) { text = monster.Scheme.Name?.Ru; } else { Debug.Fail( $"Unknown language {langName} is selected. All available language must be supported in the client."); } return(text ?? "<Undef>"); }