Beispiel #1
0
 void EnterUniverse()
 {
     if (_instance == null)
     {
         _instance = new Instance();
     }
     _instance.Connect(_configuration.Server, _configuration.ServerPort);
     _instance.Login(_configuration.LoginUser, _configuration.LoginPassword, _configuration.BotName);
     _instance.EventUniverseDisconnect += EventUniverseDisconnect;
     _instance.EventWorldDisconnect    += EventWorldDisconnect;
     EnterWorld();
 }
Beispiel #2
0
 void EnterUniverse()
 {
     if (_instance == null)
     {
         _instance = new Instance();
     }
     _instance.Connect(ConfigurationManager.AppSettings["server"], ushort.Parse(ConfigurationManager.AppSettings["serverPort"]));
     _instance.Login(ConfigurationManager.AppSettings["user"], ConfigurationManager.AppSettings["password"], ConfigurationManager.AppSettings["botName"]);
     _instance.EventUniverseDisconnect += EventUniverseDisconnect;
     _instance.EventWorldDisconnect    += EventWorldDisconnect;
     EnterWorld();
 }
Beispiel #3
0
        private void m_LoginDoWork(object sender, DoWorkEventArgs e)
        {
            // Check universe login state and abort if we're already logged in
            if (Globals.iInUniv == true)
            {
                m_Login.ReportProgress(0, "Already logged into universe!");
                return;
            }

            // Initalize the AW API?
            m_Login.ReportProgress(0, "Initializing the API instance.");
            _instance = new Instance();

            // Install events & callbacks
            m_Login.ReportProgress(0, "Installing events and callbacks.");
            //_instance.EventAvatarAdd += OnEventAvatarAdd;
            _instance.EventChat += OnEventChat;

            // Set universe login parameters
            _instance.Attributes.LoginName              = Globals.sBotName;
            _instance.Attributes.LoginOwner             = Globals.iCitNum;
            _instance.Attributes.LoginPrivilegePassword = Globals.sPassword;
            //_instance.Attributes.LoginApplication = Globals.sBotDesc;

            // Log into universe
            //m_Login.ReportProgress(0, "Entering universe.");
            var rc = _instance.Login();

            if (rc != Result.Success)
            {
                m_Login.ReportProgress(0, "Unable to log in to universe (reason:" + rc + ").");
                return;
            }
            else
            {
                m_Login.ReportProgress(0, "Universe entry successful.");
                Globals.iInUniv = true;
            }

            // Enter world

            // Prepare for Caretaker mode if the option has been enabled
            if (Globals.iCaretaker == true)
            {
                _instance.Attributes.EnterGlobal = true;
                m_Login.ReportProgress(0, "Caretaker mode requested.");
            }

            //m_Login.ReportProgress(0, "Logging into world " + Globals.sWorld + ".");
            rc = _instance.Enter(Globals.sWorld);
            if (rc != Result.Success)
            {
                m_Login.ReportProgress(0, "Failed to log into world" + Globals.sWorld + " (reason:" + rc + ").");
                _instance.Dispose();
                Globals.iInUniv = false;
                return;
            }
            else
            {
                m_Login.ReportProgress(0, "Entered world " + Globals.sWorld + ".");
                Globals.iInWorld = true;
            }

            // Test caretaker mode (if requested)
            if (Globals.iCaretaker == true)
            {
                if (_instance.Attributes.WorldCaretakerCapability == true)
                {
                    m_Login.ReportProgress(0, "Caretaker mode confirmed.");
                }
                else
                {
                    m_Login.ReportProgress(0, "Caretaker mode denied.");
                }
            }

            // Commit the positioning and become visible
            m_Login.ReportProgress(0, "Changing position in world.");
            _instance.Attributes.MyX    = Globals.iXPos;
            _instance.Attributes.MyY    = Globals.iYPos;
            _instance.Attributes.MyZ    = Globals.iZPos;
            _instance.Attributes.MyYaw  = Globals.iYaw;
            _instance.Attributes.MyType = Globals.iAV;
            Globals.Dest.x   = Globals.iXPos;
            Globals.Dest.y   = Globals.iYPos;
            Globals.Dest.z   = Globals.iZPos;
            Globals.Dest.yaw = Globals.iYaw;

            rc = _instance.StateChange();
            if (rc == Result.Success)
            {
                m_Login.ReportProgress(0, "Movement successful.");
            }
            else
            {
                m_Login.ReportProgress(0, "Movement aborted (reason: " + rc + ").");
            }
        }
Beispiel #4
0
        private void butLoginUniv_Click(object sender, EventArgs e)
        {
            // Are we already logged in? Abort if so
            if (Globals.iInUniv == true)
            {
                Stat(1, "Error", "Already logged in!", "red");
                return;
            }

            // Disable universe login button
            butLoginUniv.Enabled = false;

            // Open the login manager form
            Stat(1, "Login Manager", "Opening the login manager.", "black");
            Form2 frm = new Form2();

            frm.ShowDialog();

            // Init the AW API
            Stat(1, "API Init", "Initializing the AW API.", "black");
            m_bot = new Instance();

            // Install events & callbacks
            Stat(1, "API Init", "Installing events and callbacks.", "black");
            m_bot.EventAvatarAdd    += OnEventAvatarAdd;
            m_bot.EventAvatarDelete += OnEventAvatarDelete;
            m_bot.EventChat         += OnEventChat;
            m_bot.EventHudClick     += OnEventHUDClick;
            m_bot.EventObjectClick  += OnEventObjectClick;

            // Set universe login parameters
            m_bot.Attributes.LoginName              = Globals.sBotName;
            m_bot.Attributes.LoginOwner             = Globals.iCitNum;
            m_bot.Attributes.LoginPrivilegePassword = Globals.sPassword;
            m_bot.Attributes.LoginApplication       = Globals.sBotDesc;

            // Log into universe
            Stat(1, "Universe Login", "Entering universe.", "black");
            var rc = m_bot.Login();

            if (rc != Result.Success)
            {
                Stat(1, "Error", "Failed to log in to universe (reason: " + rc + ").", "red");
                return;
            }
            else
            {
                Stat(1, "Universe Login", "Universe entry successful. (" + rc + ")", "black");
                Globals.iInUniv       = true;
                butLoginWorld.Enabled = true;
                butLogOut.Enabled     = true;
            }

            // Clear and then add columns to CitTable
            Globals.CitTable.Clear();
            Globals.CitTable.Columns.Clear();
            Globals.CitTable.Columns.Add("Name", typeof(string));
            Globals.CitTable.Columns.Add("Session", typeof(int));
            Globals.CitTable.Columns.Add("Registered", typeof(string));
            Globals.CitTable.Columns.Add("PermLevel", typeof(string));
            Globals.CitTable.Columns.Add("Citnum", typeof(string));
            Globals.CitTable.Columns.Add("PlantFlag", typeof(string));

            // Initialize and start the timer
            aTimer          = new System.Windows.Forms.Timer();
            aTimer.Tick    += new EventHandler(aTimer_Tick);
            aTimer.Interval = 100;
            aTimer.Start();
        }
Beispiel #5
0
 public void Login(string username, string password, string botname)
 {
     _pipeProxy.Login(username, password, botname);
 }