Commit d7adc838 authored by hex's avatar hex

- Optimized Ocgcore Package

parent 4c71c8a4
Pipeline #38283 failed
...@@ -618,7 +618,7 @@ public class Ocgcore : ServantWithCardDescription ...@@ -618,7 +618,7 @@ public class Ocgcore : ServantWithCardDescription
Packages.Clear(); Packages.Clear();
for (int i = 0; i < Packages_ALL.Count - preStepPackagesIndex - 1; i++) for (int i = 0; i < Packages_ALL.Count - preStepPackagesIndex - 1; i++)
{ {
Packages.Add(Packages_ALL[i + preStepPackagesIndex + 1]); Packages.Enqueue(Packages_ALL[i + preStepPackagesIndex + 1]);
} }
specialLR(); specialLR();
inSkiping = false; inSkiping = false;
...@@ -664,10 +664,10 @@ public class Ocgcore : ServantWithCardDescription ...@@ -664,10 +664,10 @@ public class Ocgcore : ServantWithCardDescription
inSkiping = true; inSkiping = true;
while (keys.Count == keysTempCount && Packages.Count > 0) while (keys.Count == keysTempCount && Packages.Count > 0)
{ {
currentMessage = (GameMessage)Packages[0].Fuction; Package currentPackage = Packages.Peek();
try try
{ {
logicalizeMessage(Packages[0]); logicalizeMessage(currentPackage);
} }
catch (System.Exception e) catch (System.Exception e)
{ {
...@@ -675,13 +675,13 @@ public class Ocgcore : ServantWithCardDescription ...@@ -675,13 +675,13 @@ public class Ocgcore : ServantWithCardDescription
} }
try try
{ {
practicalizeMessage(Packages[0]); practicalizeMessage(currentPackage);
} }
catch (System.Exception e) catch (System.Exception e)
{ {
UnityEngine.Debug.Log(e); UnityEngine.Debug.Log(e);
} }
Packages.RemoveAt(0); Packages.Dequeue();
} }
inSkiping = false; inSkiping = false;
} }
...@@ -694,10 +694,10 @@ public class Ocgcore : ServantWithCardDescription ...@@ -694,10 +694,10 @@ public class Ocgcore : ServantWithCardDescription
specialLR(); specialLR();
while (Packages.Count > 0) while (Packages.Count > 0)
{ {
currentMessage = (GameMessage)Packages[0].Fuction; Package currentPackage = Packages.Peek();
try try
{ {
logicalizeMessage(Packages[0]); logicalizeMessage(currentPackage);
} }
catch (System.Exception e) catch (System.Exception e)
{ {
...@@ -707,7 +707,7 @@ public class Ocgcore : ServantWithCardDescription ...@@ -707,7 +707,7 @@ public class Ocgcore : ServantWithCardDescription
{ {
try try
{ {
practicalizeMessage(Packages[0]); practicalizeMessage(currentPackage);
realize(); realize();
toNearest(); toNearest();
} }
...@@ -716,7 +716,7 @@ public class Ocgcore : ServantWithCardDescription ...@@ -716,7 +716,7 @@ public class Ocgcore : ServantWithCardDescription
UnityEngine.Debug.Log(e); UnityEngine.Debug.Log(e);
} }
} }
Packages.RemoveAt(0); Packages.Dequeue();
} }
keysTempCount = keys.Count; keysTempCount = keys.Count;
if (paused == true) if (paused == true)
...@@ -867,26 +867,23 @@ public class Ocgcore : ServantWithCardDescription ...@@ -867,26 +867,23 @@ public class Ocgcore : ServantWithCardDescription
public int life_1; public int life_1;
List<Package> Packages = new List<Package>(); Queue<Package> Packages = new Queue<Package>();
List<Package> Packages_ALL = new List<Package>(); List<Package> Packages_ALL = new List<Package>();
public void addPackage(Package p) public void addPackage(Package p)
{ {
TcpHelper.AddRecordLine(p); TcpHelper.AddRecordLine(p);
Packages.Add(p); Packages.Enqueue(p);
Packages_ALL.Add(p); Packages_ALL.Add(p);
} }
public void flushPackages(List<Package> ps) public void flushPackages(List<Package> ps)
{ {
Packages.Clear(); Packages.Clear();
Packages = null; foreach (var p in ps)
Packages = ps; Packages.Enqueue(p);
Packages_ALL.Clear(); Packages_ALL.Clear();
foreach (var item in Packages) Packages_ALL.AddRange(ps);
{
Packages_ALL.Add(item);
}
} }
int MessageBeginTime = 0; int MessageBeginTime = 0;
...@@ -1056,7 +1053,7 @@ public class Ocgcore : ServantWithCardDescription ...@@ -1056,7 +1053,7 @@ public class Ocgcore : ServantWithCardDescription
{ {
break; break;
} }
Package currentPackage = Packages[0]; Package currentPackage = Packages.Peek();
currentMessage = (GameMessage)currentPackage.Fuction; currentMessage = (GameMessage)currentPackage.Fuction;
if (ifMessageImportant(currentPackage)) if (ifMessageImportant(currentPackage))
{ {
...@@ -1068,7 +1065,7 @@ public class Ocgcore : ServantWithCardDescription ...@@ -1068,7 +1065,7 @@ public class Ocgcore : ServantWithCardDescription
messageIsHandled = true; messageIsHandled = true;
try try
{ {
logicalizeMessage(Packages[0]); logicalizeMessage(currentPackage);
} }
catch (System.Exception e) catch (System.Exception e)
{ {
...@@ -1076,13 +1073,13 @@ public class Ocgcore : ServantWithCardDescription ...@@ -1076,13 +1073,13 @@ public class Ocgcore : ServantWithCardDescription
} }
try try
{ {
practicalizeMessage(Packages[0]); practicalizeMessage(currentPackage);
} }
catch (System.Exception e) catch (System.Exception e)
{ {
UnityEngine.Debug.Log(e); UnityEngine.Debug.Log(e);
} }
Packages.RemoveAt(0); Packages.Dequeue();
} }
//if (messageIsHandled) //if (messageIsHandled)
//{ //{
...@@ -1111,7 +1108,7 @@ public class Ocgcore : ServantWithCardDescription ...@@ -1111,7 +1108,7 @@ public class Ocgcore : ServantWithCardDescription
{ {
BinaryReader r = package.Data.reader; BinaryReader r = package.Data.reader;
r.BaseStream.Seek(0, 0); r.BaseStream.Seek(0, 0);
GameMessage msg = (GameMessage)Packages[0].Fuction; GameMessage msg = (GameMessage)(Packages.Peek().Fuction);
switch (msg) switch (msg)
{ {
case GameMessage.Start: case GameMessage.Start:
...@@ -1275,7 +1272,7 @@ public class Ocgcore : ServantWithCardDescription ...@@ -1275,7 +1272,7 @@ public class Ocgcore : ServantWithCardDescription
{ {
Package p = new Package(); Package p = new Package();
p.Fuction = (int)GameMessage.sibyl_quit; p.Fuction = (int)GameMessage.sibyl_quit;
Packages.Add(p); Packages.Enqueue(p);
} }
//handle messages //handle messages
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment