Exemple #1
0
        void launcherChooseCharTimer_Tick(object sender, EventArgs e)
        {
            try
            {
                // Override - instead of using the plugin xml, use the launch file
                var launchInfo = LaunchControl.GetLaunchInfo();
                if (launchInfo.IsValid)
                {
                    TimeSpan FiveMinutes = new TimeSpan(0, 0, 5, 0);
                    if (DateTime.UtcNow - launchInfo.LaunchTime < FiveMinutes)
                    {
                        var ourCharacter = new DefaultFirstCharacter(launchInfo.ServerName, zonename, launchInfo.CharacterName);
                        log.WriteInfo("Character login requested: " + launchInfo.CharacterName);

                        if (ourCharacter.ZoneId == zonename && ourCharacter.Server == server)
                        {
                            // Bypass movies/logos
                            if (state == 1 || state == 2)
                            {
                                PostMessageTools.SendMouseClick(350, 100);
                            }

                            if (state == 3)
                            {
                                bool ok = loginCharacterTools.LoginCharacter(ourCharacter.CharacterName);
                                if (ok)
                                {
                                    Heartbeat.RecordCharacterName(ourCharacter.CharacterName);
                                }
                            }
                        }
                    }
                    else
                    {
                        log.WriteInfo("launcherChooseCharTimer_Tick: LaunchInfo too old: " + launchInfo.LaunchTime.ToString());
                    }
                }
                else
                {
                    log.WriteInfo("launcherChooseCharTimer_Tick: LaunchInfo not valid");
                }

                if (state >= 3)
                {
                    launcherChooseCharTimer.Stop();
                }

                state++;
            }
            catch (Exception ex) { Debug.LogException(ex); }
        }
Exemple #2
0
        public static void SetDefaultFirstCharacter(DefaultFirstCharacter newDefaultFirstCharacter)
        {
            SettingsFile.ReloadXmlDocument();

            Collection <DefaultFirstCharacter> characters = DefaultFirstCharacters;

            for (int i = 0; i < characters.Count; i++)
            {
                if (characters[i].Server == newDefaultFirstCharacter.Server && characters[i].ZoneId == newDefaultFirstCharacter.ZoneId)
                {
                    characters.RemoveAt(i);

                    break;
                }
            }

            Collection <Dictionary <string, string> > collection = new Collection <Dictionary <string, string> >();

            foreach (DefaultFirstCharacter character in characters)
            {
                Dictionary <string, string> attributes = new Dictionary <string, string>();

                attributes.Add("Server", character.Server);
                attributes.Add("ZoneId", character.ZoneId);

                attributes.Add("CharacterName", character.CharacterName);

                collection.Add(attributes);
            }

            Dictionary <string, string> newAttributes = new Dictionary <string, string>();

            newAttributes.Add("Server", newDefaultFirstCharacter.Server);
            newAttributes.Add("ZoneId", newDefaultFirstCharacter.ZoneId);

            newAttributes.Add("CharacterName", newDefaultFirstCharacter.CharacterName);

            collection.Add(newAttributes);

            SettingsFile.SetNodeChildrenAndSaveToDisk("CharacterSelectionScreen/DefaultLoginChars", "DefaultLoginChar", collection);
        }
      public static void SetDefaultFirstCharacter(DefaultFirstCharacter newDefaultFirstCharacter)
      {
        SettingsFile.ReloadXmlDocument();

        Collection<DefaultFirstCharacter> characters = DefaultFirstCharacters;

        for (int i = 0; i < characters.Count; i++)
        {
          if (characters[i].Server == newDefaultFirstCharacter.Server && characters[i].AccountName == newDefaultFirstCharacter.AccountName)
          {
            characters.RemoveAt(i);

            break;
          }
        }

        Collection<Dictionary<string, string>> collection = new Collection<Dictionary<string, string>>();

        foreach (DefaultFirstCharacter character in characters)
        {
          Dictionary<string, string> attributes = new Dictionary<string, string>();

          attributes.Add("Server", character.Server);
          attributes.Add("AccountName", character.AccountName);

          attributes.Add("CharacterName", character.CharacterName);

          collection.Add(attributes);
        }

        Dictionary<string, string> newAttributes = new Dictionary<string, string>();

        newAttributes.Add("Server", newDefaultFirstCharacter.Server);
        newAttributes.Add("AccountName", newDefaultFirstCharacter.AccountName);

        newAttributes.Add("CharacterName", newDefaultFirstCharacter.CharacterName);

        collection.Add(newAttributes);

        SettingsFile.SetNodeChilderen("CharacterSelectionScreen/DefaultLoginChars", "DefaultLoginChar", collection);
      }