예제 #1
0
 public virtual bool OnPreInit(EEBLPreInitEvent e) => true;
예제 #2
0
        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);
            }
        }
예제 #3
0
 public override bool OnPreInit(EEBLPreInitEvent e)
 {
     playerHandler = e.GetPlayerHandler();
     playerHandler.OnPlayerJoin_Subscribe(HiPlayer_OnPlayerJoin);
     return(base.OnPreInit(e));
 }