less duplication in games

This commit is contained in:
UnknownShadow200 2018-06-25 11:10:37 +10:00
parent 10465903fe
commit 699422d137
7 changed files with 9 additions and 14 deletions

View File

@ -143,10 +143,8 @@ namespace MCGalaxy.Games {
void HandleJoinedLevel(Player p, Level prevLevel, Level level, ref bool announce) {
HandleJoinedCommon(p, prevLevel, level, ref announce);
if (prevLevel == Map && level != Map) {
PlayerLeftGame(p);
} else if (level != Map) { return; }
if (level != Map) return;
MessageMapInfo(p);
if (TeamOf(p) != null) return;

View File

@ -42,7 +42,6 @@ namespace MCGalaxy.Games {
public VolatileArray<Player> Members = new VolatileArray<Player>();
public CtfTeam(string name, string color) { Name = name; Color = color; }
public bool Remove(Player p) { return Members.Remove(p); }
public void RespawnFlag(Level lvl) {
Vec3U16 pos = FlagPos;
@ -148,7 +147,7 @@ namespace MCGalaxy.Games {
if (team == null) return;
DropFlag(p, team);
team.Remove(p);
team.Members.Remove(p);
Map.Message(team.Color + p.DisplayName + " %Sleft CTF");
}

View File

@ -70,7 +70,7 @@ namespace MCGalaxy.Games {
}
void HandleOnJoinedLevel(Player p, Level prevLevel, Level level, ref bool announce) {
if (prevLevel == Map && level != Map) { PlayerLeftGame(p); }
HandleJoinedCommon(p, prevLevel, level, ref announce);
}
}
}

View File

@ -42,8 +42,8 @@ namespace MCGalaxy.Games {
void HandleJoinedLevel(Player p, Level prevLevel, Level level, ref bool announce) {
HandleJoinedCommon(p, prevLevel, level, ref announce);
if (Map != level) return;
if (Map != level) return;
MessageMapInfo(p);
if (RoundInProgress) OutputStatus(p);
}

View File

@ -38,6 +38,8 @@ namespace MCGalaxy.Games {
protected void HandleJoinedCommon(Player p, Level prevLevel, Level level, ref bool announce) {
if (prevLevel == Map && level != Map) {
if (Picker.Voting) Picker.ResetVoteMessage(p);
ResetHUD(p);
PlayerLeftGame(p);
} else if (level == Map) {
if (Picker.Voting) Picker.SendVoteMessage(p);
}

View File

@ -120,7 +120,7 @@ namespace MCGalaxy.Games {
protected override void SaveStats(Player p) {
ZSData data = TryGet(p);
if (data == null || data.TotalRoundsSurvived == 0 && data.TotalInfected == 0) return;
if (data == null || (data.TotalRoundsSurvived == 0 && data.TotalInfected == 0)) return;
int count = Database.CountRows("ZombieStats", "WHERE Name=@0", p.name);
if (count == 0) {

View File

@ -127,11 +127,7 @@ namespace MCGalaxy.Games {
void HandleJoinedLevel(Player p, Level prevLevel, Level level, ref bool announce) {
HandleJoinedCommon(p, prevLevel, level, ref announce);
p.SetPrefix(); // TODO: Kinda hacky, not sure if needed
if (prevLevel == Map && level != Map) {
ResetHUD(p);
if (RoundInProgress) PlayerLeftGame(p);
} else if (level != Map) { return; }
if (level != Map) return;
ZSData data = Get(p);
p.SetPrefix();