/// <summary> /// Called when we connect to a server /// </summary> /// <param name="connection"></param> public override void Connected(BoltConnection connection) { StaticCoroutineRunner.StartStaticCoroutine(MultiplayerPlayerNameManager.DownloadDataFromFirebase()); ModBotUserIdentifier.Instance.OnLocalClientConnected(); ModsManager.Instance.PassOnMod.OnClientConnectedToServer(); }
/// <summary> /// The same as <see cref="Mod.OnCommandRan(string)"/>, but called in Mod-Bot /// </summary> /// <param name="command"></param> public static void OnCommandRan(string command) { string[] subCommands = command.ToLower().Split(' '); if (subCommands[0] == "ignoreallcrashes") { if (subCommands.Length < 2) { debug.Log("Usage: ignoreallcrashes [1 - 0], [on - off], [true, false]"); return; } bool value; if (subCommands[1] == "1" || subCommands[1] == "on" || subCommands[1] == "true") { value = true; } else if (subCommands[1] == "0" || subCommands[1] == "off" || subCommands[1] == "false") { value = false; } else { debug.Log("Usage: ignoreallcrashes[1 - 0], [on - off], [true, false]"); return; } IgnoreCrashesManager.SetIsIgnoringCrashes(value); } if (subCommands[0] == "crash") { DelegateScheduler.Instance.Schedule(Crash, 1f); } if (subCommands[0] == "unittest") { if (subCommands.Length > 1) { bool foundUnitTest = ModBotUnitTestManager.TryRunUnitTest(subCommands[1]); if (!foundUnitTest) { debug.Log("Unit test failed: Unit test \"" + subCommands[1] + "\" not found", Color.red); return; } } ModBotUnitTestManager.RunAllUnitTests(); } if (subCommands[0] == "getplayfabids") { debug.Log("spawned players playfabids: "); List <FirstPersonMover> players = CharacterTracker.Instance.GetAllPlayers(); foreach (FirstPersonMover player in players) { string playfabID = player.state.PlayFabID; MultiplayerPlayerInfoManager.Instance.TryGetDisplayName(playfabID, delegate(string displayName) { if (displayName != null) { debug.Log(displayName + ": " + playfabID); } }); } } if (subCommands[0] == "redownloaddata") { StaticCoroutineRunner.StartStaticCoroutine(MultiplayerPlayerNameManager.DownloadDataFromFirebase()); debug.Log("redownloading data..."); } }