remove GetMethod usages

This commit is contained in:
JohnCorby 2021-12-26 20:42:07 -08:00
parent 248527d65b
commit 88fcaec4b8
4 changed files with 8 additions and 16 deletions

View File

@ -6,10 +6,7 @@ namespace QSB.CampfireSync.WorldObjects
public class QSBCampfire : WorldObject<Campfire> public class QSBCampfire : WorldObject<Campfire>
{ {
public void StartRoasting() public void StartRoasting()
=> AttachedObject => AttachedObject.StartRoasting();
.GetType()
.GetMethod("StartRoasting", BindingFlags.NonPublic | BindingFlags.Instance)
.Invoke(AttachedObject, null);
public Campfire.State GetState() public Campfire.State GetState()
=> AttachedObject.GetState(); => AttachedObject.GetState();

View File

@ -50,9 +50,7 @@ namespace QSB.QuantumSync.Patches
__result = QSBPlayerManager.GetPlayersWithCameras() __result = QSBPlayerManager.GetPlayersWithCameras()
.Any(x => GeometryUtility.TestPlanesAABB(x.Camera.GetFrustumPlanes(), ____renderer.bounds)) .Any(x => GeometryUtility.TestPlanesAABB(x.Camera.GetFrustumPlanes(), ____renderer.bounds))
&& (!____checkFrustumOcclusion || QSBPlayerManager.GetPlayersWithCameras() && (!____checkFrustumOcclusion || QSBPlayerManager.GetPlayersWithCameras()
.Any(x => !(bool)__instance.GetType() .Any(x => !__instance.IsOccludedFromPosition(x.Camera.transform.position)));
.GetMethod("IsOccludedFromPosition", BindingFlags.NonPublic | BindingFlags.Instance)
.Invoke(__instance, new object[] { x.Camera.transform.position })));
return false; return false;
} }

View File

@ -114,8 +114,6 @@ namespace QSB.QuantumSync
return new Tuple<bool, List<PlayerInfo>>(false, new List<PlayerInfo>()); return new Tuple<bool, List<PlayerInfo>>(false, new List<PlayerInfo>());
} }
var frustumMethod = tracker.GetType().GetMethod("IsInFrustum", BindingFlags.NonPublic | BindingFlags.Instance);
var playersWhoCanSee = new List<PlayerInfo>(); var playersWhoCanSee = new List<PlayerInfo>();
var foundPlayers = false; var foundPlayers = false;
foreach (var player in playersWithCameras) foreach (var player in playersWithCameras)
@ -126,7 +124,7 @@ namespace QSB.QuantumSync
continue; continue;
} }
var isInFrustum = (bool)frustumMethod.Invoke(tracker, new object[] { player.Camera.GetFrustumPlanes() }); var isInFrustum = tracker.IsInFrustum(player.Camera.GetFrustumPlanes());
if (isInFrustum) if (isInFrustum)
{ {
playersWhoCanSee.Add(player); playersWhoCanSee.Add(player);
@ -144,7 +142,7 @@ namespace QSB.QuantumSync
public static IEnumerable<PlayerInfo> GetEntangledPlayers(QuantumObject obj) public static IEnumerable<PlayerInfo> GetEntangledPlayers(QuantumObject obj)
{ {
if (!WorldObjectManager.AllObjectsReady) if (!AllObjectsReady)
{ {
return Enumerable.Empty<PlayerInfo>(); return Enumerable.Empty<PlayerInfo>();
} }

View File

@ -34,10 +34,9 @@ namespace QSB.Utility
} }
} }
private static string GetCallingType(StackTrace frame) private static string GetCallingType(StackTrace frame) =>
{ frame.GetFrames()!
var stackFrame = frame.GetFrames().First(x => x.GetMethod().DeclaringType.Name != "DebugLog"); .Select(x => x.GetMethod().DeclaringType!.Name)
return stackFrame.GetMethod().DeclaringType.Name; .First(x => x == nameof(DebugLog));
}
} }
} }