コード例 #1
0
 public static bool Prefix(MenuScript __instance)
 {
     if (GadgetNetwork.connectTime < 0)
     {
         GadgetNetwork.connectTime = Time.realtimeSinceStartup;
     }
     if (!GadgetNetwork.MatrixReady && GadgetNetwork.GetTimeSinceConnect() < GadgetNetwork.MatrixTimeout)
     {
         if (InstanceTracker.GameScript.gameObject.GetComponent <RPCHooks>() == null)
         {
             InstanceTracker.GameScript.gameObject.AddComponent <RPCHooks>();
         }
         RPCHooks.InitiateGadgetNetwork();
         __instance.StartCoroutine(WaitAndTryAgain(__instance));
         return(false);
     }
     else
     {
         if (!GadgetNetwork.MatrixReady)
         {
             GadgetNetwork.InitializeVanillaIDMatrix();
         }
         return(true);
     }
 }
コード例 #2
0
 public static bool Prefix(ChunkWorld __instance)
 {
     if (!GadgetNetwork.MatrixReady && GadgetNetwork.GetTimeSinceConnect() < GadgetNetwork.MatrixTimeout)
     {
         if (InstanceTracker.GameScript.gameObject.GetComponent <RPCHooks>() == null)
         {
             InstanceTracker.GameScript.gameObject.AddComponent <RPCHooks>();
         }
         RPCHooks.InitiateGadgetNetwork();
         __instance.StartCoroutine(WaitAndTryAgain(__instance));
         return(false);
     }
     else
     {
         return(true);
     }
 }
コード例 #3
0
 public static bool Prefix(GameScript __instance)
 {
     if (!GadgetNetwork.MatrixReady && GadgetNetwork.GetTimeSinceConnect() < GadgetNetwork.MatrixTimeout)
     {
         if (InstanceTracker.GameScript.gameObject.GetComponent <RPCHooks>() == null)
         {
             InstanceTracker.GameScript.gameObject.AddComponent <RPCHooks>();
         }
         RPCHooks.InitiateGadgetNetwork();
         __instance.StartCoroutine(WaitAndTryAgain(__instance));
         return(false);
     }
     else
     {
         if (GadgetNetwork.GetTimeSinceConnect() > GadgetNetwork.MatrixTimeout && Gadgets.ListAllGadgetInfos().Any(x => x.Attribute.RequiredOnClients))
         {
             GadgetCore.CoreLogger.LogWarning("Disconnecting from server due to timout! You can try raising NetworkTimeout in the config.");
             Network.Disconnect();
             return(false);
         }
         return(true);
     }
 }