Пример #1
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="PlayerSelectionMenuControl"/> class.
        /// </summary>
        /// <param name="playerLoader"> The player loader. </param>
        public PlayerSelectionMenuControl(IPlayerLoader playerLoader)
        {
            _playerLoader = playerLoader;

            InitializeComponent();
            UpdateList();
        }
Пример #2
0
        private void Awake()
        {
            Instance = this;

            _playerLoader = GetComponent <IPlayerLoader>();
            _sceneLoader  = GetComponent <SceneLoader>();
        }
Пример #3
0
 public GameController(IGameLoader game_load, IGameCreator game_creator, IProvinceLoader province_load, IPlayerLoader player_load)
 {
     this.game_load     = game_load;
     this.game_creator  = game_creator;
     this.province_load = province_load;
     this.player_load   = player_load;
 }
Пример #4
0
            /// <summary>
            /// Loads a player.
            /// </summary>
            /// <param name="playerLoader">The player loader for loading of the player.</param>
            protected void LoadPlayer(IPlayerLoader playerLoader)
            {
                playerLoader.StartLoading();

                Level.LevelNode.AddComponent(playerLoader.Player);
                Level.players.Add(playerLoader.Player.ID, playerLoader.Player);
                Loaders.Add(playerLoader);
            }
Пример #5
0
 public GameCreator(IProvinceLoader province_load, IGameLoader game_load, IPlayerLoader player_load, Settings settings, IDatabase db, IPowerLoader power_load)
 {
     this.province_load = province_load;
     this.game_load     = game_load;
     this.player_load   = player_load;
     this.settings      = settings;
     this.db            = db;
     this.power_load    = power_load;
 }
 public CommandController(IProvinceLoader province_load, ISessionLoader session, Settings settings, IPlayerLoader player_load, ICommandExecutor cmd, IDatabase db)
 {
     this.province_load = province_load;
     this.session       = session;
     this.settings      = settings;
     this.player_load   = player_load;
     this.cmd           = cmd;
     this.db            = db;
 }
Пример #7
0
            /// <summary>
            /// Loads players and initializes them with the <see cref="players"/> data.
            /// </summary>
            protected override void LoadPlayers()
            {
                Progress.SendTextUpdate("Loading players");
                //If players == null, we are loading a saved level already in play with set AIs
                InsigniaGetter insigniaGetter = new InsigniaGetter();

                if (players == PlayerSpecification.LoadFromSavedGame)
                {
                    foreach (var storedPlayer in StoredLevel.Players.Players)
                    {
                        LoadPlayer(Player.GetLoader(Level, storedPlayer, insigniaGetter));
                    }

                    Level.HumanPlayer   = Level.GetPlayer(StoredLevel.Players.HumanPlayerID);
                    Level.NeutralPlayer = Level.GetPlayer(StoredLevel.Players.NeutralPlayerID);
                }
                //We are loading new level from a prototype or a level in play with new AIs
                else
                {
                    foreach (var playerInfo in players)
                    {
                        IPlayerLoader newPlayer =
                            Player.GetLoaderFromInfo(Level, StoredLevel.Players.Players, playerInfo, insigniaGetter);
                        LoadPlayer(newPlayer);

                        if (playerInfo.IsHuman && playerInfo.IsNeutral)
                        {
                            throw new
                                  ArgumentException("Corrupted save file, neutral player cannot have the input");
                        }
                        else if (playerInfo.IsNeutral)
                        {
                            Level.NeutralPlayer = newPlayer.Player;
                        }
                        else if (playerInfo.IsHuman)
                        {
                            Level.HumanPlayer = newPlayer.Player;
                        }
                    }
                }

                if (Level.HumanPlayer == null)
                {
                    throw new
                          ArgumentException("Corrupted save file, no human has input");
                }

                Level.Input = Game.ControllerFactory.CreateGameController(Level.Camera, Level, Level.octree, Level.HumanPlayer);
                RegisterPlayersToUI();


                //Player selection is disabled by default in play mode, but it can be enabled again
                Level.UIManager.DisablePlayerSelection();

                Progress.SendUpdate(playersLPartSize, "Loaded players");
            }
