static void Prefix(PawnTweener __instance, ref TimeSnapshot?__state) { if (Multiplayer.Client == null || Current.ProgramState != ProgramState.Playing) { return; } __state = TimeSnapshot.GetAndSetFromMap(__instance.pawn.Map); }
// Give the root position during ticking static void Postfix(PawnTweener __instance, ref Vector3 __result) { if (Multiplayer.Client == null || Multiplayer.InInterface) { return; } __result = __instance.TweenedPosRoot(); }
public Vehicle_DrawTracker(VehiclePawn vehicle) { this.vehicle = vehicle; tweener = new PawnTweener(vehicle); renderer = new VehicleRenderer(vehicle); ui = new PawnUIOverlay(vehicle); footprintMaker = new PawnFootprintMaker(vehicle); rTracker = new Vehicle_RecoilTracker(); }
static void Prefix(PawnTweener __instance) => calculating = __instance.pawn;