| @@ -1170,7 +1170,7 @@ namespace WebConnect | |||
| string eTag = result.eTag; | |||
| //到这里应该是成功了,但是因为我没有试过,也不知道具体情况,可能还要根据result的内容判断 | |||
| } | |||
| catch (Exception e) | |||
| catch (Exception) | |||
| { | |||
| return -3; | |||
| } | |||
| @@ -702,7 +702,7 @@ namespace Client | |||
| { | |||
| foreach (var data in listOfAll) | |||
| { | |||
| StatusBarsOfCircumstance.SetValue(data, gateOpened, isEmergencyDrawed, isEmergencyOpened); | |||
| StatusBarsOfCircumstance.SetValue(data, gateOpened, isEmergencyDrawed, isEmergencyOpened, playerID); | |||
| } | |||
| if (!hasDrawed && mapFlag) | |||
| DrawMap(); | |||
| @@ -944,9 +944,22 @@ namespace Client | |||
| mapPatches[data.X / Preparation.Utility.GameData.numOfPosGridPerCell, data.Y / Preparation.Utility.GameData.numOfPosGridPerCell].Stroke = Brushes.LightSalmon; | |||
| isEmergencyDrawed = true; | |||
| } | |||
| if (data.Opened && !isEmergencyOpened) | |||
| if (data.Opened) | |||
| { | |||
| isEmergencyOpened = true; | |||
| TextBox icon = new() | |||
| { | |||
| FontSize = 9 * UpperLayerOfMap.ActualHeight / 650, | |||
| Width = unitWidth, | |||
| Height = unitHeight, | |||
| Text = Convert.ToString("🔓"), | |||
| HorizontalAlignment = HorizontalAlignment.Left, | |||
| VerticalAlignment = VerticalAlignment.Top, | |||
| Margin = new Thickness(data.Y * unitWidth / 1000.0 - unitWidth / 2, data.X * unitHeight / 1000.0 - unitHeight / 2, 0, 0), | |||
| Background = Brushes.Transparent, | |||
| BorderBrush = Brushes.Transparent, | |||
| IsReadOnly = true | |||
| }; | |||
| } | |||
| } | |||
| //} | |||
| @@ -2,7 +2,7 @@ | |||
| "profiles": { | |||
| "Client": { | |||
| "commandName": "Project", | |||
| "commandLineArgs": "--ip 183.172.173.238 --cl --port 8888 --characterID 4 --type 2 --occupation 2" | |||
| "commandLineArgs": "--ip 183.172.163.119 --cl --port 8888 --characterID 4 --type 2 --occupation 2" | |||
| } | |||
| } | |||
| } | |||
| @@ -14,10 +14,11 @@ | |||
| <RowDefinition Height="20*"/> | |||
| </Grid.RowDefinitions> | |||
| <Grid.ColumnDefinitions> | |||
| <ColumnDefinition Width="20*"/> | |||
| <ColumnDefinition Width="62*"/> | |||
| <ColumnDefinition Width="41*"/> | |||
| <ColumnDefinition Width="41*"/> | |||
| </Grid.ColumnDefinitions> | |||
| <TextBox Name="time" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="Time⏳: " Grid.Row="0" Grid.ColumnSpan="2" FontSize="14"/> | |||
| <TextBox Name="time" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="Time⏳: " Grid.Row="0" Grid.ColumnSpan="1" FontSize="14"/> | |||
| <TextBox Name="name" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="🚀" Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="1" FontSize="14"/> | |||
| <TextBox Name="status" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="📱: 
🚪: 
🆘: 
🏃: 
⚰️: " Grid.Row="1" Grid.ColumnSpan="2" FontSize="13"/> | |||
| <TextBox Name="scoresOfStudents" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="Scores of Students: " Grid.Row="2" Grid.ColumnSpan="2" FontSize="12"/> | |||
| <TextBox Name="scoresOfTrickers" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="Scores of Tricker: " Grid.Row="3" Grid.ColumnSpan="2" FontSize="12"/> | |||
| @@ -32,14 +32,43 @@ namespace Client | |||
| public void SetFontSize(double fontsize) | |||
| { | |||
| status.FontSize = 13 * fontsize / 12; | |||
| time.FontSize = 13 * fontsize / 12; | |||
| time.FontSize = 14 * fontsize / 12; | |||
| name.FontSize = 14 * fontsize / 12; | |||
| scoresOfStudents.FontSize = scoresOfTrickers.FontSize = fontsize; | |||
| } | |||
| public void SetValue(MessageOfAll obj, bool gateOpened, bool hiddenGateRefreshed, bool hiddenGateOpened) | |||
| public void SetValue(MessageOfAll obj, bool gateOpened, bool hiddenGateRefreshed, bool hiddenGateOpened, long playerId) | |||
| { | |||
| time.Text = "Time⏳: " + Convert.ToString(obj.GameTime); | |||
| status.Text = "📱: " + Convert.ToString(obj.SubjectFinished) + "\n🚪: "; | |||
| int min, sec; | |||
| sec = obj.GameTime / 1000; | |||
| min = sec / 60; | |||
| sec = sec % 60; | |||
| time.Text = "Time⏳: " + Convert.ToString(min) + ": "; | |||
| if (sec / 10 == 0) | |||
| { | |||
| time.Text += "0"; | |||
| time.Text += Convert.ToString(sec); | |||
| } | |||
| else | |||
| { | |||
| time.Text += Convert.ToString(sec); | |||
| } | |||
| if (playerId == 4) | |||
| { | |||
| name.Text = "🚀 Tricker's"; | |||
| } | |||
| else | |||
| { | |||
| name.Text = "🚀 Student" + Convert.ToString(playerId) + "'s"; | |||
| } | |||
| if (obj.SubjectFinished < Preparation.Utility.GameData.numOfGeneratorRequiredForRepair) | |||
| { | |||
| status.Text = "📱: " + Convert.ToString(obj.SubjectFinished) + "\n🚪: "; | |||
| } | |||
| else | |||
| { | |||
| status.Text = "📱: Gate can be opened" + "\n🚪: "; | |||
| } | |||
| if (gateOpened) | |||
| { | |||
| status.Text += "Open\n🆘: "; | |||
| @@ -17,25 +17,27 @@ | |||
| <RowDefinition Height="23*"/> | |||
| </Grid.RowDefinitions> | |||
| <Grid.ColumnDefinitions> | |||
| <ColumnDefinition Width="20*"/> | |||
| <ColumnDefinition Width="21*"/> | |||
| <ColumnDefinition Width="20*"/> | |||
| <ColumnDefinition Width="21*"/> | |||
| <ColumnDefinition Width="10*"/> | |||
| <ColumnDefinition Width="3*"/> | |||
| <ColumnDefinition Width="7*"/> | |||
| <ColumnDefinition Width="3*"/> | |||
| <ColumnDefinition Width="3*"/> | |||
| <ColumnDefinition Width="3*"/> | |||
| <ColumnDefinition Width="10*"/> | |||
| </Grid.ColumnDefinitions> | |||
| <TextBox Name="serial" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="👥null👻null
职业: " Grid.Row="0" Grid.ColumnSpan="4" FontSize="12"/> | |||
| <TextBox Name="status" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="🏃🏿: " Grid.Row="1" Grid.ColumnSpan="2" /> | |||
| <TextBox Name="state" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="" Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="2" /> | |||
| <TextBox Name="scores" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="Scores: " Grid.Row="2" Grid.ColumnSpan="4"/> | |||
| <TextBox Name="activeSkill0" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="" Grid.Row="3" Grid.ColumnSpan="2"/> | |||
| <ProgressBar Name="skillprogress0" Background="White" Grid.Row="3" Grid.Column="2" Grid.ColumnSpan="2"/> | |||
| <TextBox Name="activeSkill1" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="" Grid.Row="4" Grid.ColumnSpan="2"/> | |||
| <ProgressBar Name="skillprogress1" Background="White" Grid.Row="4" Grid.Column="2" Grid.ColumnSpan="2"/> | |||
| <TextBox Name="activeSkill2" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="" Grid.Row="5" Grid.ColumnSpan="2"/> | |||
| <ProgressBar Name="skillprogress2" Background="White" Grid.Row="5" Grid.Column="2" Grid.ColumnSpan="2"/> | |||
| <TextBox Name="prop0" IsReadOnly="True" BorderBrush="LightGray" Text="" FontSize="12" TextWrapping="Wrap" Grid.Row="6" Grid.Column="0" Grid.ColumnSpan="1"/> | |||
| <TextBox Name="prop1" IsReadOnly="True" BorderBrush="LightGray" Text="" FontSize="12" TextWrapping="Wrap" Grid.Row="7" Grid.Column="1" Grid.ColumnSpan="1"/> | |||
| <TextBox Name="prop2" IsReadOnly="True" BorderBrush="LightGray" Text="" FontSize="12" TextWrapping="Wrap" Grid.Row="7" Grid.Column="2" Grid.ColumnSpan="1"/> | |||
| <TextBox Name="prop3" IsReadOnly="True" BorderBrush="LightGray" Text="" FontSize="12" TextWrapping="Wrap" Grid.Row="7" Grid.Column="3" Grid.ColumnSpan="1"/> | |||
| <TextBox Name="serial" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="👥null👻null
Occupation: " Grid.Row="0" Grid.ColumnSpan="7" FontSize="12"/> | |||
| <TextBox Name="status" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="🏃🏿: " Grid.Row="1" Grid.ColumnSpan="3" /> | |||
| <TextBox Name="state" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="" Grid.Row="1" Grid.Column="3" Grid.ColumnSpan="4" /> | |||
| <TextBox Name="scores" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="Scores: " Grid.Row="2" Grid.ColumnSpan="7"/> | |||
| <TextBox Name="activeSkill0" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="" Grid.Row="3" Grid.ColumnSpan="3"/> | |||
| <ProgressBar Name="skillprogress0" Background="White" Grid.Row="3" Grid.Column="3" Grid.ColumnSpan="4"/> | |||
| <TextBox Name="activeSkill1" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="" Grid.Row="4" Grid.ColumnSpan="3"/> | |||
| <ProgressBar Name="skillprogress1" Background="White" Grid.Row="4" Grid.Column="3" Grid.ColumnSpan="4"/> | |||
| <TextBox Name="activeSkill2" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="" Grid.Row="5" Grid.ColumnSpan="3"/> | |||
| <ProgressBar Name="skillprogress2" Background="White" Grid.Row="5" Grid.Column="3" Grid.ColumnSpan="4"/> | |||
| <TextBox Name="prop0" IsReadOnly="True" BorderBrush="LightGray" Text="" FontSize="12" TextWrapping="Wrap" Grid.Row="6" Grid.Column="0" Grid.ColumnSpan="2"/> | |||
| <TextBox Name="prop1" IsReadOnly="True" BorderBrush="LightGray" Text="" FontSize="12" TextWrapping="Wrap" Grid.Row="6" Grid.Column="2" Grid.ColumnSpan="3"/> | |||
| <TextBox Name="prop2" IsReadOnly="True" BorderBrush="LightGray" Text="" FontSize="12" TextWrapping="Wrap" Grid.Row="6" Grid.Column="5" Grid.ColumnSpan="2"/> | |||
| </Grid> | |||
| </UserControl> | |||
| @@ -36,7 +36,7 @@ namespace Client | |||
| } | |||
| public void SetFontSize(double fontsize) | |||
| { | |||
| serial.FontSize = scores.FontSize = state.FontSize = status.FontSize = activeSkill0.FontSize = activeSkill1.FontSize = activeSkill2.FontSize = prop0.FontSize = prop1.FontSize = prop2.FontSize = prop3.FontSize = fontsize; | |||
| serial.FontSize = scores.FontSize = state.FontSize = status.FontSize = activeSkill0.FontSize = activeSkill1.FontSize = activeSkill2.FontSize = prop0.FontSize = prop1.FontSize = prop2.FontSize = fontsize; | |||
| } | |||
| private void SetStaticValue(MessageOfTricker obj, double time0, double time1, double time2) | |||
| @@ -247,39 +247,6 @@ namespace Client | |||
| } | |||
| cnt++; | |||
| break; | |||
| case 3: | |||
| switch (icon) | |||
| { | |||
| case Protobuf.PropType.Key3: | |||
| prop3.Text = "🔑3"; | |||
| break; | |||
| case Protobuf.PropType.Key5: | |||
| prop3.Text = "🔑5"; | |||
| break; | |||
| case Protobuf.PropType.Key6: | |||
| prop3.Text = "🔑6"; | |||
| break; | |||
| case Protobuf.PropType.AddSpeed: | |||
| prop3.Text = "⛸"; | |||
| break; | |||
| case Protobuf.PropType.AddLifeOrClairaudience: | |||
| prop3.Text = "🏅"; | |||
| break; | |||
| case Protobuf.PropType.AddHpOrAp: | |||
| prop3.Text = "♥"; | |||
| break; | |||
| case Protobuf.PropType.ShieldOrSpear: | |||
| prop3.Text = "🛡"; | |||
| break; | |||
| case Protobuf.PropType.RecoveryFromDizziness: | |||
| prop3.Text = "🕶"; | |||
| break; | |||
| default: | |||
| prop3.Text = ""; | |||
| break; | |||
| } | |||
| cnt++; | |||
| break; | |||
| default: | |||
| break; | |||
| } | |||
| @@ -19,22 +19,24 @@ | |||
| </Grid.RowDefinitions> | |||
| <Grid.ColumnDefinitions> | |||
| <ColumnDefinition Width="10*"/> | |||
| <ColumnDefinition Width="10*"/> | |||
| <ColumnDefinition Width="10*"/> | |||
| <ColumnDefinition Width="3*"/> | |||
| <ColumnDefinition Width="7*"/> | |||
| <ColumnDefinition Width="3*"/> | |||
| <ColumnDefinition Width="3*"/> | |||
| <ColumnDefinition Width="3*"/> | |||
| <ColumnDefinition Width="10*"/> | |||
| </Grid.ColumnDefinitions> | |||
| <TextBox Name="serial" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="👥null🧓null
职业: " Grid.Row="0" Grid.ColumnSpan="4" FontSize="12"/> | |||
| <TextBox Name="status" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="♥: " Grid.Row="1" Grid.RowSpan="2" Grid.ColumnSpan="4"/> | |||
| <TextBox Name="scores" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="Scores: " Grid.Row="3" Grid.ColumnSpan="4"/> | |||
| <TextBox Name="activeSkill0" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="" Grid.Row="4" Grid.ColumnSpan="2"/> | |||
| <ProgressBar Name="skillprogress0" Background="White" Grid.Row="4" Grid.Column="2" Grid.ColumnSpan="2"/> | |||
| <TextBox Name="activeSkill1" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="" Grid.Row="5" Grid.ColumnSpan="2"/> | |||
| <ProgressBar Name="skillprogress1" Background="White" Grid.Row="5" Grid.Column="2" Grid.ColumnSpan="2"/> | |||
| <TextBox Name="activeSkill2" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="" Grid.Row="6" Grid.ColumnSpan="2"/> | |||
| <ProgressBar Name="skillprogress2" Background="White" Grid.Row="6" Grid.Column="2" Grid.ColumnSpan="2"/> | |||
| <TextBox Name="prop0" IsReadOnly="True" BorderBrush="LightGray" Text="" FontSize="12" TextWrapping="Wrap" Grid.Row="7" Grid.Column="0" Grid.ColumnSpan="1"/> | |||
| <TextBox Name="prop1" IsReadOnly="True" BorderBrush="LightGray" Text="" FontSize="12" TextWrapping="Wrap" Grid.Row="7" Grid.Column="1" Grid.ColumnSpan="1"/> | |||
| <TextBox Name="prop2" IsReadOnly="True" BorderBrush="LightGray" Text="" FontSize="12" TextWrapping="Wrap" Grid.Row="7" Grid.Column="2" Grid.ColumnSpan="1"/> | |||
| <TextBox Name="prop3" IsReadOnly="True" BorderBrush="LightGray" Text="" FontSize="12" TextWrapping="Wrap" Grid.Row="7" Grid.Column="3" Grid.ColumnSpan="1"/> | |||
| <TextBox Name="serial" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="👥null🧓null
Occupation: " Grid.Row="0" Grid.ColumnSpan="7" FontSize="12"/> | |||
| <TextBox Name="status" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="♥: " Grid.Row="1" Grid.RowSpan="2" Grid.ColumnSpan="7"/> | |||
| <TextBox Name="scores" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="Scores: " Grid.Row="3" Grid.ColumnSpan="7"/> | |||
| <TextBox Name="activeSkill0" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="" Grid.Row="4" Grid.ColumnSpan="3"/> | |||
| <ProgressBar Name="skillprogress0" Background="White" Grid.Row="4" Grid.Column="3" Grid.ColumnSpan="4"/> | |||
| <TextBox Name="activeSkill1" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="" Grid.Row="5" Grid.ColumnSpan="3"/> | |||
| <ProgressBar Name="skillprogress1" Background="White" Grid.Row="5" Grid.Column="3" Grid.ColumnSpan="4"/> | |||
| <TextBox Name="activeSkill2" IsReadOnly="True" BorderBrush="LightGray" TextWrapping="Wrap" Text="" Grid.Row="6" Grid.ColumnSpan="3"/> | |||
| <ProgressBar Name="skillprogress2" Background="White" Grid.Row="6" Grid.Column="3" Grid.ColumnSpan="4"/> | |||
| <TextBox Name="prop0" IsReadOnly="True" BorderBrush="LightGray" Text="" FontSize="12" TextWrapping="Wrap" Grid.Row="7" Grid.Column="0" Grid.ColumnSpan="2"/> | |||
| <TextBox Name="prop1" IsReadOnly="True" BorderBrush="LightGray" Text="" FontSize="12" TextWrapping="Wrap" Grid.Row="7" Grid.Column="2" Grid.ColumnSpan="3"/> | |||
| <TextBox Name="prop2" IsReadOnly="True" BorderBrush="LightGray" Text="" FontSize="12" TextWrapping="Wrap" Grid.Row="7" Grid.Column="5" Grid.ColumnSpan="2"/> | |||
| </Grid> | |||
| </UserControl> | |||
| @@ -30,7 +30,7 @@ namespace Client | |||
| } | |||
| public void SetFontSize(double fontsize) | |||
| { | |||
| serial.FontSize = scores.FontSize = status.FontSize = activeSkill0.FontSize = activeSkill1.FontSize = activeSkill2.FontSize = prop0.FontSize = prop1.FontSize = prop2.FontSize = prop3.FontSize = fontsize; | |||
| serial.FontSize = scores.FontSize = status.FontSize = activeSkill0.FontSize = activeSkill1.FontSize = activeSkill2.FontSize = prop0.FontSize = prop1.FontSize = prop2.FontSize = fontsize; | |||
| } | |||
| private void SetStaticValue(MessageOfStudent obj, double time0, double time1, double time2) | |||
| @@ -244,39 +244,6 @@ namespace Client | |||
| } | |||
| cnt++; | |||
| break; | |||
| case 3: | |||
| switch (icon) | |||
| { | |||
| case Protobuf.PropType.Key3: | |||
| prop3.Text = "🔑3"; | |||
| break; | |||
| case Protobuf.PropType.Key5: | |||
| prop3.Text = "🔑5"; | |||
| break; | |||
| case Protobuf.PropType.Key6: | |||
| prop3.Text = "🔑6"; | |||
| break; | |||
| case Protobuf.PropType.AddSpeed: | |||
| prop3.Text = "⛸"; | |||
| break; | |||
| case Protobuf.PropType.AddLifeOrClairaudience: | |||
| prop3.Text = "🏅"; | |||
| break; | |||
| case Protobuf.PropType.AddHpOrAp: | |||
| prop3.Text = "♥"; | |||
| break; | |||
| case Protobuf.PropType.ShieldOrSpear: | |||
| prop3.Text = "🛡"; | |||
| break; | |||
| case Protobuf.PropType.RecoveryFromDizziness: | |||
| prop3.Text = "🕶"; | |||
| break; | |||
| default: | |||
| prop3.Text = ""; | |||
| break; | |||
| } | |||
| cnt++; | |||
| break; | |||
| default: | |||
| break; | |||
| } | |||
| @@ -120,7 +120,7 @@ namespace Server | |||
| //Console.WriteLine("Send!"); | |||
| } | |||
| } | |||
| catch (Exception ex) | |||
| catch (Exception) | |||
| { | |||
| //Console.WriteLine(ex); | |||
| } | |||
| @@ -1,11 +1,15 @@ | |||
| @echo off | |||
| start cmd /k ..\Server\bin\Debug\net6.0\Server.exe --ip 0.0.0.0 --port 8888 --studentCount 2 --trickerCount 1 --gameTimeInSecond 600 --fileName test | |||
| start cmd /k ..\Server\bin\Debug\net6.0\Server.exe --ip 0.0.0.0 --port 8888 --studentCount 4 --trickerCount 1 --gameTimeInSecond 600 --fileName test | |||
| ping -n 2 127.0.0.1 > NUL | |||
| start cmd /k ..\Client\bin\Debug\net6.0-windows\Client.exe --cl --port 8888 --characterID 4 --type 2 --occupation 2 | |||
| start cmd /k ..\Client\bin\Debug\net6.0-windows\Client.exe --cl --port 8888 --characterID 0 --type 1 --occupation 1 | |||
| start cmd /k ..\Client\bin\Debug\net6.0-windows\Client.exe --cl --port 8888 --characterID 0 --type 1 --occupation 3 | |||
| start cmd /k ..\Client\bin\Debug\net6.0-windows\Client.exe --cl --port 8888 --characterID 1 --type 1 --occupation 2 | |||
| start cmd /k ..\Client\bin\Debug\net6.0-windows\Client.exe --cl --port 8888 --characterID 1 --type 1 --occupation 3 | |||
| start cmd /k ..\Client\bin\Debug\net6.0-windows\Client.exe --cl --port 8888 --characterID 2 --type 1 --occupation 3 | |||
| start cmd /k ..\Client\bin\Debug\net6.0-windows\Client.exe --cl --port 8888 --characterID 3 --type 1 --occupation 3 | |||