Jump to content

How do I impliment Fight Class Settings


Recommended Posts

Hey everyone,

I'm working on a Totem Twist Fight Class for TBC and i want to add Settings, which allow me to chose the Totems i want the bot to use.

I'm creating C# Fightclasses for a while. Yet i couldn't figure out, how to properly impliment options in the Settings.

This is how i tried to make it work:

 [Serializable]
    public class TestingSettings : Settings
    {
        [Setting]
        [DefaultValue("")]
        [Category("Category")]
        [DisplayName("Displ")]
        [Description("Descr")]
        public string Setting1 { get; set; }

    
        private TestingSettings()
        {
            Setting1 = "";
        }

        public static TestingSettings CurrentSetting { get; set; }

        public bool Save()
        {
            try
            {
                return Save(AdviserFilePathAndName("TestSetting", ObjectManager.Me.Name + "." + Usefuls.RealmName));
            }
            catch (Exception e)
            {
                Logging.WriteError("Failed" + e);
                return false;
            }
        }

        public static bool Load()
        {
            try
            {
                if (File.Exists(AdviserFilePathAndName("TestSetting", ObjectManager.Me.Name + "." + Usefuls.RealmName)))
                {
                    CurrentSetting =
                        Load<TestingSettings>(AdviserFilePathAndName("TestSetting", ObjectManager.Me.Name + "." + Usefuls.RealmName));
                    return true;
                }
                CurrentSetting = new TestingSettings();
            }
            catch (Exception e)
            {
                Logging.WriteError("Failed" + e);
            }
            return false;
        }
    }

Unfortunatly, when i press "Settings", just nothing happens. What am I doing wrong?

 

Link to comment
Share on other sites

Looks good to me at first sight.

Maybe you forgot to declare the following method?

    public static void ShowConfiguration()
    {
        TestingSettings.Load();
        TestingSettings.CurrentSetting.ToForm();
        TestingSettings.CurrentSetting.Save();
    }

You also need to load the settings in the Initialize() method of the FC:

TestingSettings.Load();

 

Link to comment
Share on other sites

1 hour ago, Zer0 said:

Looks good to me at first sight.

Maybe you forgot to declare the following method?

    public static void ShowConfiguration()
    {
        TestingSettings.Load();
        TestingSettings.CurrentSetting.ToForm();
        TestingSettings.CurrentSetting.Save();
    }

You also need to load the settings in the Initialize() method of the FC:

TestingSettings.Load();

 

This made it work. Thanks a lot!
(ofc I was missing the obvious stuff ... time to feel stupido for a few minutes ? )

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...