Пример #8
0
    private void Awake()
    {
        Instance = this;

        _isInitialized = false;
        _isGameEnd     = false;
        _isStart       = false;
        _playerLoader  = GetComponent <IPlayerLoader>();
        _sceneLoader   = GetComponent <SceneLoader>();

        PlayerContainer = PlayerContainer ?? new GameObject("Player");
        TileContainer   = TileContainer ?? new GameObject("Tile");
        UnitContainer   = UnitContainer ?? new GameObject("Unit");
    }
Пример #9
0
            /// <summary>
            /// Loads players, replacing them with placeholder players for editing.
            /// </summary>
            protected override void LoadPlayers()
            {
                Progress.SendTextUpdate("Loading players");

                int            numberOfPlayers = 0;
                InsigniaGetter insigniaGetter  = new InsigniaGetter();

                foreach (var existingPlayer in StoredLevel.Players.Players)
                {
                    numberOfPlayers++;
                    IPlayerLoader newPlayer = Player.GetLoaderToPlaceholder(Level, existingPlayer, insigniaGetter);
                    LoadPlayer(newPlayer);

                    //While editing, even the neutral player can have input
                    //When starting play, user will set who has input manually anyway
                    if (newPlayer.Player.ID == StoredLevel.Players.NeutralPlayerID)
                    {
                        Level.NeutralPlayer = newPlayer.Player;
                    }
                    else if (newPlayer.Player.ID == StoredLevel.Players.HumanPlayerID)
                    {
                        Level.HumanPlayer = newPlayer.Player;
                        Level.Input       = Game.ControllerFactory.CreateGameController(Level.Camera, Level, Level.octree, newPlayer.Player);
                    }
                }

                //There will always be the neutral player and the player with input (representing the human behind the keyboard)
                if (numberOfPlayers < 2)
                {
                    throw new
                          ArgumentException("Corrupted save file, there was less than 2 players (neutral or human missing)");
                }

                //Some player always has to have the input
                if (Level.Input == null)
                {
                    throw new ArgumentException("Corrupted save file, no player had input");
                }

                for (; numberOfPlayers < LevelRep.MaxNumberOfPlayers; numberOfPlayers++)
                {
                    CreatePlaceholderPlayer(insigniaGetter.GetNextUnusedInsignia());
                }


                RegisterPlayersToUI();

                Progress.SendUpdate(playersLPartSize, "Loaded players");
            }
        public Player(IPlayerLoader playerLoader,long device)
            : base()
        {
            this.playerLoader = playerLoader;
            this.infoPanel = new PlayerInfoPanel();
            infoPanel.Loaded += infoPanel_Loaded;
            this.hurtable = true;
            this.acceptMovement = true;
            this.playerName = playerLoader.getPlayerName();
            this.walkImgSrcs = playerLoader.getWalkImgSrcs();
            this.ctrl = playerLoader.getKeyControl();
            this.device = device;
            this._speed = playerLoader.getSpeed();
            this.moveStbs = initMoveStb();
            this.currDir = WalkDirection.DOWN;

            initCtrl();
            this.ownedBombs = initOwnedBomb();
        }
Пример #11
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="MainForm"/> class.
        /// </summary>
        public MainForm()
        {
            SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
            InitializeComponent();
            Size s = Size;

            ResizeEnd   += (sender, args) => { this.Refresh(); };
            ResizeBegin += (sender, args) => { s = Size; };
            Resize      += (sender, args) =>
            {
                int m = Math.Max(Size.Width, Size.Height);
                if (Size.Width < s.Width || Size.Height < s.Height)
                {
                    m = Math.Min(Size.Width, Size.Height);
                }
                Size = new Size(m, m + 50);
            };
            _gameLoader   = new GameLoader();
            _playerLoader = new PlayerLoader();
            LoadMainMenu();
        }
Пример #12
0
 public PowerLoader(IDatabase db, IPlayerLoader players)
 {
     this.db      = db;
     this.players = players;
 }
 public ProvincesController(IProvinceLoader province_load, Settings settings, IPlayerLoader player_load)
 {
     this.province_load = province_load;
     this.settings      = settings;
     this.player_load   = player_load;
 }
Пример #14
0
 public SwitchController(IProvinceLoader province_load, IPlayerLoader player_load, Settings settings)
 {
     this.province_load = province_load;
     this.player_load   = player_load;
     this.settings      = settings;
 }
 public PlayerSelectCompleteEventArgs(long[] devices,IPlayerLoader[] dummyPlayers)
 {
     this.devices = devices;
     this.selectedLoaders = dummyPlayers;
 }