Voting bugfixes

This commit is contained in:
Regalis
2016-02-12 23:41:28 +02:00
parent c6f52cc68f
commit 1506738ff7
9 changed files with 41 additions and 12 deletions
+2 -2
View File
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers // You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.3.1.1")] [assembly: AssemblyVersion("0.3.1.3")]
[assembly: AssemblyFileVersion("0.3.1.1")] [assembly: AssemblyFileVersion("0.3.1.3")]
@@ -259,6 +259,8 @@ namespace Barotrauma.Items.Components
{ {
//prevRequiredItems = new List<RelatedItem>(requiredItems); //prevRequiredItems = new List<RelatedItem>(requiredItems);
if (!attachable) return;
if (Attached) if (Attached)
{ {
Use(1.0f); Use(1.0f);
+9 -7
View File
@@ -15,7 +15,7 @@ namespace Barotrauma.Networking
private ReliableChannel reliableChannel; private ReliableChannel reliableChannel;
private GUIButton endRoundButton; private GUITickBox endRoundButton;
private bool connected; private bool connected;
@@ -37,8 +37,8 @@ namespace Barotrauma.Networking
public GameClient(string newName) public GameClient(string newName)
{ {
endRoundButton = new GUIButton(new Rectangle(GameMain.GraphicsWidth - 170, 20, 150, 25), "End round", Alignment.TopLeft, GUI.Style, inGameHUD); endRoundButton = new GUITickBox(new Rectangle(GameMain.GraphicsWidth - 170, 20, 20, 20), "End round", Alignment.TopLeft, inGameHUD);
endRoundButton.OnClicked = EndRoundClicked; endRoundButton.OnSelected = ToggleEndRoundVote;
endRoundButton.Visible = false; endRoundButton.Visible = false;
GameMain.DebugDraw = false; GameMain.DebugDraw = false;
@@ -550,6 +550,8 @@ namespace Barotrauma.Networking
{ {
if (Character != null) Character.Remove(); if (Character != null) Character.Remove();
endRoundButton.Selected = false;
int seed = inc.ReadInt32(); int seed = inc.ReadInt32();
string levelSeed = inc.ReadString(); string levelSeed = inc.ReadString();
@@ -732,17 +734,17 @@ namespace Barotrauma.Networking
return false; return false;
} }
public bool EndRoundClicked(GUIButton button, object userData) public bool ToggleEndRoundVote(GUITickBox tickBox)
{ {
if (!gameStarted) return false; if (!gameStarted) return false;
if (!Voting.AllowEndVoting) if (!Voting.AllowEndVoting || myCharacter==null)
{ {
button.Visible = false; tickBox.Visible = false;
return false; return false;
} }
Vote(VoteType.EndRound, true); Vote(VoteType.EndRound, tickBox.Selected);
return false; return false;
} }
+2 -1
View File
@@ -474,7 +474,8 @@ namespace Barotrauma.Networking
case (byte)PacketTypes.Vote: case (byte)PacketTypes.Vote:
Voting.RegisterVote(inc, ConnectedClients); Voting.RegisterVote(inc, ConnectedClients);
if (Voting.AllowEndVoting && if (Voting.AllowEndVoting && EndVoteMax > 0 &&
((float)EndVoteCount / (float)EndVoteMax) >= EndVoteRequiredRatio) ((float)EndVoteCount / (float)EndVoteMax) >= EndVoteRequiredRatio)
{ {
EndButtonHit(null,null); EndButtonHit(null,null);
@@ -253,7 +253,8 @@ namespace Barotrauma.Networking
if (EndVoteCount > 0) if (EndVoteCount > 0)
{ {
GUI.DrawString(spriteBatch, new Vector2(GameMain.GraphicsWidth - 150.0f, 40), "Votes: " + EndVoteCount + "/" + EndVoteMax, Color.White); GUI.DrawString(spriteBatch, new Vector2(GameMain.GraphicsWidth - 140.0f, 40),
"Votes (y/n): " + EndVoteCount + "/" + (EndVoteMax - EndVoteCount), Color.White, null, 0, GUI.SmallFont);
} }
} }
@@ -375,6 +375,9 @@ namespace Barotrauma
UpdatePlayerFrame(GameMain.Client.CharacterInfo); UpdatePlayerFrame(GameMain.Client.CharacterInfo);
} }
GameMain.NetworkMember.EndVoteCount = 0;
GameMain.NetworkMember.EndVoteMax = 1;
base.Select(); base.Select();
} }
+1 -1
View File
@@ -222,8 +222,8 @@ namespace Barotrauma
msg.Write(AllowEndVoting); msg.Write(AllowEndVoting);
if (AllowEndVoting) if (AllowEndVoting)
{ {
msg.Write((byte)voters.Count);
msg.Write((byte)voters.Count(v => v.GetVote<bool>(VoteType.EndRound))); msg.Write((byte)voters.Count(v => v.GetVote<bool>(VoteType.EndRound)));
msg.Write((byte)voters.Count);
} }
} }
+20
View File
@@ -1,3 +1,23 @@
---------------------------------------------------------------------------------------------------------
v0.3.1.3
---------------------------------------------------------------------------------------------------------
- round end votes can be toggled off
- less confusing way of displaying the number of votes (yes/no instead of yes/number of voters)
---------------------------------------------------------------------------------------------------------
v0.3.1.2
---------------------------------------------------------------------------------------------------------
- players can vote to end a round in multiplayer
- fixed fabricator syncing
- fixed hulls being invisible in the editor
- spectators can only speak to dead players
- minor changes to the map generation algorithm: there's now more variety in the cavern shapes
- added a new type of railgun shell
- diving suits wont protect from the water pressure in the abyss anymore
- added some spare buttons to Vellamo
--------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------
v0.3.1.1 v0.3.1.1
--------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------
Binary file not shown.