/** @brief NoGuiSinglePlayerBattle
  *
  * @todo: document this function
  */
NoGuiSinglePlayerBattle::NoGuiSinglePlayerBattle()
    :  m_me( User( usync().IsLoaded() ? usync().GetDefaultNick() : _T("invalid") ) )
{
    OnUserAdded( m_me );
    m_me.BattleStatus().colour = sett().GetBattleLastColour();
    SetFounder( m_me.GetNick() );
}
예제 #2
0
User& IBattle::OnBotAdded( const std::string& nick, const UserBattleStatus& bs )
{
	m_internal_bot_list[nick] = User(nick);
	User& user = m_internal_bot_list[nick];
	user.UpdateBattleStatus( bs );
	User& usr = OnUserAdded( user );
	return usr;
}
SinglePlayerBattle::SinglePlayerBattle( MainSinglePlayerTab& msptab ):
  m_sptab(msptab),
  m_me( User( usync().IsLoaded() ? usync().GetDefaultNick() : _T("invalid") ) )
{
	OnUserAdded( m_me );
	m_me.BattleStatus().side = sett().GetBattleLastSideSel( GetHostModName() );
	m_me.BattleStatus().colour = sett().GetBattleLastColour();
	CustomBattleOptions().setSingleOption( _T("startpostype"), wxFormat(_T("%d") ) % ST_Pick, OptionsWrapper::EngineOption );
}
SinglePlayerBattle::SinglePlayerBattle(MainSinglePlayerTab& msptab)
    : m_sptab(msptab)
    , m_me(STD_STRING(cfg().ReadString("/Spring/DefaultName")))
{
	OnUserAdded(m_me);
	m_me.BattleStatus().side = sett().GetBattleLastSideSel(TowxString(GetHostGameName()));
	m_me.BattleStatus().colour = wxColourTolsl(sett().GetBattleLastColour());
	CustomBattleOptions().setSingleOption("startpostype", LSL::Util::ToIntString(ST_Pick), LSL::Enum::EngineOption);
}
예제 #5
0
SinglePlayerBattle::SinglePlayerBattle( MainSinglePlayerTab& msptab ):
  m_sptab(msptab),
  m_me( User(sett().GetDefaultNick()))
{
	OnUserAdded( m_me );
	m_me.BattleStatus().side = sett().GetBattleLastSideSel( GetHostModName() );
	m_me.BattleStatus().colour = sett().GetBattleLastColour();
    CustomBattleOptions().setSingleOption( "startpostype", LSL::Util::ToString(ST_Pick), LSL::OptionsWrapper::EngineOption );
	ConnectGlobalEvent(this, GlobalEvent::OnUnitsyncReloaded, wxObjectEventFunction(&SinglePlayerBattle::OnUnitsyncReloaded));
}
예제 #6
0
OfflineBattle::OfflineBattle(const int id)
    : m_id(id)
    , m_me("Spectator")
{
	m_opts.founder = m_me.GetNick();
	OnUserAdded(m_me);
	UserBattleStatus& newstatus = m_me.BattleStatus();
	newstatus.spectator = true;
	newstatus.sync = true;
}
예제 #7
0
OfflineBattle& OfflineBattle::operator=(OfflineBattle&& moved)
{
	// CAUTION: the userlist might contain pointers to the moved.m_me, which is about to go away.
	// So if it exists, remove this pointer and substitute in our own pointer to m_me.
	UserList::operator=((const UserList&&)moved);
	m_id = moved.m_id;
	m_me = moved.m_me;
	auto spec_it = m_users.find("Spectator");
	if (spec_it != m_users.end()) {
		RemoveUser("Spectator");
		OnUserAdded(m_me);
	}
	//	m_map_loaded = moved.m_map_loaded;
	//	m_game_loaded = moved.m_game_loaded;
	//	m_local_map = moved.m_local_map;
	//	m_local_mod = moved.m_local_mod;
	//	m_host_map = moved.m_host_map;
	//	m_host_mod = moved.m_host_mod;
	//	m_previous_local_mod_name = moved.m_previous_local_mod_name;
	//	m_restricted_units = moved.m_restricted_units;
	//	m_opt_wrap = moved.m_opt_wrap;
	m_opts = moved.m_opts;
	//	m_ingame = moved.m_ingame;
	//	m_auto_unspec = moved.m_auto_unspec;
	m_generating_script = moved.m_generating_script;
	//	m_rects = moved.m_rects;
	m_ready_up_map = moved.m_ready_up_map; // player name -> time counting from join/unspect
					       //	m_players_ready = moved.m_players_ready;
					       //	m_players_sync = moved.m_players_sync;
					       //	m_players_ok = moved.m_players_ok;
	m_teams_sizes = moved.m_teams_sizes;   // controlteam -> number of people in
					       //	m_ally_sizes = moved.m_ally_sizes; // allyteam -> number of people in
					       //	m_preset = moved.m_preset;
	m_is_self_in = moved.m_is_self_in;
	//	m_internal_bot_list = moved.m_internal_bot_list;
	//	m_script = moved.m_script;
	//	m_playback_file_path = moved.m_playback_file_path;
	//	m_parsed_teams = moved.m_parsed_teams;
	//	m_parsed_allies = moved.m_parsed_allies;
	//	m_internal_user_list = moved.m_internal_user_list;
	return *this;
}