public virtual bool OnPreInit(EEBLPreInitEvent e) => true;
public EEBotLoader() { Console.Title = "EverybodyEdits Bot Loader"; if (Instance != null) { LogHelper.Warn("Type -> EEBL:DuplicateInstance Blocked. This should not occur."); return; } Instance = this; Directory.CreateDirectory(Directories.BOT_PATH); Bots = (List <IBot>)BotLoaderHandler.Load(); try { // TODO: Possible Login and RoomID presets (including a Login/RoomID preset system). // TODO: Implement a neater Login System w/ saving compatabilities (encryption w/ key on computer, not local folder to prevent accidently sending sensitive information while sharing bot list). Additionally, add others beside Email/Pass. LogHelper.Info("Logging In..."); Console.WriteLine("Email:"); string email = Console.ReadLine(); Console.WriteLine("Password:"******"Logged In."); try { LogHelper.Info("Joining Room: "); //TODO: Linked to settings in which can skip this step and use a 'default'. string worldId = Console.ReadLine(); int serverVersion = (int)client.BigDB.Load("config", "config")["version"]; if (EverybodyEdits.CURRENT_VERSION != serverVersion) { LogHelper.Warn("POSSIBLE INCOMPATABILITIES: SERVER VERSION IS '" + serverVersion + "' AND THIS VERSION OF EEBL IS BUILT FOR '" + EverybodyEdits.CURRENT_VERSION + "'"); } playerHandler = new PlayerHandler(); var preInitEvent = new EEBLPreInitEvent(playerHandler); conn = this.client.Multiplayer.JoinRoom(worldId, null); conn.OnMessage += Conn_OnMessage; conn.Send("init"); LogHelper.Info("Succesfully Joined!"); } catch (Exception e) { LogHelper.Warn("Failed to Connect to Room!"); LogHelper.Warn(e.Message); } LogHelper.Info("Logged In!"); } catch (Exception e) { LogHelper.Warn("Failed to Log In!"); LogHelper.Warn(e.Message); } }
public override bool OnPreInit(EEBLPreInitEvent e) { playerHandler = e.GetPlayerHandler(); playerHandler.OnPlayerJoin_Subscribe(HiPlayer_OnPlayerJoin); return(base.OnPreInit(e)); }