diff --git a/logic/Client/MainWindow.xaml.cs b/logic/Client/MainWindow.xaml.cs index b035e8a..2c6e1ca 100644 --- a/logic/Client/MainWindow.xaml.cs +++ b/logic/Client/MainWindow.xaml.cs @@ -19,6 +19,7 @@ using Protobuf; using Playback; using CommandLine; using Preparation.Utility; +using Preparation.Interface; // 目前MainWindow还未复现的功能: // private void ClickToSetMode(object sender, RoutedEventArgs e) @@ -408,11 +409,23 @@ namespace Client switch (obj.MessageOfObjCase) { case MessageOfObj.MessageOfObjOneofCase.StudentMessage: - if (humanOrButcher && obj.StudentMessage.PlayerId == playerID) { human = obj.StudentMessage; } + if (obj.StudentMessage.PlayerId < GameData.numOfStudent) + { + IStudentType occupation = (IStudentType)OccupationFactory.FindIOccupation(Transformation.ToStudentType(obj.StudentMessage.StudentType)); + totalLife[obj.StudentMessage.PlayerId] = occupation.MaxHp; + totalDeath[obj.StudentMessage.PlayerId] = occupation.MaxGamingAddiction; + int i = 0; + foreach (var skill in occupation.ListOfIActiveSkill) + { + var iActiveSkill = SkillFactory.FindIActiveSkill(skill); + coolTime[i, obj.StudentMessage.PlayerId] = iActiveSkill.SkillCD; + ++i; + } + } listOfHuman.Add(obj.StudentMessage); break; case MessageOfObj.MessageOfObjOneofCase.TrickerMessage: @@ -420,6 +433,14 @@ namespace Client { butcher = obj.TrickerMessage; } + IGhostType occupation1 = (IGhostType)OccupationFactory.FindIOccupation(Transformation.ToTrickerType(obj.TrickerMessage.TrickerType)); + int j = 0; + foreach (var skill in occupation1.ListOfIActiveSkill) + { + var iActiveSkill = SkillFactory.FindIActiveSkill(skill); + coolTime[j, 4] = iActiveSkill.SkillCD; + ++j; + } listOfButcher.Add(obj.TrickerMessage); break; case MessageOfObj.MessageOfObjOneofCase.PropMessage: @@ -644,7 +665,7 @@ namespace Client return true; } - private void Refresh(object? sender, EventArgs e) // 已按照3.5版proto更新信息,circumstance栏未更新 log未更新 + private void Refresh(object? sender, EventArgs e) //log未更新 { // Bonus(); if (WindowState == WindowState.Maximized) @@ -652,16 +673,21 @@ namespace Client else MaxButton.Content = "🗖"; if (StatusBarsOfSurvivor != null) - for (int i = 4; i < 8; i++) + { + for (int i = 0; i < GameData.numOfStudent; i++) { - StatusBarsOfSurvivor[i - 4].SetFontSize(12 * UpperLayerOfMap.ActualHeight / 650); + StatusBarsOfSurvivor[i].SetFontSize(12 * UpperLayerOfMap.ActualHeight / 650); + StatusBarsOfSurvivor[i].NewData(totalLife, totalDeath, coolTime); } + } if (StatusBarsOfHunter != null) + { StatusBarsOfHunter.SetFontSize(12 * UpperLayerOfMap.ActualHeight / 650); + StatusBarsOfHunter.NewData(totalLife, totalDeath, coolTime); + } if (StatusBarsOfCircumstance != null) StatusBarsOfCircumstance.SetFontSize(12 * UpperLayerOfMap.ActualHeight / 650); // 完成窗口信息更新 - if (!isClientStocked) { unit = Math.Sqrt(UpperLayerOfMap.ActualHeight * UpperLayerOfMap.ActualWidth) / 50; @@ -1362,10 +1388,10 @@ namespace Client { 6, 6, 0, 0, 7, 7, 6, 7, 7, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 6 }, { 6, 6, 15, 0, 0, 0, 7, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 11, 6, 0, 0, 0, 0, 0, 6 }, { 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6,6, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 }, - { 6, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 15, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 }, - { 6, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0,8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 6 }, + { 6, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 15, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 }, + { 6, 0, 0, 0, 0, 0, 0, 0, 6, 7, 0, 0,8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 6 }, { 6, 0, 0, 0, 0, 0, 0, 0, 6, 7, 7, 0, 0, 0, 6, 6, 6, 11, 6, 0, 0, 6, 6, 6, 7, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 6 }, - { 6, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 6, 0, 6, 7, 7, 6, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 14, 6, 6, 6, 0, 0, 0, 0, 0, 7, 0, 0, 6, 0, 6 }, + { 6, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 6, 0, 6, 7, 7, 6, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 14, 6, 6, 6, 0, 0, 0, 0, 0, 7, 0, 0, 6, 0, 6 }, { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 7, 0, 7, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 7, 6, 0, 6, 6, 0, 6 }, { 6, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 0, 0, 7, 6, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 7, 6, 6, 6, 0, 0, 6 }, { 6, 0, 0, 0, 0, 0, 6, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 7, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 }, @@ -1382,5 +1408,7 @@ namespace Client bool isEmergencyOpened = false; bool isEmergencyDrawed = false; const double radiusTimes = 1.0 * Preparation.Utility.GameData.characterRadius / Preparation.Utility.GameData.numOfPosGridPerCell; + private int[] totalLife = new int[4] { 100, 100, 100, 100 }, totalDeath = new int[4] { 100, 100, 100, 100 }; + private int[,] coolTime = new int[3, 5] { { 100, 100, 100, 100, 100 }, { 100, 100, 100, 100, 100 }, { 100, 100, 100, 100, 100 } }; } } diff --git a/logic/Client/StatusBarOfHunter.xaml.cs b/logic/Client/StatusBarOfHunter.xaml.cs index 522d918..b9b3fb9 100644 --- a/logic/Client/StatusBarOfHunter.xaml.cs +++ b/logic/Client/StatusBarOfHunter.xaml.cs @@ -3,10 +3,6 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; @@ -16,6 +12,7 @@ using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using Protobuf; +using Preparation.Utility; namespace Client { @@ -127,11 +124,11 @@ namespace Client } scores.Text = "Scores: " + Convert.ToString(obj.Score); if (obj.TimeUntilSkillAvailable[0] >= 0) - skillprogress0.Value = 100 - obj.TimeUntilSkillAvailable[0] / coolTime0[4] * 100; + skillprogress0.Value = 100 - 100.0 * obj.TimeUntilSkillAvailable[0] / coolTime0[4]; if (obj.TimeUntilSkillAvailable[1] >= 0) - skillprogress1.Value = 100 - obj.TimeUntilSkillAvailable[1] / coolTime1[4] * 100; + skillprogress1.Value = 100 - 100.0 * obj.TimeUntilSkillAvailable[1] / coolTime1[4]; if (obj.TimeUntilSkillAvailable[2] >= 0) - skillprogress2.Value = 100 - obj.TimeUntilSkillAvailable[2] / coolTime2[4] * 100; + skillprogress2.Value = 100 - 100.0 * obj.TimeUntilSkillAvailable[2] / coolTime2[4]; if (obj.PlayerState == PlayerState.Quit) { skillprogress0.Value = skillprogress1.Value = skillprogress2.Value = 0; @@ -255,6 +252,20 @@ namespace Client SetStaticValue(obj); SetDynamicValue(obj); } + public void NewData(int[] life, int[] death, int[,] coolTime) + { + for (int i = 0; i < GameData.numOfStudent; ++i) + { + totalLife[i] = life[i]; + totalDeath[i] = death[i]; + coolTime0[i] = coolTime[0, i]; + coolTime1[i] = coolTime[1, i]; + coolTime2[i] = coolTime[2, i]; + } + coolTime0[4] = coolTime[0, 4]; + coolTime1[4] = coolTime[1, 4]; + coolTime2[4] = coolTime[2, 4]; + } private int[] totalLife = new int[4] { 100, 100, 100, 100 }, totalDeath = new int[4] { 100, 100, 100, 100 }; private int[] coolTime0 = new int[5] { 100, 100, 100, 100, 100 }, coolTime1 = new int[5] { 100, 100, 100, 100, 100 }, coolTime2 = new int[5] { 100, 100, 100, 100, 100 }; private bool initialized; diff --git a/logic/Client/StatusBarOfSurvivor.xaml.cs b/logic/Client/StatusBarOfSurvivor.xaml.cs index b7ddfa5..5304479 100644 --- a/logic/Client/StatusBarOfSurvivor.xaml.cs +++ b/logic/Client/StatusBarOfSurvivor.xaml.cs @@ -12,6 +12,7 @@ using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using Protobuf; +using Preparation.Utility; namespace Client { @@ -32,7 +33,6 @@ namespace Client { serial.FontSize = scores.FontSize = status.FontSize = activeSkill0.FontSize = activeSkill1.FontSize = activeSkill2.FontSize = prop0.FontSize = prop1.FontSize = prop2.FontSize = fontsize; } - private void SetStaticValue(MessageOfStudent obj) { switch (obj.StudentType) // coolTime参数未设定, @@ -65,20 +65,16 @@ namespace Client { int life = obj.Determination, death = obj.Addiction; int perLife = (int)(100.0 * life / totalLife[i]), perDeath = (int)(100.0 * death / totalDeath[i]); - if (perLife > 100) - perLife = 0; - if (perDeath > 100) - perDeath = 0; switch (obj.PlayerState) { case PlayerState.Idle: - status.Text = "♥: " + Convert.ToString(life) + "," + Convert.ToString(perLife) + "%\nIdle"; + status.Text = "♥: " + Convert.ToString(life) + "\nIdle, " + Convert.ToString(perLife) + "%"; break; case PlayerState.Learning: - status.Text = "♥: " + Convert.ToString(life) + "," + Convert.ToString(perLife) + "%\nLearning"; + status.Text = "♥: " + Convert.ToString(life) + "\nLearning, " + Convert.ToString(perLife) + "%"; break; case PlayerState.Addicted: - status.Text = "💀: " + Convert.ToString(death) + "," + Convert.ToString(perDeath) + "%\nAddicted"; + status.Text = "💀: " + Convert.ToString(death) + "\nAddicted, " + Convert.ToString(perDeath) + "%"; break; case PlayerState.Graduated: status.Text = "♥" + "\nGraduated"; @@ -87,54 +83,54 @@ namespace Client status.Text = "💀" + "\nQuit"; break; case PlayerState.Treated: - status.Text = "♥: " + Convert.ToString(life) + "," + Convert.ToString(perLife) + "%\nTreated"; + status.Text = "♥: " + Convert.ToString(life) + "\nTreated, " + Convert.ToString(perLife) + "%"; break; case PlayerState.Rescued: - status.Text = "💀: " + Convert.ToString(death) + "," + Convert.ToString(perDeath) + "%\nRescued"; + status.Text = "💀: " + Convert.ToString(death) + "\nRescued, " + Convert.ToString(perDeath) + "%"; break; case PlayerState.Stunned: - status.Text = "♥: " + Convert.ToString(life) + "," + Convert.ToString(perLife) + "%\nStunned"; + status.Text = "♥: " + Convert.ToString(life) + "\nStunned, " + Convert.ToString(perLife) + "%"; break; case PlayerState.Treating: - status.Text = "♥: " + Convert.ToString(life) + "," + Convert.ToString(perLife) + "%\nTreating"; + status.Text = "♥: " + Convert.ToString(life) + "\nTreating, " + Convert.ToString(perLife) + "%"; break; case PlayerState.Rescuing: - status.Text = "♥: " + Convert.ToString(life) + "," + Convert.ToString(perLife) + "%\nRescuing"; + status.Text = "♥: " + Convert.ToString(life) + "\nRescuing, " + Convert.ToString(perLife) + "%"; break; case PlayerState.Swinging: - status.Text = "♥: " + Convert.ToString(life) + "," + Convert.ToString(perLife) + "%\nSwinging"; + status.Text = "♥: " + Convert.ToString(life) + "\nSwinging, " + Convert.ToString(perLife) + "%"; break; case PlayerState.Attacking: - status.Text = "♥: " + Convert.ToString(life) + "," + Convert.ToString(perLife) + "%\nAttacking"; + status.Text = "♥: " + Convert.ToString(life) + "\nAttacking, " + Convert.ToString(perLife) + "%"; break; case PlayerState.Locking: - status.Text = "♥: " + Convert.ToString(life) + "," + Convert.ToString(perLife) + "%\nLocking"; + status.Text = "♥: " + Convert.ToString(life) + "\nLocking, " + Convert.ToString(perLife) + "%"; break; case PlayerState.Rummaging: - status.Text = "♥: " + Convert.ToString(life) + "," + Convert.ToString(perLife) + "%\nRummaging"; + status.Text = "♥: " + Convert.ToString(life) + "\nRummaging, " + Convert.ToString(perLife) + "%"; break; case PlayerState.Climbing: - status.Text = "♥: " + Convert.ToString(life) + "," + Convert.ToString(perLife) + "%\nClimbing"; + status.Text = "♥: " + Convert.ToString(life) + "\nClimbing, " + Convert.ToString(perLife) + "%"; break; case PlayerState.OpeningAChest: - status.Text = "♥: " + Convert.ToString(life) + "," + Convert.ToString(perLife) + "%\nOpeningAChest"; + status.Text = "♥: " + Convert.ToString(life) + "\nOpeningAChest, " + Convert.ToString(perLife) + "%"; break; case PlayerState.UsingSpecialSkill: - status.Text = "♥: " + Convert.ToString(life) + "," + Convert.ToString(perLife) + "%\nUsingSpecialSkill"; + status.Text = "♥: " + Convert.ToString(life) + "\nUsingSpecialSkill, " + Convert.ToString(perLife) + "%"; break; case PlayerState.OpeningAGate: - status.Text = "♥: " + Convert.ToString(life) + "," + Convert.ToString(perLife) + "%\nOpeningAGate"; + status.Text = "♥: " + Convert.ToString(life) + "\nOpeningAGate, " + Convert.ToString(perLife) + "%"; break; default: break; } scores.Text = "Scores: " + obj.Score; if (obj.TimeUntilSkillAvailable[0] >= 0) - skillprogress0.Value = 100 - obj.TimeUntilSkillAvailable[0] / coolTime0[i] * 100; + skillprogress0.Value = 100 - 100.0 * obj.TimeUntilSkillAvailable[0] / coolTime0[i]; if (obj.TimeUntilSkillAvailable[1] >= 0) - skillprogress1.Value = 100 - obj.TimeUntilSkillAvailable[1] / coolTime1[i] * 100; + skillprogress1.Value = 100 - 100.0 * obj.TimeUntilSkillAvailable[1] / coolTime1[i]; if (obj.TimeUntilSkillAvailable[2] >= 0) - skillprogress2.Value = 100 - obj.TimeUntilSkillAvailable[2] / coolTime2[i] * 100; + skillprogress2.Value = 100 - 100.0 * obj.TimeUntilSkillAvailable[2] / coolTime2[i]; if (obj.PlayerState == PlayerState.Quit) { skillprogress0.Value = skillprogress1.Value = skillprogress2.Value = 0; @@ -251,13 +247,27 @@ namespace Client } } } - public void SetValue(MessageOfStudent obj, long i) { if (!initialized) SetStaticValue(obj); SetDynamicValue(obj, i); } + public void NewData(int[] life, int[] death, int[,] coolTime) + { + for (int i = 0; i < GameData.numOfStudent; ++i) + { + totalLife[i] = life[i]; + totalDeath[i] = death[i]; + coolTime0[i] = coolTime[0, i]; + coolTime1[i] = coolTime[1, i]; + coolTime2[i] = coolTime[2, i]; + } + coolTime0[4] = coolTime[0, 4]; + coolTime1[4] = coolTime[1, 4]; + coolTime2[4] = coolTime[2, 4]; + } + private int[] totalLife = new int[4] { 100, 100, 100, 100 }, totalDeath = new int[4] { 100, 100, 100, 100 }; private int[] coolTime0 = new int[5] { 100, 100, 100, 100, 100 }, coolTime1 = new int[5] { 100, 100, 100, 100, 100 }, coolTime2 = new int[5] { 100, 100, 100, 100, 100 }; private bool initialized; diff --git a/logic/GameClass/GameObj/Character/Character.Skill.cs b/logic/GameClass/GameObj/Character/Character.Skill.cs index 61b0c96..a1dc379 100644 --- a/logic/GameClass/GameObj/Character/Character.Skill.cs +++ b/logic/GameClass/GameObj/Character/Character.Skill.cs @@ -76,7 +76,7 @@ namespace GameClass.GameObj foreach (var activeSkill in this.Occupation.ListOfIActiveSkill) { this.IActiveSkillDictionary.Add(activeSkill, SkillFactory.FindIActiveSkill(activeSkill)); - this.TimeUntilActiveSkillAvailable.Add(activeSkill, IActiveSkillDictionary[activeSkill].SkillCD); + this.TimeUntilActiveSkillAvailable.Add(activeSkill, 0); } // UsePassiveSkill(); //创建player时开始被动技能,这一过程也可以放到gamestart时进行 diff --git a/logic/GameClass/GameObj/Map/MapInfo.cs b/logic/GameClass/GameObj/Map/MapInfo.cs index d0380e6..4bea0f5 100644 --- a/logic/GameClass/GameObj/Map/MapInfo.cs +++ b/logic/GameClass/GameObj/Map/MapInfo.cs @@ -52,10 +52,10 @@ namespace GameClass.GameObj { 6, 6, 0, 0, 7, 7, 6, 7, 7, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 6 }, { 6, 6, 15, 0, 0, 0, 7, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 11, 6, 0, 0, 0, 0, 0, 6 }, { 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6,6, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 }, - { 6, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 15, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 }, - { 6, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0,8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 6 }, + { 6, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 15, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 }, + { 6, 0, 0, 0, 0, 0, 0, 0, 6, 7, 0, 0,8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 6 }, { 6, 0, 0, 0, 0, 0, 0, 0, 6, 7, 7, 0, 0, 0, 6, 6, 6, 11, 6, 0, 0, 6, 6, 6, 7, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 6 }, - { 6, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 6, 0, 6, 7, 7, 6, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 14, 6, 6, 6, 0, 0, 0, 0, 0, 7, 0, 0, 6, 0, 6 }, + { 6, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 6, 0, 6, 7, 7, 6, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 14, 6, 6, 6, 0, 0, 0, 0, 0, 7, 0, 0, 6, 0, 6 }, { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 7, 0, 7, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 7, 6, 0, 6, 6, 0, 6 }, { 6, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 0, 0, 7, 6, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 7, 6, 6, 6, 0, 0, 6 }, { 6, 0, 0, 0, 0, 0, 6, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 7, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 }, @@ -63,7 +63,6 @@ namespace GameClass.GameObj { 6, 0, 0, 0, 6, 6, 6, 6, 6, 7, 0, 0, 0, 10, 0, 0, 0, 0, 6, 6, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 6, 0, 0, 0, 0, 7, 6, 6, 0, 0, 0, 6 }, { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 7, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 6, 0, 0, 0, 7, 7, 6, 6, 0, 0, 0, 6 }, { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 } -}; - + }; } } diff --git a/logic/Preparation/Preparation.csproj b/logic/Preparation/Preparation.csproj index 078f166..73cc535 100644 --- a/logic/Preparation/Preparation.csproj +++ b/logic/Preparation/Preparation.csproj @@ -7,5 +7,13 @@ enable + + + + + + + + diff --git a/logic/Preparation/Utility/Transformation.cs b/logic/Preparation/Utility/Transformation.cs new file mode 100644 index 0000000..fecfdd9 --- /dev/null +++ b/logic/Preparation/Utility/Transformation.cs @@ -0,0 +1,255 @@ +using Protobuf; + +namespace Preparation.Utility +{ + public static class Transformation + { + + public static Protobuf.PlaceType ToPlaceType(Preparation.Utility.PlaceType place) + { + switch (place) + { + case Preparation.Utility.PlaceType.Window: + return Protobuf.PlaceType.Window; + case Preparation.Utility.PlaceType.EmergencyExit: + return Protobuf.PlaceType.HiddenGate; + case Preparation.Utility.PlaceType.Doorway: + return Protobuf.PlaceType.Gate; + case Preparation.Utility.PlaceType.Chest: + return Protobuf.PlaceType.Chest; + case Preparation.Utility.PlaceType.Door3: + return Protobuf.PlaceType.Door3; + case Preparation.Utility.PlaceType.Door5: + return Protobuf.PlaceType.Door5; + case Preparation.Utility.PlaceType.Door6: + return Protobuf.PlaceType.Door6; + case Preparation.Utility.PlaceType.Generator: + return Protobuf.PlaceType.Classroom; + case Preparation.Utility.PlaceType.Grass: + return Protobuf.PlaceType.Grass; + case Preparation.Utility.PlaceType.Wall: + return Protobuf.PlaceType.Wall; + case Preparation.Utility.PlaceType.Null: + case Preparation.Utility.PlaceType.BirthPoint1: + case Preparation.Utility.PlaceType.BirthPoint2: + case Preparation.Utility.PlaceType.BirthPoint3: + case Preparation.Utility.PlaceType.BirthPoint4: + case Preparation.Utility.PlaceType.BirthPoint5: + return Protobuf.PlaceType.Land; + default: + return Protobuf.PlaceType.NullPlaceType; + } + } + public static Protobuf.PropType ToPropType(Preparation.Utility.PropType prop) + { + switch (prop) + { + case Preparation.Utility.PropType.AddSpeed: + return Protobuf.PropType.AddSpeed; + case Preparation.Utility.PropType.AddLifeOrClairaudience: + return Protobuf.PropType.AddLifeOrClairaudience; + case Preparation.Utility.PropType.AddHpOrAp: + return Protobuf.PropType.AddHpOrAp; + case Preparation.Utility.PropType.ShieldOrSpear: + return Protobuf.PropType.ShieldOrSpear; + case Preparation.Utility.PropType.RecoveryFromDizziness: + return Protobuf.PropType.RecoveryFromDizziness; + case Preparation.Utility.PropType.Key3: + return Protobuf.PropType.Key3; + case Preparation.Utility.PropType.Key5: + return Protobuf.PropType.Key5; + case Preparation.Utility.PropType.Key6: + return Protobuf.PropType.Key6; + default: + return Protobuf.PropType.NullPropType; + } + } + + public static Preparation.Utility.PropType ToPropType(Protobuf.PropType prop) + { + switch (prop) + { + case Protobuf.PropType.AddSpeed: + return Preparation.Utility.PropType.AddSpeed; + case Protobuf.PropType.AddLifeOrClairaudience: + return Preparation.Utility.PropType.AddLifeOrClairaudience; + case Protobuf.PropType.AddHpOrAp: + return Preparation.Utility.PropType.AddHpOrAp; + case Protobuf.PropType.ShieldOrSpear: + return Preparation.Utility.PropType.ShieldOrSpear; + case Protobuf.PropType.RecoveryFromDizziness: + return Preparation.Utility.PropType.RecoveryFromDizziness; + case Protobuf.PropType.Key3: + return Preparation.Utility.PropType.Key3; + case Protobuf.PropType.Key5: + return Preparation.Utility.PropType.Key5; + case Protobuf.PropType.Key6: + return Preparation.Utility.PropType.Key6; + default: + return Preparation.Utility.PropType.Null; + } + } + + public static Protobuf.PlayerState ToPlayerState(Preparation.Utility.PlayerStateType playerState) + { + switch (playerState) + { + case Preparation.Utility.PlayerStateType.Moving: + case Preparation.Utility.PlayerStateType.Null: + return PlayerState.Idle; + case Preparation.Utility.PlayerStateType.Addicted: + return PlayerState.Addicted; + case Preparation.Utility.PlayerStateType.ClimbingThroughWindows: + return PlayerState.Climbing; + case Preparation.Utility.PlayerStateType.Deceased: + return PlayerState.Quit; + case Preparation.Utility.PlayerStateType.Escaped: + return PlayerState.Graduated; + case Preparation.Utility.PlayerStateType.Fixing: + return PlayerState.Learning; + case Preparation.Utility.PlayerStateType.LockingOrOpeningTheDoor: + return PlayerState.Locking; + case Preparation.Utility.PlayerStateType.OpeningTheChest: + return PlayerState.OpeningAChest; + case Preparation.Utility.PlayerStateType.Rescued: + return PlayerState.Rescued; + case Preparation.Utility.PlayerStateType.Rescuing: + return PlayerState.Rescuing; + case Preparation.Utility.PlayerStateType.Stunned: + return PlayerState.Stunned; + case Preparation.Utility.PlayerStateType.Swinging: + return PlayerState.Swinging; + case Preparation.Utility.PlayerStateType.Treated: + return PlayerState.Treated; + case Preparation.Utility.PlayerStateType.Treating: + return PlayerState.Treating; + case Preparation.Utility.PlayerStateType.TryingToAttack: + return PlayerState.Attacking; + case Preparation.Utility.PlayerStateType.UsingSkill: + return PlayerState.UsingSpecialSkill; + case Preparation.Utility.PlayerStateType.OpeningTheDoorway: + return PlayerState.OpeningAGate; + default: + return PlayerState.NullStatus; + } + } + public static Protobuf.StudentBuffType ToStudentBuffType(Preparation.Utility.BuffType buffType) + { + switch (buffType) + { + case Preparation.Utility.BuffType.AddSpeed: + return Protobuf.StudentBuffType.StudentAddSpeed; + case Preparation.Utility.BuffType.AddLife: + return Protobuf.StudentBuffType.AddLife; + case Preparation.Utility.BuffType.Shield: + return Protobuf.StudentBuffType.Shield; + case Preparation.Utility.BuffType.Invisible: + return Protobuf.StudentBuffType.StudentInvisible; + default: + return Protobuf.StudentBuffType.NullSbuffType; + } + } + public static Protobuf.TrickerBuffType ToTrickerBuffType(Preparation.Utility.BuffType buffType) + { + switch (buffType) + { + case Preparation.Utility.BuffType.AddSpeed: + return Protobuf.TrickerBuffType.TrickerAddSpeed; + case Preparation.Utility.BuffType.Spear: + return Protobuf.TrickerBuffType.Spear; + case Preparation.Utility.BuffType.AddAp: + return Protobuf.TrickerBuffType.AddAp; + case Preparation.Utility.BuffType.Clairaudience: + return Protobuf.TrickerBuffType.Clairaudience; + case Preparation.Utility.BuffType.Invisible: + return Protobuf.TrickerBuffType.TrickerInvisible; + default: + return Protobuf.TrickerBuffType.NullTbuffType; + } + } + public static Protobuf.BulletType ToBulletType(Preparation.Utility.BulletType bulletType) + { + switch (bulletType) + { + case Preparation.Utility.BulletType.FlyingKnife: + return Protobuf.BulletType.FlyingKnife; + case Preparation.Utility.BulletType.CommonAttackOfGhost: + return Protobuf.BulletType.CommonAttackOfTricker; + case Preparation.Utility.BulletType.BombBomb: + return Protobuf.BulletType.BombBomb; + case Preparation.Utility.BulletType.JumpyDumpty: + return Protobuf.BulletType.JumpyDumpty; + default: + return Protobuf.BulletType.NullBulletType; + } + } + + public static Protobuf.StudentType ToStudentType(Preparation.Utility.CharacterType characterType) + { + switch (characterType) + { + case Preparation.Utility.CharacterType.Athlete: + return Protobuf.StudentType.Athlete; + case Preparation.Utility.CharacterType.Teacher: + return Protobuf.StudentType.Teacher; + case Preparation.Utility.CharacterType.StraightAStudent: + return Protobuf.StudentType.StraightAStudent; + case Preparation.Utility.CharacterType.Robot: + return Protobuf.StudentType.Robot; + case Preparation.Utility.CharacterType.TechOtaku: + return Protobuf.StudentType.TechOtaku; + default: + return Protobuf.StudentType.NullStudentType; + } + } + + public static Preparation.Utility.CharacterType ToStudentType(Protobuf.StudentType characterType) + { + switch (characterType) + { + case Protobuf.StudentType.Athlete: + return Preparation.Utility.CharacterType.Athlete; + case Protobuf.StudentType.Teacher: + return Preparation.Utility.CharacterType.Teacher; + case Protobuf.StudentType.StraightAStudent: + return Preparation.Utility.CharacterType.StraightAStudent; + case Protobuf.StudentType.Robot: + return Preparation.Utility.CharacterType.Robot; + case Protobuf.StudentType.TechOtaku: + return Preparation.Utility.CharacterType.TechOtaku; + default: + return Preparation.Utility.CharacterType.Null; + } + } + public static Protobuf.TrickerType ToTrickerType(Preparation.Utility.CharacterType characterType) + { + switch (characterType) + { + case Preparation.Utility.CharacterType.Assassin: + return Protobuf.TrickerType.Assassin; + case Preparation.Utility.CharacterType.Klee: + return Protobuf.TrickerType.Klee; + case Preparation.Utility.CharacterType.ANoisyPerson: + return Protobuf.TrickerType.ANoisyPerson; + default: + return Protobuf.TrickerType.NullTrickerType; + } + } + + public static Preparation.Utility.CharacterType ToTrickerType(Protobuf.TrickerType characterType) + { + switch (characterType) + { + case Protobuf.TrickerType.Assassin: + return Preparation.Utility.CharacterType.Assassin; + case Protobuf.TrickerType.Klee: + return Preparation.Utility.CharacterType.Klee; + case Protobuf.TrickerType.ANoisyPerson: + return Preparation.Utility.CharacterType.ANoisyPerson; + default: + return Preparation.Utility.CharacterType.Null; + } + } + + } +} \ No newline at end of file diff --git a/logic/Server/CopyInfo.cs b/logic/Server/CopyInfo.cs index 0bb8dbb..8cf0a76 100644 --- a/logic/Server/CopyInfo.cs +++ b/logic/Server/CopyInfo.cs @@ -9,252 +9,6 @@ namespace Server public static class CopyInfo { - public static Protobuf.PlaceType ToPlaceType(Preparation.Utility.PlaceType place) - { - switch (place) - { - case Preparation.Utility.PlaceType.Window: - return Protobuf.PlaceType.Window; - case Preparation.Utility.PlaceType.EmergencyExit: - return Protobuf.PlaceType.HiddenGate; - case Preparation.Utility.PlaceType.Doorway: - return Protobuf.PlaceType.Gate; - case Preparation.Utility.PlaceType.Chest: - return Protobuf.PlaceType.Chest; - case Preparation.Utility.PlaceType.Door3: - return Protobuf.PlaceType.Door3; - case Preparation.Utility.PlaceType.Door5: - return Protobuf.PlaceType.Door5; - case Preparation.Utility.PlaceType.Door6: - return Protobuf.PlaceType.Door6; - case Preparation.Utility.PlaceType.Generator: - return Protobuf.PlaceType.Classroom; - case Preparation.Utility.PlaceType.Grass: - return Protobuf.PlaceType.Grass; - case Preparation.Utility.PlaceType.Wall: - return Protobuf.PlaceType.Wall; - case Preparation.Utility.PlaceType.Null: - case Preparation.Utility.PlaceType.BirthPoint1: - case Preparation.Utility.PlaceType.BirthPoint2: - case Preparation.Utility.PlaceType.BirthPoint3: - case Preparation.Utility.PlaceType.BirthPoint4: - case Preparation.Utility.PlaceType.BirthPoint5: - return Protobuf.PlaceType.Land; - default: - return Protobuf.PlaceType.NullPlaceType; - } - } - public static Protobuf.PropType ToPropType(Preparation.Utility.PropType prop) - { - switch (prop) - { - case Preparation.Utility.PropType.AddSpeed: - return Protobuf.PropType.AddSpeed; - case Preparation.Utility.PropType.AddLifeOrClairaudience: - return Protobuf.PropType.AddLifeOrClairaudience; - case Preparation.Utility.PropType.AddHpOrAp: - return Protobuf.PropType.AddHpOrAp; - case Preparation.Utility.PropType.ShieldOrSpear: - return Protobuf.PropType.ShieldOrSpear; - case Preparation.Utility.PropType.RecoveryFromDizziness: - return Protobuf.PropType.RecoveryFromDizziness; - case Preparation.Utility.PropType.Key3: - return Protobuf.PropType.Key3; - case Preparation.Utility.PropType.Key5: - return Protobuf.PropType.Key5; - case Preparation.Utility.PropType.Key6: - return Protobuf.PropType.Key6; - default: - return Protobuf.PropType.NullPropType; - } - } - - public static Preparation.Utility.PropType ToPropType(Protobuf.PropType prop) - { - switch (prop) - { - case Protobuf.PropType.AddSpeed: - return Preparation.Utility.PropType.AddSpeed; - case Protobuf.PropType.AddLifeOrClairaudience: - return Preparation.Utility.PropType.AddLifeOrClairaudience; - case Protobuf.PropType.AddHpOrAp: - return Preparation.Utility.PropType.AddHpOrAp; - case Protobuf.PropType.ShieldOrSpear: - return Preparation.Utility.PropType.ShieldOrSpear; - case Protobuf.PropType.RecoveryFromDizziness: - return Preparation.Utility.PropType.RecoveryFromDizziness; - case Protobuf.PropType.Key3: - return Preparation.Utility.PropType.Key3; - case Protobuf.PropType.Key5: - return Preparation.Utility.PropType.Key5; - case Protobuf.PropType.Key6: - return Preparation.Utility.PropType.Key6; - default: - return Preparation.Utility.PropType.Null; - } - } - - public static Protobuf.PlayerState ToPlayerState(Preparation.Utility.PlayerStateType playerState) - { - switch (playerState) - { - case Preparation.Utility.PlayerStateType.Moving: - case Preparation.Utility.PlayerStateType.Null: - return PlayerState.Idle; - case Preparation.Utility.PlayerStateType.Addicted: - return PlayerState.Addicted; - case Preparation.Utility.PlayerStateType.ClimbingThroughWindows: - return PlayerState.Climbing; - case Preparation.Utility.PlayerStateType.Deceased: - return PlayerState.Quit; - case Preparation.Utility.PlayerStateType.Escaped: - return PlayerState.Graduated; - case Preparation.Utility.PlayerStateType.Fixing: - return PlayerState.Learning; - case Preparation.Utility.PlayerStateType.LockingOrOpeningTheDoor: - return PlayerState.Locking; - case Preparation.Utility.PlayerStateType.OpeningTheChest: - return PlayerState.OpeningAChest; - case Preparation.Utility.PlayerStateType.Rescued: - return PlayerState.Rescued; - case Preparation.Utility.PlayerStateType.Rescuing: - return PlayerState.Rescuing; - case Preparation.Utility.PlayerStateType.Stunned: - return PlayerState.Stunned; - case Preparation.Utility.PlayerStateType.Swinging: - return PlayerState.Swinging; - case Preparation.Utility.PlayerStateType.Treated: - return PlayerState.Treated; - case Preparation.Utility.PlayerStateType.Treating: - return PlayerState.Treating; - case Preparation.Utility.PlayerStateType.TryingToAttack: - return PlayerState.Attacking; - case Preparation.Utility.PlayerStateType.UsingSkill: - return PlayerState.UsingSpecialSkill; - case Preparation.Utility.PlayerStateType.OpeningTheDoorway: - return PlayerState.OpeningAGate; - default: - return PlayerState.NullStatus; - } - } - public static Protobuf.StudentBuffType ToStudentBuffType(Preparation.Utility.BuffType buffType) - { - switch (buffType) - { - case Preparation.Utility.BuffType.AddSpeed: - return Protobuf.StudentBuffType.StudentAddSpeed; - case Preparation.Utility.BuffType.AddLife: - return Protobuf.StudentBuffType.AddLife; - case Preparation.Utility.BuffType.Shield: - return Protobuf.StudentBuffType.Shield; - case Preparation.Utility.BuffType.Invisible: - return Protobuf.StudentBuffType.StudentInvisible; - default: - return Protobuf.StudentBuffType.NullSbuffType; - } - } - public static Protobuf.TrickerBuffType ToTrickerBuffType(Preparation.Utility.BuffType buffType) - { - switch (buffType) - { - case Preparation.Utility.BuffType.AddSpeed: - return Protobuf.TrickerBuffType.TrickerAddSpeed; - case Preparation.Utility.BuffType.Spear: - return Protobuf.TrickerBuffType.Spear; - case Preparation.Utility.BuffType.AddAp: - return Protobuf.TrickerBuffType.AddAp; - case Preparation.Utility.BuffType.Clairaudience: - return Protobuf.TrickerBuffType.Clairaudience; - case Preparation.Utility.BuffType.Invisible: - return Protobuf.TrickerBuffType.TrickerInvisible; - default: - return Protobuf.TrickerBuffType.NullTbuffType; - } - } - public static Protobuf.BulletType ToBulletType(Preparation.Utility.BulletType bulletType) - { - switch (bulletType) - { - case Preparation.Utility.BulletType.FlyingKnife: - return Protobuf.BulletType.FlyingKnife; - case Preparation.Utility.BulletType.CommonAttackOfGhost: - return Protobuf.BulletType.CommonAttackOfTricker; - case Preparation.Utility.BulletType.BombBomb: - return Protobuf.BulletType.BombBomb; - case Preparation.Utility.BulletType.JumpyDumpty: - return Protobuf.BulletType.JumpyDumpty; - default: - return Protobuf.BulletType.NullBulletType; - } - } - - public static Protobuf.StudentType ToStudentType(Preparation.Utility.CharacterType characterType) - { - switch (characterType) - { - case Preparation.Utility.CharacterType.Athlete: - return Protobuf.StudentType.Athlete; - case Preparation.Utility.CharacterType.Teacher: - return Protobuf.StudentType.Teacher; - case Preparation.Utility.CharacterType.StraightAStudent: - return Protobuf.StudentType.StraightAStudent; - case Preparation.Utility.CharacterType.Robot: - return Protobuf.StudentType.Robot; - case Preparation.Utility.CharacterType.TechOtaku: - return Protobuf.StudentType.TechOtaku; - default: - return Protobuf.StudentType.NullStudentType; - } - } - - public static Preparation.Utility.CharacterType ToStudentType(Protobuf.StudentType characterType) - { - switch (characterType) - { - case Protobuf.StudentType.Athlete: - return Preparation.Utility.CharacterType.Athlete; - case Protobuf.StudentType.Teacher: - return Preparation.Utility.CharacterType.Teacher; - case Protobuf.StudentType.StraightAStudent: - return Preparation.Utility.CharacterType.StraightAStudent; - case Protobuf.StudentType.Robot: - return Preparation.Utility.CharacterType.Robot; - case Protobuf.StudentType.TechOtaku: - return Preparation.Utility.CharacterType.TechOtaku; - default: - return Preparation.Utility.CharacterType.Null; - } - } - public static Protobuf.TrickerType ToTrickerType(Preparation.Utility.CharacterType characterType) - { - switch (characterType) - { - case Preparation.Utility.CharacterType.Assassin: - return Protobuf.TrickerType.Assassin; - case Preparation.Utility.CharacterType.Klee: - return Protobuf.TrickerType.Klee; - case Preparation.Utility.CharacterType.ANoisyPerson: - return Protobuf.TrickerType.ANoisyPerson; - default: - return Protobuf.TrickerType.NullTrickerType; - } - } - - public static Preparation.Utility.CharacterType ToTrickerType(Protobuf.TrickerType characterType) - { - switch (characterType) - { - case Protobuf.TrickerType.Assassin: - return Preparation.Utility.CharacterType.Assassin; - case Protobuf.TrickerType.Klee: - return Preparation.Utility.CharacterType.Klee; - case Protobuf.TrickerType.ANoisyPerson: - return Preparation.Utility.CharacterType.ANoisyPerson; - default: - return Preparation.Utility.CharacterType.Null; - } - } - public static MessageOfObj? Auto(GameObj gameObj) { switch (gameObj.Type) @@ -312,12 +66,12 @@ namespace Server msg.StudentMessage.TimeUntilSkillAvailable.Add(-1); foreach (var value in player.PropInventory) - msg.StudentMessage.Prop.Add(ToPropType(value.GetPropType())); + msg.StudentMessage.Prop.Add(Transformation.ToPropType(value.GetPropType())); - msg.StudentMessage.Place = ToPlaceType((Preparation.Utility.PlaceType)player.Place); + msg.StudentMessage.Place = Transformation.ToPlaceType((Preparation.Utility.PlaceType)player.Place); msg.StudentMessage.Guid = player.ID; - msg.StudentMessage.PlayerState = ToPlayerState((PlayerStateType)player.PlayerState); + msg.StudentMessage.PlayerState = Transformation.ToPlayerState((PlayerStateType)player.PlayerState); msg.StudentMessage.PlayerId = player.PlayerID; msg.StudentMessage.ViewRange = player.ViewRange; msg.StudentMessage.Radius = player.Radius; @@ -329,14 +83,14 @@ namespace Server foreach (KeyValuePair kvp in player.Buff) { if (kvp.Value) - msg.StudentMessage.Buff.Add(ToStudentBuffType(kvp.Key)); + msg.StudentMessage.Buff.Add(Transformation.ToStudentBuffType(kvp.Key)); } - msg.StudentMessage.BulletType = ToBulletType((Preparation.Utility.BulletType)player.BulletOfPlayer); + msg.StudentMessage.BulletType = Transformation.ToBulletType((Preparation.Utility.BulletType)player.BulletOfPlayer); msg.StudentMessage.LearningSpeed = player.FixSpeed; msg.StudentMessage.TreatSpeed = player.TreatSpeed; msg.StudentMessage.FacingDirection = player.FacingDirection.Angle(); - msg.StudentMessage.StudentType = ToStudentType(player.CharacterType); + msg.StudentMessage.StudentType = Transformation.ToStudentType(player.CharacterType); return msg; } @@ -354,25 +108,25 @@ namespace Server for (int i = 0; i < GameData.maxNumOfSkill - player.TimeUntilActiveSkillAvailable.Count(); ++i) msg.TrickerMessage.TimeUntilSkillAvailable.Add(-1); - msg.TrickerMessage.Place = ToPlaceType((Preparation.Utility.PlaceType)player.Place); + msg.TrickerMessage.Place = Transformation.ToPlaceType((Preparation.Utility.PlaceType)player.Place); foreach (var value in player.PropInventory) - msg.TrickerMessage.Prop.Add(ToPropType(value.GetPropType())); + msg.TrickerMessage.Prop.Add(Transformation.ToPropType(value.GetPropType())); - msg.TrickerMessage.TrickerType = ToTrickerType(player.CharacterType); + msg.TrickerMessage.TrickerType = Transformation.ToTrickerType(player.CharacterType); msg.TrickerMessage.Guid = player.ID; msg.TrickerMessage.Score = player.Score; msg.TrickerMessage.PlayerId = player.PlayerID; msg.TrickerMessage.ViewRange = player.ViewRange; msg.TrickerMessage.Radius = player.Radius; - msg.TrickerMessage.PlayerState = ToPlayerState((PlayerStateType)player.PlayerState); + msg.TrickerMessage.PlayerState = Transformation.ToPlayerState((PlayerStateType)player.PlayerState); msg.TrickerMessage.TrickDesire = (player.BgmDictionary.ContainsKey(BgmType.StudentIsApproaching)) ? player.BgmDictionary[BgmType.StudentIsApproaching] : 0; msg.TrickerMessage.ClassVolume = (player.BgmDictionary.ContainsKey(BgmType.GeneratorIsBeingFixed)) ? player.BgmDictionary[BgmType.GeneratorIsBeingFixed] : 0; msg.TrickerMessage.FacingDirection = player.FacingDirection.Angle(); - msg.TrickerMessage.BulletType = ToBulletType((Preparation.Utility.BulletType)player.BulletOfPlayer); + msg.TrickerMessage.BulletType = Transformation.ToBulletType((Preparation.Utility.BulletType)player.BulletOfPlayer); foreach (KeyValuePair kvp in player.Buff) { if (kvp.Value) - msg.TrickerMessage.Buff.Add(ToTrickerBuffType(kvp.Key)); + msg.TrickerMessage.Buff.Add(Transformation.ToTrickerBuffType(kvp.Key)); } @@ -388,7 +142,7 @@ namespace Server msg.BulletMessage.FacingDirection = bullet.FacingDirection.Angle(); msg.BulletMessage.Guid = bullet.ID; msg.BulletMessage.Team = (bullet.Parent.IsGhost()) ? PlayerType.TrickerPlayer : PlayerType.StudentPlayer; - msg.BulletMessage.Place = ToPlaceType((Preparation.Utility.PlaceType)bullet.Place); + msg.BulletMessage.Place = Transformation.ToPlaceType((Preparation.Utility.PlaceType)bullet.Place); msg.BulletMessage.BombRange = bullet.BulletBombRange; msg.BulletMessage.Speed = bullet.Speed; return msg; @@ -398,12 +152,12 @@ namespace Server { MessageOfObj msg = new MessageOfObj(); msg.PropMessage = new(); - msg.PropMessage.Type = ToPropType(prop.GetPropType()); + msg.PropMessage.Type = Transformation.ToPropType(prop.GetPropType()); msg.PropMessage.X = prop.Position.x; msg.PropMessage.Y = prop.Position.y; msg.PropMessage.FacingDirection = prop.FacingDirection.Angle(); msg.PropMessage.Guid = prop.ID; - msg.PropMessage.Place = ToPlaceType((Preparation.Utility.PlaceType)prop.Place); + msg.PropMessage.Place = Transformation.ToPlaceType((Preparation.Utility.PlaceType)prop.Place); return msg; } diff --git a/logic/Server/RpcServices.cs b/logic/Server/RpcServices.cs index 215674a..ba6bdd2 100644 --- a/logic/Server/RpcServices.cs +++ b/logic/Server/RpcServices.cs @@ -86,9 +86,9 @@ namespace Server Preparation.Utility.CharacterType characterType = Preparation.Utility.CharacterType.Null; if (request.PlayerType == PlayerType.StudentPlayer) - characterType = CopyInfo.ToStudentType(request.StudentType); + characterType = Transformation.ToStudentType(request.StudentType); else if (request.PlayerType == PlayerType.TrickerPlayer) - characterType = CopyInfo.ToTrickerType(request.TrickerType); + characterType = Transformation.ToTrickerType(request.TrickerType); lock (addPlayerLock) { @@ -229,7 +229,7 @@ namespace Server return Task.FromResult(boolRes); } var gameID = communicationToGameID[request.PlayerId]; - boolRes.ActSuccess = game.PickProp(gameID, CopyInfo.ToPropType(request.PropType)); + boolRes.ActSuccess = game.PickProp(gameID, Transformation.ToPropType(request.PropType)); return Task.FromResult(boolRes); } @@ -245,7 +245,7 @@ namespace Server return Task.FromResult(boolRes); } var gameID = communicationToGameID[request.PlayerId]; - game.UseProp(gameID, CopyInfo.ToPropType(request.PropType)); + game.UseProp(gameID, Transformation.ToPropType(request.PropType)); boolRes.ActSuccess = true; return Task.FromResult(boolRes); } @@ -261,7 +261,7 @@ namespace Server return Task.FromResult(boolRes); } var gameID = communicationToGameID[request.PlayerId]; - game.ThrowProp(gameID, CopyInfo.ToPropType(request.PropType)); + game.ThrowProp(gameID, Transformation.ToPropType(request.PropType)); boolRes.ActSuccess = true; return Task.FromResult(boolRes); }