public static bool Prefix(FlybyCameraMFDPage __instance) { if ((bool)SCamPlus.sCamTraverse.Field("randomModes").GetValue()) { return(false); } Debug.Log("Incrementing S-Cam mode"); SCamPlus.currentBehaviour++; if ((int)SCamPlus.currentBehaviour > 6 + SCamPlus.cameraModes.Count) { SCamPlus.currentBehaviour = 0; Debug.Log("Too large, reseting to 0"); } Debug.Log("S-Cam Mode is now " + SCamPlus.currentBehaviour.ToString()); //SCamPlus.sCamTraverse.Method("UpdateBehaviorText"); SCamPlus.UpdateBehaviourText(__instance); if ((bool)SCamPlus.sCamTraverse.Field("flyCamEnabled").GetValue()) { if ((int)SCamPlus.currentBehaviour <= 6) { //SCamPlus.sCamTraverse.Method("SetupFlybyPosition").GetValue(); SCamPlus.sCamTraverse.Field("behavior").SetValue((int)SCamPlus.currentBehaviour);//we can only update this value to be within the range the game normally expects, or it causes issues when loading saves __instance.EnableCamera(); } else { __instance.flybyCam.cullingMask = SCamPlus.normalBitmask; __instance.cameraModel.SetActive(false); SCamPlus.cameraModes[(int)SCamPlus.currentBehaviour - 7].Start(__instance); } } return(false); }
public static bool Prefix(FlybyCameraMFDPage __instance) { SCamPlus.UpdateBehaviourText(__instance); return(false); }