protected override void Execute(IOnlineConnection Sender) { FightingZone NewGame = new FightingZone(Owner.MapPath, Owner.UseTeams, OnlineServer, CreatedGroup); GameRules Rules = new BattleGameRules(Owner, NewGame); NewGame.Rules = Rules; CreatedGroup.SetGame(NewGame); for (int P = 0; P < CreatedGroup.Room.ListOnlinePlayer.Count; P++) { IOnlineConnection ActiveOnlinePlayer = CreatedGroup.Room.ListOnlinePlayer[P]; Player ActivePlayer = Owner.ListRoomPlayer[P]; ActivePlayer.OnlineClient = ActiveOnlinePlayer; NewGame.AddLocalCharacter(ActivePlayer); //Add Game Specific scripts Dictionary <string, OnlineScript> DicNewScript = OnlineHelper.GetTripleThunderScriptsServer(CreatedGroup, ActivePlayer); ActiveOnlinePlayer.AddOrReplaceScripts(DicNewScript); } for (int P = 0; P < CreatedGroup.Room.ListOnlinePlayer.Count; P++) { IOnlineConnection ActiveOnlinePlayer = CreatedGroup.Room.ListOnlinePlayer[P]; ActiveOnlinePlayer.Send(new CreateGameScriptServer()); } }
protected override void OnJoinRoomLocal(IOnlineConnection Sender, string RoomID, GameClientGroup ActiveGroup) { PVPRoomInformations JoinedRoom = (PVPRoomInformations)ActiveGroup.Room; List <BattleMapPlayer> ListJoiningPlayerInfo = JoinedRoom.GetOnlinePlayer(Sender); foreach (IOnlineConnection ActivePlayer in ActiveGroup.Room.ListOnlinePlayer) { if (ActivePlayer == Sender) { continue; } ActivePlayer.Send(new PlayerJoinedScriptServer(ListJoiningPlayerInfo)); } Dictionary <string, OnlineScript> DicNewScript = OnlineHelper.GetRoomScriptsServer(JoinedRoom, Owner); DicNewScript.Add(AskStartGameBattleScriptServer.ScriptName, new AskStartGameBattleScriptServer(JoinedRoom, (Online.BattleMapClientGroup)ActiveGroup, Owner)); DicNewScript.Add(AskChangeRoomExtrasMissionScriptServer.ScriptName, new AskChangeRoomExtrasMissionScriptServer(JoinedRoom)); Sender.AddOrReplaceScripts(DicNewScript); if (ActiveGroup.CurrentGame != null) { } Sender.Send(new JoinRoomLocalScriptServer(RoomID, JoinedRoom.CurrentDifficulty, ListJoiningPlayerInfo, ActiveGroup)); }
protected override void Execute(IOnlineConnection Sender) { FightingZone NewGame = new FightingZone(Owner.MapPath, Owner.UseTeams, OnlineServer, CreatedGroup); GameRules Rules = new MissionGameRules(Owner, NewGame); NewGame.Rules = Rules; CreatedGroup.SetGame(NewGame); for (int P = 0; P < CreatedGroup.Room.ListOnlinePlayer.Count; P++) { IOnlineConnection ActiveOnlinePlayer = CreatedGroup.Room.ListOnlinePlayer[P]; Player ActivePlayer = Owner.ListRoomPlayer[P]; ActivePlayer.OnlineClient = ActiveOnlinePlayer; NewGame.AddLocalCharacter(ActivePlayer); //Add Game Specific scripts Dictionary<string, OnlineScript> DicNewScript = new Dictionary<string, OnlineScript>(); DicNewScript.Add(FinishedLoadingScriptServer.ScriptName, new FinishedLoadingScriptServer(CreatedGroup)); DicNewScript.Add(SendPlayerUpdateScriptServer.ScriptName, new SendPlayerUpdateScriptServer(CreatedGroup, ActivePlayer)); DicNewScript.Add(ShootBulletScriptServer.ScriptName, new ShootBulletScriptServer(CreatedGroup, ActivePlayer)); DicNewScript.Add(AskTripleThunderGameDataScriptServer.ScriptName, new AskTripleThunderGameDataScriptServer(CreatedGroup)); ActiveOnlinePlayer.AddOrReplaceScripts(DicNewScript); } for (int P = 0; P < CreatedGroup.Room.ListOnlinePlayer.Count; P++) { IOnlineConnection ActiveOnlinePlayer = CreatedGroup.Room.ListOnlinePlayer[P]; ActiveOnlinePlayer.Send(new CreateGameScriptServer()); } }
protected override void Execute(IOnlineConnection Host) { OnlineGameClient.RoomID = RoomID; RoomInformations NewRoom; Dictionary <string, OnlineScript> DicNewGameServerScript = new Dictionary <string, OnlineScript>(); IMissionSelect NewMissionSelectScreen; if (RoomType == RoomInformations.RoomTypeMission) { MissionRoomInformations MissionRoom = new MissionRoomInformations(RoomID, RoomName, RoomType, RoomSubtype, MinNumberOfPlayer, MaxNumberOfPlayer); NewRoom = MissionRoom; MissionSelect NewMissionSelect = new MissionSelect(OnlineGameClient, OnlineCommunicationClient, MissionRoom); NewScreen = NewMissionSelect; NewMissionSelectScreen = NewMissionSelect; DicNewGameServerScript.Add(CreateGameMissionScriptClient.ScriptName, new CreateGameMissionScriptClient(OnlineGameClient, ScreenOwner.ListGameScreen, MissionRoom)); DicNewGameServerScript.Add(ChangeRoomExtrasMissionScriptClient.ScriptName, new ChangeRoomExtrasMissionScriptClient(MissionRoom, NewMissionSelectScreen)); } else { BattleRoomInformations BattleRoom = new BattleRoomInformations(RoomID, RoomName, RoomType, RoomSubtype, MinNumberOfPlayer, MaxNumberOfPlayer); NewRoom = BattleRoom; BattleSelect NewBattleSelect = new BattleSelect(OnlineGameClient, OnlineCommunicationClient, BattleRoom); NewScreen = NewBattleSelect; NewMissionSelectScreen = NewBattleSelect; DicNewGameServerScript.Add(CreateGameMissionScriptClient.ScriptName, new CreateGameBattleScriptClient(OnlineGameClient, ScreenOwner.ListGameScreen, BattleRoom)); DicNewGameServerScript.Add(ChangeRoomExtrasBattleScriptClient.ScriptName, new ChangeRoomExtrasBattleScriptClient(BattleRoom, NewMissionSelectScreen)); } DicNewGameServerScript.Add(PlayerJoinedScriptClient.ScriptName, new PlayerJoinedScriptClient(NewMissionSelectScreen)); DicNewGameServerScript.Add(PlayerLeftScriptClient.ScriptName, new PlayerLeftScriptClient(NewRoom, OnlineGameClient, NewMissionSelectScreen)); DicNewGameServerScript.Add(ChangeCharacterScriptClient.ScriptName, new ChangeCharacterScriptClient(NewRoom, NewMissionSelectScreen)); DicNewGameServerScript.Add(ChangePlayerTypeScriptClient.ScriptName, new ChangePlayerTypeScriptClient(NewRoom, NewMissionSelectScreen)); DicNewGameServerScript.Add(ChangeTeamScriptClient.ScriptName, new ChangeTeamScriptClient(NewRoom)); DicNewGameServerScript.Add(ChangeMapScriptClient.ScriptName, new ChangeMapScriptClient(NewRoom, NewMissionSelectScreen)); DicNewGameServerScript.Add(ChangeRoomSubtypeScriptClient.ScriptName, new ChangeRoomSubtypeScriptClient(NewMissionSelectScreen)); Host.AddOrReplaceScripts(DicNewGameServerScript); if (OnlineCommunicationClient.Host != null) { Dictionary <string, OnlineScript> DicNewCommunicationServerScript = new Dictionary <string, OnlineScript>(); DicNewCommunicationServerScript.Add(ReceiveGroupMessageScriptClient.ScriptName, new ReceiveGroupMessageScriptClient(OnlineCommunicationClient)); OnlineCommunicationClient.Host.AddOrReplaceScripts(DicNewCommunicationServerScript); OnlineCommunicationClient.Chat.InsertTab(RoomID, "Chat"); OnlineCommunicationClient.Chat.CloseTab("Global"); OnlineCommunicationClient.Host.Send(new CreateOrJoinCommunicationGroupScriptClient(RoomID, false)); OnlineCommunicationClient.Host.Send(new LeaveCommunicationGroupScriptClient("Global")); } ScreenOwner.RemoveScreen(ScreenOwner); OnlineGameClient.DelayOnlineScript(this); }
protected override void OnJoinRoomLocal(IOnlineConnection Sender, string RoomID, ClientGroup ActiveGroup) { foreach (IOnlineConnection ActivePlayer in ActiveGroup.Room.ListOnlinePlayer) { if (ActivePlayer == Sender) { continue; } ActivePlayer.Send(new PlayerJoinedScriptServer(ActiveGroup.Room.GetPlayer(Sender))); } Dictionary <string, OnlineScript> DicNewScript = new Dictionary <string, OnlineScript>(); DicNewScript.Add(LeaveRoomScriptServer.ScriptName, new LeaveRoomScriptServer(ActiveGroup.Room, Owner)); Sender.AddOrReplaceScripts(DicNewScript); PlayerWithID NewGamePlayer = null; if (ActiveGroup.CurrentGame != null) { TextGame CurrentGame = (TextGame)ActiveGroup.CurrentGame; NewGamePlayer = CurrentGame.AddPlayer(); //Add Game Specific scripts DicNewScript = new Dictionary <string, OnlineScript>(); DicNewScript.Add(SendSquareScriptServer.ScriptName, new SendSquareScriptServer(ActiveGroup, NewGamePlayer)); DicNewScript.Add(SendCircleScriptServer.ScriptName, new SendCircleScriptServer(ActiveGroup, NewGamePlayer)); DicNewScript.Add(FinishedLoadingScriptServer.ScriptName, new FinishedLoadingScriptServer(ActiveGroup, NewGamePlayer)); Sender.AddOrReplaceScripts(DicNewScript); foreach (IOnlineConnection ActivePlayer in ActiveGroup.Room.ListOnlinePlayer) { if (ActivePlayer == Sender) { continue; } ActivePlayer.Send(new CreatePlayerScriptServer(NewGamePlayer.ID, false)); } } Sender.Send(new JoinRoomLocalScriptServerForm(RoomID, NewGamePlayer, ActiveGroup)); }
protected override void Execute(IOnlineConnection Host) { OnlineGameClient.RoomID = RoomID; Dictionary <string, OnlineScript> DicNewGameServerScript = new Dictionary <string, OnlineScript>(); RoomInformations NewRoom; //FightingZone NewFightingZone = null; if (HasGame) { /* NewFightingZone = new FightingZone(OnlineGameClient); * NewFightingZone.ListGameScreen = ScreenOwner.ListGameScreen; * * DicNewGameServerScript = OnlineHelper.GetTripleThunderScriptsClient(OnlineGameClient); * Host.IsGameReady = true;*/ } PVPRoomInformations MissionRoom = new PVPRoomInformations(RoomID, RoomName, RoomType, RoomSubtype, CurrentDifficulty, MapPath, ListJoiningPlayerID, ScreenOwner.Content, RoomData); NewRoom = MissionRoom; NewScreen = new GamePreparationScreen(OnlineGameClient, OnlineCommunicationClient, MissionRoom); DicNewGameServerScript.Add(CreateGameScriptClient.ScriptName, new CreateGameScriptClient(OnlineGameClient, ScreenOwner.ListGameScreen, MissionRoom)); DicNewGameServerScript.Add(ChangeRoomExtrasBattleScriptClient.ScriptName, new ChangeRoomExtrasMissionScriptClient(MissionRoom, NewScreen)); if (HasGame) { //ScreenOwner.PushScreen(new LoadingScreen(NewFightingZone, OnlineGameClient)); } DicNewGameServerScript.Add(PlayerJoinedScriptClient.ScriptName, new PlayerJoinedScriptClient(NewScreen)); DicNewGameServerScript.Add(PlayerLeftScriptClient.ScriptName, new PlayerLeftScriptClient(NewRoom, OnlineGameClient, NewScreen)); DicNewGameServerScript.Add(ChangeLoadoutScriptClient.ScriptName, new ChangeLoadoutScriptClient(NewRoom, NewScreen)); DicNewGameServerScript.Add(ChangePlayerTypeScriptClient.ScriptName, new ChangePlayerTypeScriptClient(NewRoom, NewScreen)); DicNewGameServerScript.Add(ChangeTeamScriptClient.ScriptName, new ChangeTeamScriptClient(NewRoom)); DicNewGameServerScript.Add(ChangeMapScriptClient.ScriptName, new ChangeMapScriptClient(NewRoom, NewScreen)); DicNewGameServerScript.Add(ChangeRoomSubtypeScriptClient.ScriptName, new ChangeRoomSubtypeScriptClient(NewScreen)); Host.AddOrReplaceScripts(DicNewGameServerScript); if (OnlineCommunicationClient.Host != null) { OnlineCommunicationClient.Chat.InsertTab(RoomID, "Chat"); OnlineCommunicationClient.Chat.CloseTab("Global"); OnlineCommunicationClient.Host.Send(new CreateOrJoinCommunicationGroupScriptClient(RoomID, false)); OnlineCommunicationClient.Host.Send(new LeaveCommunicationGroupScriptClient("Global")); } Host.Send(new AskChangeLoadoutScriptClient(PlayerManager.ListLocalPlayer[0])); OnlineGameClient.DelayOnlineScript(this); }
protected override void Execute(IOnlineConnection Host) { FightingZone NewGame = new FightingZone(Owner); GameRules Rules = new MissionGameRules(Room, NewGame); NewGame.Rules = Rules; NewGame.ListGameScreen = ListGameScreen; NewGame.PushScreen(new LoadingScreen(NewGame, Owner)); Dictionary <string, OnlineScript> DicNewScript = OnlineHelper.GetTripleThunderScriptsClient(Owner); Host.AddOrReplaceScripts(DicNewScript); }
protected override void Execute(IOnlineConnection Host) { BattleMap NewMap = BattleMap.DicBattmeMapType[Room.MapType].GetNewMap(Room.RoomType); NewMap.InitOnlineClient(Owner); NewMap.ListGameScreen = ListGameScreen; NewMap.PushScreen(new LoadingScreen(NewMap, Owner)); Dictionary <string, OnlineScript> DicNewScript = OnlineHelper.GetBattleMapScriptsClient(Owner); DicNewScript.Add(OpenMenuScriptClient.ScriptName, new OpenMenuScriptClient(Owner, NewMap.GetOnlineActionPanel())); Host.AddOrReplaceScripts(DicNewScript); }
protected override void Execute(IOnlineConnection Host) { Owner.RoomID = RoomID; RoomInformations NewRoom; Dictionary <string, OnlineScript> DicNewScript = new Dictionary <string, OnlineScript>(); IMissionSelect NewMissionSelectScreen; if (RoomType == RoomInformations.RoomTypeMission) { MissionRoomInformations MissionRoom = new MissionRoomInformations(RoomID, RoomName, RoomType, RoomSubtype, MaxNumberOfPlayer); NewRoom = MissionRoom; MissionSelect NewScreen = new MissionSelect(Owner, MissionRoom); NewMissionSelectScreen = NewScreen; DicNewScript.Add(CreateGameMissionScriptClient.ScriptName, new CreateGameMissionScriptClient(Owner, ScreenOwner.ListGameScreen, MissionRoom)); DicNewScript.Add(ChangeRoomExtrasMissionScriptClient.ScriptName, new ChangeRoomExtrasMissionScriptClient(MissionRoom, NewMissionSelectScreen)); ScreenOwner.PushScreen(NewScreen); } else { BattleRoomInformations BattleRoom = new BattleRoomInformations(RoomID, RoomName, RoomType, RoomSubtype, MaxNumberOfPlayer); NewRoom = BattleRoom; BattleSelect NewScreen = new BattleSelect(Owner, BattleRoom); NewMissionSelectScreen = NewScreen; DicNewScript.Add(CreateGameMissionScriptClient.ScriptName, new CreateGameBattleScriptClient(Owner, ScreenOwner.ListGameScreen, BattleRoom)); DicNewScript.Add(ChangeRoomExtrasBattleScriptClient.ScriptName, new ChangeRoomExtrasBattleScriptClient(BattleRoom, NewMissionSelectScreen)); ScreenOwner.PushScreen(NewScreen); } DicNewScript.Add(PlayerJoinedScriptClient.ScriptName, new PlayerJoinedScriptClient(NewMissionSelectScreen)); DicNewScript.Add(PlayerLeftScriptClient.ScriptName, new PlayerLeftScriptClient(NewRoom, Owner, NewMissionSelectScreen)); DicNewScript.Add(ChangeCharacterScriptClient.ScriptName, new ChangeCharacterScriptClient(NewRoom, NewMissionSelectScreen)); DicNewScript.Add(ChangePlayerTypeScriptClient.ScriptName, new ChangePlayerTypeScriptClient(NewRoom, NewMissionSelectScreen)); DicNewScript.Add(ChangeTeamScriptClient.ScriptName, new ChangeTeamScriptClient(NewRoom)); DicNewScript.Add(ChangeMapScriptClient.ScriptName, new ChangeMapScriptClient(NewRoom, NewMissionSelectScreen)); DicNewScript.Add(ChangeRoomSubtypeScriptClient.ScriptName, new ChangeRoomSubtypeScriptClient(NewMissionSelectScreen)); Host.AddOrReplaceScripts(DicNewScript); ScreenOwner.RemoveScreen(ScreenOwner); }
protected override void Execute(IOnlineConnection Sender) { Dictionary <string, List <Squad> > DicSpawnSquadByPlayer = new Dictionary <string, List <Squad> >(); for (int P = 0; P < Owner.ListRoomPlayer.Count; ++P) { DicSpawnSquadByPlayer.Add(Owner.ListRoomPlayer[P].Name, Owner.ListRoomPlayer[P].Inventory.ActiveLoadout.ListSquad); } BattleMap NewMap; if (CreatedGroup.Room.MapPath == "Random") { NewMap = BattleMap.DicBattmeMapType[Owner.MapType].GetNewMap(Owner.RoomType); } else { NewMap = BattleMap.DicBattmeMapType[Owner.MapType].GetNewMap(Owner.RoomType); } NewMap.ListGameScreen = new List <GameScreen>(); NewMap.BattleMapPath = Owner.MapPath; NewMap.DicSpawnSquadByPlayer = DicSpawnSquadByPlayer; NewMap.InitOnlineServer(OnlineServer, CreatedGroup); CreatedGroup.SetGame(NewMap); for (int P = 0; P < CreatedGroup.Room.ListOnlinePlayer.Count; P++) { IOnlineConnection ActiveOnlinePlayer = CreatedGroup.Room.ListOnlinePlayer[P]; BattleMapPlayer ActivePlayer = Owner.ListRoomPlayer[P]; ActivePlayer.OnlineClient = ActiveOnlinePlayer; NewMap.AddLocalPlayer(ActivePlayer); //Add Game Specific scripts Dictionary <string, OnlineScript> DicNewScript = OnlineHelper.GetBattleMapScriptsServer(CreatedGroup, ActivePlayer); ActiveOnlinePlayer.AddOrReplaceScripts(DicNewScript); } for (int P = 0; P < CreatedGroup.Room.ListOnlinePlayer.Count; P++) { IOnlineConnection ActiveOnlinePlayer = CreatedGroup.Room.ListOnlinePlayer[P]; ActiveOnlinePlayer.Send(new CreateGameScriptServer()); } }
protected override void Execute(IOnlineConnection Host) { OnlineGameClient.RoomID = RoomID; Dictionary <string, OnlineScript> DicNewGameServerScript = new Dictionary <string, OnlineScript>(); GamePreparationScreen NewMissionSelectScreen; PVPRoomInformations MissionRoom = new PVPRoomInformations(RoomID, RoomName, RoomType, RoomSubtype, MinNumberOfPlayer, MaxNumberOfPlayer); GamePreparationScreen NewMissionSelect = new GamePreparationScreen(OnlineGameClient, OnlineCommunicationClient, MissionRoom); NewScreen = NewMissionSelect; NewMissionSelectScreen = NewMissionSelect; DicNewGameServerScript.Add(CreateGameScriptClient.ScriptName, new CreateGameScriptClient(OnlineGameClient, ScreenOwner.ListGameScreen, MissionRoom)); DicNewGameServerScript.Add(ChangeRoomExtrasMissionScriptClient.ScriptName, new ChangeRoomExtrasMissionScriptClient(MissionRoom, NewMissionSelectScreen)); DicNewGameServerScript.Add(PlayerJoinedScriptClient.ScriptName, new PlayerJoinedScriptClient(NewMissionSelectScreen)); DicNewGameServerScript.Add(PlayerLeftScriptClient.ScriptName, new PlayerLeftScriptClient(MissionRoom, OnlineGameClient, NewMissionSelectScreen)); DicNewGameServerScript.Add(ChangeLoadoutScriptClient.ScriptName, new ChangeLoadoutScriptClient(MissionRoom, NewMissionSelectScreen)); DicNewGameServerScript.Add(ChangePlayerTypeScriptClient.ScriptName, new ChangePlayerTypeScriptClient(MissionRoom, NewMissionSelectScreen)); DicNewGameServerScript.Add(ChangeTeamScriptClient.ScriptName, new ChangeTeamScriptClient(MissionRoom)); DicNewGameServerScript.Add(ChangeMapScriptClient.ScriptName, new ChangeMapScriptClient(MissionRoom, NewMissionSelectScreen)); DicNewGameServerScript.Add(ChangeRoomSubtypeScriptClient.ScriptName, new ChangeRoomSubtypeScriptClient(NewMissionSelectScreen)); Host.AddOrReplaceScripts(DicNewGameServerScript); if (OnlineCommunicationClient.Host != null) { Dictionary <string, OnlineScript> DicNewCommunicationServerScript = new Dictionary <string, OnlineScript>(); DicNewCommunicationServerScript.Add(ReceiveGroupMessageScriptClient.ScriptName, new ReceiveGroupMessageScriptClient(OnlineCommunicationClient)); OnlineCommunicationClient.Host.AddOrReplaceScripts(DicNewCommunicationServerScript); OnlineCommunicationClient.Chat.InsertTab(RoomID, "Chat"); OnlineCommunicationClient.Chat.CloseTab("Global"); OnlineCommunicationClient.Host.Send(new CreateOrJoinCommunicationGroupScriptClient(RoomID, false)); OnlineCommunicationClient.Host.Send(new LeaveCommunicationGroupScriptClient("Global")); } Host.Send(new AskChangeLoadoutScriptClient(PlayerManager.ListLocalPlayer[0])); ScreenOwner.RemoveScreen(ScreenOwner); OnlineGameClient.DelayOnlineScript(this); }
protected override void Execute(IOnlineConnection Host) { FightingZone NewGame = new FightingZone(Owner); GameRules Rules = new BattleGameRules(Room, NewGame); NewGame.Rules = Rules; NewGame.ListGameScreen = ListGameScreen; NewGame.PushScreen(new LoadingScreen(NewGame, Owner)); Dictionary <string, OnlineScript> DicNewScript = new Dictionary <string, OnlineScript>(); DicNewScript.Add(SendPlayerUpdateScriptClient.ScriptName, new SendPlayerUpdateScriptClient(Owner)); DicNewScript.Add(SendPlayerRespawnScriptClient.ScriptName, new SendPlayerRespawnScriptClient(Owner)); DicNewScript.Add(SendPlayerDamageScriptClient.ScriptName, new SendPlayerDamageScriptClient(Owner)); DicNewScript.Add(ShootBulletScriptClient.ScriptName, new ShootBulletScriptClient(Owner)); DicNewScript.Add(ReceiveGameDataScriptClient.ScriptName, new ReceiveGameDataScriptClient(Owner)); DicNewScript.Add(GoToNextMapScriptClient.ScriptName, new GoToNextMapScriptClient(Owner)); DicNewScript.Add(GameEndedScriptClient.ScriptName, new GameEndedScriptClient(Owner)); Host.AddOrReplaceScripts(DicNewScript); }
protected override void OnJoinRoomLocal(IOnlineConnection Sender, string RoomID, GameClientGroup ActiveGroup) { RoomInformations JoinedRoom = (RoomInformations)ActiveGroup.Room; List <Player> ListJoiningPlayerInfo = JoinedRoom.GetOnlinePlayer(Sender); foreach (IOnlineConnection ActivePlayer in ActiveGroup.Room.ListOnlinePlayer) { if (ActivePlayer == Sender) { continue; } ActivePlayer.Send(new PlayerJoinedScriptServer(ListJoiningPlayerInfo)); } Dictionary <string, OnlineScript> DicNewScript = OnlineHelper.GetRoomScriptsServer(JoinedRoom, Owner); if (JoinedRoom.RoomType == RoomInformations.RoomTypeMission) { MissionRoomInformations MissionRoom = (MissionRoomInformations)JoinedRoom; DicNewScript.Add(AskStartGameMissionScriptServer.ScriptName, new AskStartGameMissionScriptServer(MissionRoom, (TripleThunderClientGroup)ActiveGroup, Owner)); DicNewScript.Add(AskChangeRoomExtrasMissionScriptServer.ScriptName, new AskChangeRoomExtrasMissionScriptServer(MissionRoom)); } else if (JoinedRoom.RoomType == RoomInformations.RoomTypeBattle) { BattleRoomInformations BattleRoom = (BattleRoomInformations)JoinedRoom; DicNewScript.Add(AskStartGameMissionScriptServer.ScriptName, new AskStartGameBattleScriptServer(BattleRoom, (TripleThunderClientGroup)ActiveGroup, Owner)); DicNewScript.Add(AskChangeRoomExtrasBattleScriptServer.ScriptName, new AskChangeRoomExtrasBattleScriptServer(BattleRoom)); } Sender.AddOrReplaceScripts(DicNewScript); if (ActiveGroup.CurrentGame != null) { FightingZone CurrentGame = (FightingZone)ActiveGroup.CurrentGame; foreach (Player ActivePlayer in ListJoiningPlayerInfo) { CurrentGame.AddLocalCharacter(ActivePlayer); ActivePlayer.OnlineClient = Sender; int LayerIndex; CurrentGame.AddPlayerFromSpawn(ActivePlayer, CurrentGame.NextRobotID + (uint.MaxValue - 100), true, out LayerIndex); //Add Game Specific scripts DicNewScript = OnlineHelper.GetTripleThunderScriptsServer((TripleThunderClientGroup)ActiveGroup, ActivePlayer); Sender.AddOrReplaceScripts(DicNewScript); foreach (IOnlineConnection OtherPlayer in ActiveGroup.Room.ListOnlinePlayer) { if (OtherPlayer == Sender) { continue; } OtherPlayer.Send(new CreatePlayerScriptServer(ActivePlayer, LayerIndex, false)); } } } Sender.Send(new JoinRoomLocalScriptServer(RoomID, JoinedRoom.CurrentDifficulty, ListJoiningPlayerInfo, ActiveGroup)); }
protected override void Execute(IOnlineConnection Host) { OnlineGameClient.RoomID = RoomID; Dictionary <string, OnlineScript> DicNewGameServerScript = new Dictionary <string, OnlineScript>(); IMissionSelect NewMissionSelectScreen; RoomInformations NewRoom; FightingZone NewFightingZone = null; if (HasGame) { NewFightingZone = new FightingZone(OnlineGameClient); NewFightingZone.ListGameScreen = ScreenOwner.ListGameScreen; DicNewGameServerScript = OnlineHelper.GetTripleThunderScriptsClient(OnlineGameClient); Host.IsGameReady = true; } if (RoomType == RoomInformations.RoomTypeMission) { MissionRoomInformations MissionRoom = new MissionRoomInformations(RoomID, RoomName, RoomType, RoomSubtype, CurrentDifficulty, MapPath, ListJoiningPlayerID, RoomData); if (HasGame) { NewFightingZone.Rules = new MissionGameRules(MissionRoom, NewFightingZone); } NewRoom = MissionRoom; MissionSelect NewMissionSelect = new MissionSelect(OnlineGameClient, OnlineCommunicationClient, MissionRoom); NewScreen = NewMissionSelect; NewMissionSelectScreen = NewMissionSelect; DicNewGameServerScript.Add(CreateGameMissionScriptClient.ScriptName, new CreateGameMissionScriptClient(OnlineGameClient, ScreenOwner.ListGameScreen, MissionRoom)); DicNewGameServerScript.Add(ChangeRoomExtrasBattleScriptClient.ScriptName, new ChangeRoomExtrasMissionScriptClient(MissionRoom, NewMissionSelect)); } else { BattleRoomInformations BattleRoom = new BattleRoomInformations(RoomID, RoomName, RoomType, RoomSubtype, CurrentDifficulty, MapPath, ListJoiningPlayerID, RoomData); if (HasGame) { NewFightingZone.Rules = new BattleGameRules(BattleRoom, NewFightingZone); } NewRoom = BattleRoom; BattleSelect NewBattleSelect = new BattleSelect(OnlineGameClient, OnlineCommunicationClient, BattleRoom); NewScreen = NewBattleSelect; NewMissionSelectScreen = NewBattleSelect; DicNewGameServerScript.Add(CreateGameMissionScriptClient.ScriptName, new CreateGameBattleScriptClient(OnlineGameClient, ScreenOwner.ListGameScreen, BattleRoom)); DicNewGameServerScript.Add(ChangeRoomExtrasBattleScriptClient.ScriptName, new ChangeRoomExtrasBattleScriptClient(BattleRoom, NewBattleSelect)); } if (HasGame) { ScreenOwner.PushScreen(new LoadingScreen(NewFightingZone, OnlineGameClient)); } DicNewGameServerScript.Add(PlayerJoinedScriptClient.ScriptName, new PlayerJoinedScriptClient(NewMissionSelectScreen)); DicNewGameServerScript.Add(PlayerLeftScriptClient.ScriptName, new PlayerLeftScriptClient(NewRoom, OnlineGameClient, NewMissionSelectScreen)); DicNewGameServerScript.Add(ChangeCharacterScriptClient.ScriptName, new ChangeCharacterScriptClient(NewRoom, NewMissionSelectScreen)); DicNewGameServerScript.Add(ChangePlayerTypeScriptClient.ScriptName, new ChangePlayerTypeScriptClient(NewRoom, NewMissionSelectScreen)); DicNewGameServerScript.Add(ChangeTeamScriptClient.ScriptName, new ChangeTeamScriptClient(NewRoom)); DicNewGameServerScript.Add(ChangeMapScriptClient.ScriptName, new ChangeMapScriptClient(NewRoom, NewMissionSelectScreen)); DicNewGameServerScript.Add(ChangeRoomSubtypeScriptClient.ScriptName, new ChangeRoomSubtypeScriptClient(NewMissionSelectScreen)); Host.AddOrReplaceScripts(DicNewGameServerScript); if (OnlineCommunicationClient.Host != null) { OnlineCommunicationClient.Chat.InsertTab(RoomID, "Chat"); OnlineCommunicationClient.Chat.CloseTab("Global"); OnlineCommunicationClient.Host.Send(new CreateOrJoinCommunicationGroupScriptClient(RoomID, false)); OnlineCommunicationClient.Host.Send(new LeaveCommunicationGroupScriptClient("Global")); } OnlineGameClient.DelayOnlineScript(this); }
protected override void Execute(IOnlineConnection Host) { Owner.RoomID = RoomID; Dictionary <string, OnlineScript> DicNewScript = new Dictionary <string, OnlineScript>(); IMissionSelect NewMissionSelectScreen; RoomInformations NewRoom; FightingZone NewFightingZone = null; if (HasGame) { NewFightingZone = new FightingZone(Owner); NewFightingZone.ListGameScreen = ScreenOwner.ListGameScreen; DicNewScript.Add(SendPlayerUpdateScriptClient.ScriptName, new SendPlayerUpdateScriptClient(Owner)); DicNewScript.Add(SendPlayerRespawnScriptClient.ScriptName, new SendPlayerRespawnScriptClient(Owner)); DicNewScript.Add(SendPlayerDamageScriptClient.ScriptName, new SendPlayerDamageScriptClient(Owner)); DicNewScript.Add(ShootBulletScriptClient.ScriptName, new ShootBulletScriptClient(Owner)); DicNewScript.Add(ReceiveGameDataScriptClient.ScriptName, new ReceiveGameDataScriptClient(Owner)); DicNewScript.Add(GoToNextMapScriptClient.ScriptName, new GoToNextMapScriptClient(Owner)); DicNewScript.Add(GameEndedScriptClient.ScriptName, new GameEndedScriptClient(Owner)); Host.IsGameReady = true; } if (RoomType == RoomInformations.RoomTypeMission) { MissionRoomInformations MissionRoom = new MissionRoomInformations(RoomID, RoomName, RoomType, RoomSubtype, CurrentDifficulty, MapPath, ListJoiningPlayerID, RoomData); if (HasGame) { NewFightingZone.Rules = new MissionGameRules(MissionRoom, NewFightingZone); } NewRoom = MissionRoom; MissionSelect NewScreen = new MissionSelect(Owner, MissionRoom); DicNewScript.Add(CreateGameMissionScriptClient.ScriptName, new CreateGameMissionScriptClient(Owner, ScreenOwner.ListGameScreen, MissionRoom)); DicNewScript.Add(ChangeRoomExtrasBattleScriptClient.ScriptName, new ChangeRoomExtrasMissionScriptClient(MissionRoom, NewScreen)); NewMissionSelectScreen = NewScreen; ScreenOwner.PushScreen(NewScreen); } else { BattleRoomInformations BattleRoom = new BattleRoomInformations(RoomID, RoomName, RoomType, RoomSubtype, CurrentDifficulty, MapPath, ListJoiningPlayerID, RoomData); if (HasGame) { NewFightingZone.Rules = new BattleGameRules(BattleRoom, NewFightingZone); } NewRoom = BattleRoom; BattleSelect NewScreen = new BattleSelect(Owner, BattleRoom); DicNewScript.Add(CreateGameMissionScriptClient.ScriptName, new CreateGameBattleScriptClient(Owner, ScreenOwner.ListGameScreen, BattleRoom)); DicNewScript.Add(ChangeRoomExtrasBattleScriptClient.ScriptName, new ChangeRoomExtrasBattleScriptClient(BattleRoom, NewScreen)); NewMissionSelectScreen = NewScreen; ScreenOwner.PushScreen(NewScreen); } if (HasGame) { ScreenOwner.PushScreen(new LoadingScreen(NewFightingZone, Owner)); } DicNewScript.Add(PlayerJoinedScriptClient.ScriptName, new PlayerJoinedScriptClient(NewMissionSelectScreen)); DicNewScript.Add(PlayerLeftScriptClient.ScriptName, new PlayerLeftScriptClient(NewRoom, Owner, NewMissionSelectScreen)); DicNewScript.Add(ChangeCharacterScriptClient.ScriptName, new ChangeCharacterScriptClient(NewRoom, NewMissionSelectScreen)); DicNewScript.Add(ChangePlayerTypeScriptClient.ScriptName, new ChangePlayerTypeScriptClient(NewRoom, NewMissionSelectScreen)); DicNewScript.Add(ChangeTeamScriptClient.ScriptName, new ChangeTeamScriptClient(NewRoom)); DicNewScript.Add(ChangeMapScriptClient.ScriptName, new ChangeMapScriptClient(NewRoom, NewMissionSelectScreen)); DicNewScript.Add(ChangeRoomSubtypeScriptClient.ScriptName, new ChangeRoomSubtypeScriptClient(NewMissionSelectScreen)); Host.AddOrReplaceScripts(DicNewScript); }