Prototype icon indicating copy to clipboard operation
Prototype copied to clipboard

Hide unimplemented features

Open WildWeazel opened this issue 3 years ago • 5 comments

Make all unusable buttons, menu options, etc invisible until they're functional. Maybe tie this to a build or runtime configuration- more discussion needed.

WildWeazel avatar Mar 29 '22 04:03 WildWeazel

Known items currently:

In-Game:

  • Rename unit
  • Civilopedia button
  • Most of the in-game menu options, only Quit works for now (and map takes you back to the map so you aren't stuck)

Main menu:

  • Tutorial
  • Hall of Fame
  • Preferences
  • Audio Preferences
  • A case could be made for Quick Start and New Game doing the same thing, but I'm inclined to leave them since one day Quick Start will do what both do now, and New Game will let you configure options for the game

I agree that just making them invisible would be ideal, since that should leave the layout in place.

QuintillusCFC avatar Jul 19 '22 19:07 QuintillusCFC

That was my thought too. If we tie their visibility to some global variable set in the release build we can hide them in releases only. My main concern is users reporting "broken" buttons.

WildWeazel avatar Aug 07 '22 06:08 WildWeazel

I think I would like to work on this as my first issue, but I have a question.

Is there somewhere an example where I can see such an global variable set? or would that be the first time we do something like this.

As for the Interface Buttons, I would set them to invisible right in the ready function? Or do you think that is a bad idea and it should be handled somewhere more central?

KulkoBSW avatar Jan 28 '25 20:01 KulkoBSW

@KulkoBSW A good place for a global variable is the GlobalSingleton class, located in the C7/GlobalSingleton.cs file. This class represents the global state of the Godot application (see Godot docs). However, if we also want to make this variable build-configurable, we need to store is as a project setting.

For controlling button visibility, I think setting it at the button creation is a valid approach.

esbudylin avatar Jan 29 '25 15:01 esbudylin

I agree, project setting is ideal and checking at element creation should be fine. There's no need to change it at runtime, it's more of a debug vs release thing.

WildWeazel avatar Feb 07 '25 18:02 WildWeazel