public static bool Prefix(PlayerAppearance __instance, ref int[] ei, int a, bool dead) { if (!GadgetNetwork.MatrixReady && GadgetNetwork.GetTimeSinceConnect() < GadgetNetwork.MatrixTimeout) { __instance.StartCoroutine(GadgetUtils.WaitAndInvoke(RPCMethod, GadgetNetwork.MatrixTimeout - GadgetNetwork.GetTimeSinceConnect(), () => GadgetNetwork.MatrixReady, __instance, ei, a, dead)); return(false); } GadgetNetwork.ConvertIDToLocal(ItemRegistry.Singleton, ref ei[0]); GadgetNetwork.ConvertIDToLocal(ItemRegistry.Singleton, ref ei[1]); GadgetNetwork.ConvertIDToLocal(ItemRegistry.Singleton, ref ei[2]); GadgetNetwork.ConvertIDToLocal(ItemRegistry.Singleton, ref ei[3]); GadgetNetwork.ConvertIDToLocal(null /* RaceRegistry */, ref ei[4]); GadgetNetwork.ConvertIDToLocal(null /* UniformRegistry */, ref ei[6]); GadgetNetwork.ConvertIDToLocal(null /* AugmentRegistry */, ref ei[7]); return(true); }