ThermalShark Posted June 3, 2014 Share Posted June 3, 2014 I have lots of KSPFields showing on the right-click menu, and i want a button to toggle some of them on and off. How do i make a KSPField disappear and appear? Changing guiActive seems to be the answer, but how i do that? Link to comment Share on other sites More sharing options...
stupid_chris Posted June 3, 2014 Share Posted June 3, 2014 Fields["theFieldsName"].guiActive = false; Link to comment Share on other sites More sharing options...
ThermalShark Posted June 4, 2014 Author Share Posted June 4, 2014 Fields["theFieldsName"].guiActive = false;Thanks.(10 characters) Link to comment Share on other sites More sharing options...
ThermalShark Posted June 4, 2014 Author Share Posted June 4, 2014 Fields["theFieldsName"].guiActive = false;Now what i do to make all of them hidden? (i have almost 20, and i don't want to do it manually)This will work?foreach (KSPField f in Fields) { f.guiActive = false; }I can't test right now so i will probably get answered faster than i can test it. Link to comment Share on other sites More sharing options...
Padishar Posted June 4, 2014 Share Posted June 4, 2014 Well, BaseFieldList (the type of PartModule.Fields) implements IEnumerable so it should do... Link to comment Share on other sites More sharing options...
ThermalShark Posted June 5, 2014 Author Share Posted June 5, 2014 I get a invalidCastException. I am not 100% sure if it comes from the line i posted, but i need to sleep now, so i can only do more debugging tomorrow. Link to comment Share on other sites More sharing options...
stupid_chris Posted June 5, 2014 Share Posted June 5, 2014 I get a invalidCastException. I am not 100% sure if it comes from the line i posted, but i need to sleep now, so i can only do more debugging tomorrow.Because you are doing it it wrong. Fields is not a list of KSPFields, it's a list of BaseFields. You need to do this:foreach (BaseField f in Fields) { f.guiActive = false; } Link to comment Share on other sites More sharing options...
ThermalShark Posted June 5, 2014 Author Share Posted June 5, 2014 Because you are doing it it wrong. Fields is not a list of KSPFields, it's a list of BaseFields. You need to do this:foreach (BaseField f in Fields) { f.guiActive = false; }It worked now, thanks. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now