Mission refactoring (mission prefabs) and option to select which types of missions can be selected when mission type is set to random (TODO: a way to set the allowed types from the UI).

This commit is contained in:
Joonas Rikkonen
2018-05-17 23:45:29 +03:00
parent 244acd3ec5
commit f931d81aed
15 changed files with 273 additions and 191 deletions
@@ -691,6 +691,7 @@ namespace Barotrauma.Networking
string shuttleHash = inc.ReadString();
string modeName = inc.ReadString();
int missionIndex = inc.ReadInt16();
bool respawnAllowed = inc.ReadBoolean();
bool loadSecondSub = inc.ReadBoolean();
@@ -750,7 +751,7 @@ namespace Barotrauma.Networking
if (campaign == null)
{
GameMain.GameSession = new GameSession(GameMain.NetLobbyScreen.SelectedSub, "", gameMode, Mission.MissionTypes[missionTypeIndex]);
GameMain.GameSession = new GameSession(GameMain.NetLobbyScreen.SelectedSub, "", gameMode, missionIndex < 0 ? null : MissionPrefab.List[missionIndex]);
GameMain.GameSession.StartRound(levelSeed, loadSecondSub);
}
else
@@ -883,7 +884,7 @@ namespace Barotrauma.Networking
bool allowSpectating = inc.ReadBoolean();
YesNoMaybe traitorsEnabled = (YesNoMaybe)inc.ReadRangedInteger(0, 2);
int missionTypeIndex = inc.ReadRangedInteger(0, Mission.MissionTypes.Count - 1);
int missionTypeIndex = inc.ReadRangedInteger(0, MissionPrefab.MissionTypes.Count - 1);
int modeIndex = inc.ReadByte();
string levelSeed = inc.ReadString();