Exemplo n.º 1
0
	public void BindPlayer(Player player)
	{
		Diagnostics.Assert(player != null);
		switch (player.Type)
		{
		case PlayerType.Unset:
			throw new GameException("Player type is unset.");
		case PlayerType.AI:
			base.IsControlledByAI = true;
			break;
		case PlayerType.Human:
			base.IsControlledByAI = false;
			break;
		default:
			throw new ArgumentOutOfRangeException();
		}
		IGameService service = Services.GetService<IGameService>();
		Diagnostics.Assert(service != null);
		global::Game game = service.Game as global::Game;
		Diagnostics.Assert(game != null);
		base.UpdateGameModifiers(game);
		this.players.Add(player);
		IPlayerRepositoryService service2 = game.GetService<IPlayerRepositoryService>();
		Diagnostics.Assert(service2 != null);
		service2.Register(player);
		if (this.OnPlayerBond != null)
		{
			this.OnPlayerBond(this, player);
		}
	}
Exemplo n.º 2
0
	public void UnbindPlayer(Player player)
	{
		this.players.Remove(player);
		IGameService service = Services.GetService<IGameService>();
		Diagnostics.Assert(service != null);
		IPlayerRepositoryService service2 = (service.Game as global::Game).GetService<IPlayerRepositoryService>();
		Diagnostics.Assert(service2 != null);
		service2.Unregister(player);
	}