public override Pod SetupState(ProgramContext ProgramContext, ProgramStateContext ProgramStateContext)
        {
            _Context        = (MatchContext)ProgramStateContext;
            _MatchEndBuffer = new EventBuffer <EventArgs>();

            var renderer = new UnitConfigurationRenderer(
                _Context.Match.Scenario,
                GameData.UnitRenderDetails,
                128,
                1024,
                ClassLibrary.Instance.GetFont("compacta"));
            var factionRenderer =
                new FactionRenderer(_Context.Match.Scenario, GameData.FactionRenderDetails, 512, 1024);
            var armies = new HashSet <Army>(_Context.GetPlayerControlledArmies());

            var screen = new MatchScreen(
                ProgramContext.ScreenResolution,
                _Context.Match,
                armies,
                GameData.TileRenderers[_Context.Match.Scenario.Environment.UniqueKey],
                renderer,
                factionRenderer);
            var controller =
                new HumanMatchPlayerController(
                    _Context.MakeMatchAdapter(), armies, renderer, screen, ProgramContext.KeyController);

            var playerControllers = new Dictionary <Army, MatchPlayerController>();

            foreach (Army a in _Context.Match.Armies)
            {
                // var controller = new AIMatchPlayerController(_Context.MakeMatchAdapter(), a);
                var overrideController = _Context.GetOverridePlayerController(a);
                playerControllers.Add(a, overrideController ?? controller);
            }
            _MatchController             = new MatchController(_Context.Match, playerControllers);
            screen.OnPulse              += HandlePulse;
            _Context.Match.OnMatchEnded += _MatchEndBuffer.Hook <EventArgs>(HandleMatchEnd).Invoke;
            _Context.Match.Start();

            return(screen);
        }
Exemple #2
0
 public DeploymentController(HumanMatchPlayerController Controller)
     : base(Controller)
 {
 }
 public CloseAssaultController(HumanMatchPlayerController Controller)
     : base(Controller)
 {
 }
 protected BaseController(HumanMatchPlayerController Controller)
 {
     _Controller = Controller;
 }
 protected BaseAttackController(HumanMatchPlayerController Controller)
     : base(Controller)
 {
 }
 public MovementController(HumanMatchPlayerController Controller, bool VehicleMovement)
     : base(Controller)
 {
     this.VehicleMovement = VehicleMovement;
 }
Exemple #7
0
 public ArtilleryController(HumanMatchPlayerController Controller)
     : base(Controller)
 {
 }
Exemple #8
0
 public NoOpController(HumanMatchPlayerController Controller)
     : base(Controller)
 {
 }
 public ConvoyDeploymentMicrocontroller(HumanMatchPlayerController Controller, ConvoyDeployment Deployment)
     : base(Controller)
 {
     _Deployment = Deployment;
 }
 public OverrunController(HumanMatchPlayerController Controller)
     : base(Controller)
 {
 }
Exemple #11
0
 public PositionalDeploymentMicrocontroller(
     HumanMatchPlayerController Controller, PositionalDeployment Deployment)
     : base(Controller)
 {
     _Deployment = Deployment;
 }