예제 #1
0
        public void Update()
        {
            var player = _country.PlayerCountry;

            if (_army.GetAvailableCount(player) > 0)
            {
                var locPairs = _conquest.GetAcceptableLocations(player);
                foreach (var pair in locPairs)
                {
                    var homeLoc   = pair.Item1;
                    var targetLoc = pair.Item2;
                    var name      = targetLoc.Name;
                    if (_discovery.IsDiscovered(player, targetLoc))
                    {
                        if (targetLoc.Owner != null)
                        {
                            var raceName = LocUtils.TranslateRaceName(targetLoc.Owner);
                            name += $" ({targetLoc.Owner.Name}, {raceName})";
                        }
                    }
                    else
                    {
                        name += " (?)";
                    }
                    name += ".";
                    _context.AddCase(name, () => TryStartConquest(homeLoc, targetLoc, player));
                }
            }

            _context.AddCase(
                Content.go_back,
                () => _context.GoToRelatedContext <ArmyController>());
        }
예제 #2
0
 public void OnStart()
 {
     if (_country.PlayerCountry == null)
     {
         return;
     }
     _context.AddCase(Content.go_to_map, () => _context.GoTo(this));
 }
예제 #3
0
 public void OnStart()
 {
     if (_country.PlayerCountry == null)
     {
         return;
     }
     _context.AddCase(Content.go_to_bank, () => {
         _context.GoTo(this);
         _out.Write(Content.bank_welcome);
     });
 }
예제 #4
0
 public void OnStart()
 {
     if (_country.PlayerCountry != null)
     {
         _context.AddCase(Content.next_day, () => {
             _time.NextDay();
         });
     }
 }