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);
}