Compare commits
2 Commits
224ba3f912
...
3fbaac2346
| Author | SHA1 | Date | |
|---|---|---|---|
| 3fbaac2346 | |||
| 0e87108b56 |
49
Main.cs
49
Main.cs
@@ -226,6 +226,45 @@ namespace KCM
|
|||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static string TryGetGameModeName()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (GameState.inst == null)
|
||||||
|
return "null";
|
||||||
|
|
||||||
|
var t = GameState.inst.GetType();
|
||||||
|
|
||||||
|
var modeProp = t.GetProperty("mode", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
|
||||||
|
?? t.GetProperty("Mode", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
|
||||||
|
?? t.GetProperty("CurrentMode", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
|
||||||
|
|
||||||
|
if (modeProp != null)
|
||||||
|
{
|
||||||
|
object m = modeProp.GetValue(GameState.inst, null);
|
||||||
|
return m != null ? m.GetType().Name : "null";
|
||||||
|
}
|
||||||
|
|
||||||
|
var modeField = t.GetField("mode", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
|
||||||
|
?? t.GetField("Mode", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
|
||||||
|
?? t.GetField("currentMode", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
|
||||||
|
?? t.GetField("currMode", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
|
||||||
|
|
||||||
|
if (modeField != null)
|
||||||
|
{
|
||||||
|
object fm = modeField.GetValue(GameState.inst);
|
||||||
|
return fm != null ? fm.GetType().Name : "null";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
return "unknown";
|
||||||
}
|
}
|
||||||
|
|
||||||
private static bool TryGetVillagerPosition(Villager villager, out Vector3 position)
|
private static bool TryGetVillagerPosition(Villager villager, out Vector3 position)
|
||||||
@@ -502,6 +541,7 @@ namespace KCM
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public static int FixedUpdateInterval = 0;
|
public static int FixedUpdateInterval = 0;
|
||||||
|
private static int worldReadyRebuildDone = 0;
|
||||||
private static long lastVillagerMoveMs = 0;
|
private static long lastVillagerMoveMs = 0;
|
||||||
private static long lastVillagerProbeMs = 0;
|
private static long lastVillagerProbeMs = 0;
|
||||||
private static long lastVillagerStallLogMs = 0;
|
private static long lastVillagerStallLogMs = 0;
|
||||||
@@ -616,10 +656,11 @@ namespace KCM
|
|||||||
GetLoadTickDelayOrMinusOne(VillagerSystem.inst));
|
GetLoadTickDelayOrMinusOne(VillagerSystem.inst));
|
||||||
|
|
||||||
// Try to fix stalled systems by resetting loadTickDelay
|
// Try to fix stalled systems by resetting loadTickDelay
|
||||||
int villagerDelay = GetLoadTickDelayOrMinusOne(VillagerSystem.inst);
|
// Reuse the delay variables from earlier in this scope
|
||||||
int unitDelay = GetLoadTickDelayOrMinusOne(UnitSystem.inst);
|
villagerDelay = GetLoadTickDelayOrMinusOne(VillagerSystem.inst);
|
||||||
int jobDelay = GetLoadTickDelayOrMinusOne(JobSystem.inst);
|
unitDelay = GetLoadTickDelayOrMinusOne(UnitSystem.inst);
|
||||||
int playerDelay = GetLoadTickDelayOrMinusOne(Player.inst);
|
jobDelay = GetLoadTickDelayOrMinusOne(JobSystem.inst);
|
||||||
|
playerDelay = GetLoadTickDelayOrMinusOne(Player.inst);
|
||||||
|
|
||||||
if (villagerDelay <= 0 || unitDelay <= 0 || jobDelay <= 0 || playerDelay <= 0)
|
if (villagerDelay <= 0 || unitDelay <= 0 || jobDelay <= 0 || playerDelay <= 0)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user