77 lines
2.8 KiB
C#
77 lines
2.8 KiB
C#
using UnityEngine.Scripting;
|
|
|
|
[Preserve]
|
|
public class NetPackageCheckPurgeProgress : NetPackage
|
|
{
|
|
public NetPackageCheckPurgeProgress Setup(int _entityPlayerID)
|
|
{
|
|
this.entityPlayerID = _entityPlayerID;
|
|
|
|
return this;
|
|
}
|
|
|
|
public override void read(PooledBinaryReader _reader)
|
|
{
|
|
this.entityPlayerID = _reader.ReadInt32();
|
|
}
|
|
|
|
public override void write(PooledBinaryWriter _writer)
|
|
{
|
|
base.write(_writer);
|
|
_writer.Write(this.entityPlayerID);
|
|
}
|
|
|
|
public override void ProcessPackage(World _world, GameManager _callbacks)
|
|
{
|
|
//Log.Out("NetPackageCheckPurgeProgress-ProcessPackage START");
|
|
EntityPlayer player = _world.GetEntity(this.entityPlayerID) as EntityPlayer;
|
|
|
|
if (player != null)
|
|
{
|
|
//Log.Out("NetPackageCheckPurgeProgress-ProcessPackage PLAYER EXISTS");
|
|
//Log.Out("NetPackageCheckPurgeProgress-ProcessPackage BIOME EXISTS");
|
|
string biomeName = RebirthUtilities.GetBiomeName(player);
|
|
|
|
int clearedPrefabs = RebirthManager.GetTotalClearedPrefabCount(biomeName);
|
|
int totalPrefabs = RebirthUtilities.GetTotalSpawnedPrefab(biomeName);
|
|
|
|
float purgeDisplayPercentage = ((float)clearedPrefabs / totalPrefabs) * 100;
|
|
|
|
int numPrefabs = clearedPrefabs;
|
|
|
|
if (clearedPrefabs > totalPrefabs)
|
|
{
|
|
numPrefabs = totalPrefabs;
|
|
}
|
|
|
|
string purgeLabel = numPrefabs + "/" + totalPrefabs;
|
|
|
|
RebirthUtilities.ChangePurgeBiome(biomeName, clearedPrefabs);
|
|
|
|
int currentClearedPrefabs = RebirthUtilities.GetPurgeBiome(biomeName);
|
|
|
|
float percentage = ((float)currentClearedPrefabs / totalPrefabs) * 100;
|
|
|
|
GameManager.Instance.StartCoroutine(RebirthUtilities.CheckPurgeProgress(player, false));
|
|
|
|
if (RebirthVariables.testPurge)
|
|
{
|
|
Log.Out("NetPackageCheckPurgeProgress-ProcessPackage clearedPrefabs: " + clearedPrefabs);
|
|
Log.Out("NetPackageCheckPurgeProgress-ProcessPackage totalPrefabs: " + totalPrefabs);
|
|
Log.Out("NetPackageCheckPurgeProgress-ProcessPackage currentClearedPrefabs: " + currentClearedPrefabs);
|
|
Log.Out("NetPackageCheckPurgeProgress-ProcessPackage percentage: " + percentage);
|
|
Log.Out("NetPackageCheckPurgeProgress-ProcessPackage purgeDisplayPercentage: " + purgeDisplayPercentage);
|
|
}
|
|
|
|
SingletonMonoBehaviour<ConnectionManager>.Instance.SendPackage(NetPackageManager.GetPackage<NetPackageSetPurgeProgress>().Setup(purgeDisplayPercentage, purgeLabel), false, this.entityPlayerID);
|
|
}
|
|
}
|
|
|
|
public override int GetLength()
|
|
{
|
|
return 2;
|
|
}
|
|
|
|
private int entityPlayerID;
|
|
}
|