Code Monkey home page Code Monkey logo

quartz's People

Contributors

mgreter avatar s7092910 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

quartz's Issues

Crash with using vanilla ContainerStandardControls

The Backpack, LootContainer and VehicleContainer controllers will crash on Init() when using the Vanilla ContainerStandardControls controller.

Temporary workaround: Use Quartz.ContainerStandardControls in place of the vanilla controller.

Timers: fuel and smelting

1. Fuel Window:

I remind about the summary combustion timer, namely the conversion to the format HH:MM:SS instead of the current one MM:SS

image

2. Smelting window

https://www.nexusmods.com/7daystodie/mods/4173
WookieNookie developed a mod that summarizes the melting time for each cell. I would like to have a timer that totals each melt time and displays the sum like with the fuel window.

image

00:24:45 + 01:17:49 = 01:42:34

image

P.S.

It's likely that WookieNookie's work can be included in the Quartz, if he doesn't mind. Using the ability to use a separate for each cell and a common timer for melting at the same time doesn't sound bad.
image
Found on discord, it's probably him

New feature request

Have the window that shows your active quest be able to have tabs or pagination. To be able to quickly change your active quest. And/or be able to uses a hot key to be able to switch through them.

New pager with the ability to enter pages

I would like to have a pager that allows you to enter a specific page so you don’t have to click the mouse many times.

Let's say that I need page № 100 in the creative window and for this I will have to click the mouse 100 times over and over again.

image

New Feature Request ( Hud stat bar icons)

I would like the ability to activate and deactivate icons around the player hud stat bars. The idea would be to have chevrons or arrows appear near the stat bar to show when a stat is moving, what direction and how fast. Possible activated/deactivated by a buff or cvar. This feature is in many survival games to allow the player to intrinsically know how their current condition/activity is affecting their stats without searching through menus or doing math. Example: if you were losing health slowly you would see one down arrow next to the health bar, if it was going down moderately you would have 2 down arrows, if it was dropping fast you would have 3 down arrows.

Request: Overhead Target Healthbar

An enhanced target healthbar that is overhead and can show on multiple enemies at once. Much like the one the vanilla game use for the twitch bosses only more modifiable.

Required Fuel Slot

Copy the "WorkstationToolGrid" controllers "required_tools=" and "required_tools_only="true"" mechanics into the "WorkstationFuelGrid" controller so that only a stated item would be allowed to be placed into any of the fuel burning slots. This could be used to make select workstations require Gas to work.

Thank you for your consideration,
Spider

Rebranding

With 7 Days to Die 1.0 releasing soon, Quartz needs a bit better branding. New Icons and Banner were created, all that is needed is to replace any existing icon and banner.

  • Update the branding of Quartz to the new icon and banner

New Feature Request : windowChallengeEntryDescription objectives hardcode expansion

251570_20240705003601_1
You confirmed our suspicions that controller="ChallengeEntryDescriptionWindow" is hardcoded to 3 options of objectives. It would be nice if we could expand that to at least 5, to fit the request of hellsjanitor. I would like to expand that to a max of 10 options if possible instead. Since there seems to be a lot of room for additional challenge tiers tabs at the top to mod in, room to make really complex ones might be nice, hence up to 10 instead of up to 5 or the vanilla limit of 3.

Whether it makes it or not, I know I appreciate you making quartz for us to use.

XP bar improvement

I was told that to achieve the goal Harmony is needed, but it might be possible via Quartz.

image

I would like that so when the maximum level is reached, the value to next level is = 0. At the moment the value is simply duplicated from level 299.

image

I would like it to be like this or something more "informative" to mean “the maximum has been reached”
image

(Information from statistics is duplicated in the experience bar for convenience)

Addition: at the moment {xp} is the number 0.5445623475645546. If it is possible to reduce the number of characters to 2 after 0, it would be great.

To get 0.54% for example, or remove 0 completely, making the fraction an integer. Something like this

{xp}%

Animated Sprites Request

Meant to do this yesteday. You asked us to open an issue on the git about this. I was dead serious about the intention to use motion graphics as a means of conveying status effects, as such, animated sprite support would be very helpful for this goal. I believe the other request was specific to the use of animated sprites for displaying weapon tiers.
Honestly I was planning to use the videocontroller, but this would be better on RAM usage i think than that would. At least I'd think it would given the difference in file sizes from mp4 to gif.
If you do get the time to look into it and it works, awesome. If it doesn't, we haven't lost anything.

Rewrite 7 Days to Die Controllers

Overview

The goal is to rewrite the XUi Controllers used in 7 Days to Die to allow easier modifications/replacing of controllers in the UI hierarchy. A lot of the current XUi Controllers have a lot of dependencies on other XUi Controllers. So if a controller is to be replaced, it currently has to extend the existing XUi Controller which does limit what can be used to replace the existing controller and prevents changes in behavior of the class.

The rewriting of the XUi Controllers will decouple the implementations of the controllers from the dependencies by the creation of interfaces for any dependencies and using those in place of the implementations. Thus allowing the controllers definitions being separated from their implementations, thus allowing easier replacing of controllers.

Also add in Event bubbling from the controller/view that an event has occurred on to be bubbled up to all parent XUi Controllers.

Progress (Controllers that have been rewritten)

  • XUiController - Replaced by XUiBaseController which extends XUiController

A

  • ActiveBuffEntry
  • ActiveBuffList
  • ActiveBuffWindow
  • ArchetypeDnaList
  • ArchetypeEditorPreviewWindow
  • ArchetypeEntry
  • ArchetypePreviewWindow
  • ArchetypesWindowGroup
  • AssemblyDroneWindow
  • AssembleWindow
  • AssemblyWindowGroup

B

  • Backpack
  • BackpackWindow
  • BasePartStack
  • BuffInfoWindow
  • BuffPopoutList

C

  • CameraWindow
  • CategoryEntry
  • CategoryList
  • CharacterFrameWindow
  • CharacterSheetWindowGroup
  • Chat
  • ChatOutput
  • CollectedItem
  • CollectedItemList
  • ColorPicker
  • CombineGrid
  • ComboBoxBool
  • ComboBoxEnum
  • ComboBoxFloat
  • CombotBoxInt
  • ComboBoxList
  • ComboBoxOrdinal
  • ComboBox
  • CompaionEntry
  • CompanionEntryList
  • CompassWindow
  • ContainerStandardControls
  • Counter
  • CraftingInfoWindow
  • CraftingListInfo
  • CraftingQueue
  • CraftingToolWindow
  • CraftingWindowGroup
  • CreateWorld
  • Creative2Stack (Merged Into CreativeStack)
  • Creative2StackGrid (Merged Into CreativeStackGrid)
  • Creative2Window (Merged Into CreativeWindow)
  • Creative2WindowGroup (Merged Into CreativeWindowGroup)
  • CreativeStack
  • CreativeStackGrid
  • CreativeWindow
  • CreativeWindowGroup
  • Credits

D

  • DeathBar
  • DialogRespondentName
  • DialogResponseEntry
  • DialogResponseList
  • DialogStatementWindow
  • DialogWindowGroup
  • DoorEditor
  • DragAndDropWindow
  • DroneWindowGroup
  • DropDown

E

  • EditingTools
  • EditorPanelSelector
  • EditorStat
  • EquipmentStack
  • EquipmentStackGrid
  • ExportPrefab

F

  • FocusedBlockHealth

G

  • GameEventMenu
  • GameEventsList
  • GamepadCallout
  • GamepadCalloutWindow
  • GamePrefSelector

H

  • HUDStatBar

I

  • InfoWindow
  • InGameDebugMenu
  • InGameHUD
  • InGameMenuWindow
  • IngredientEntry
  • IngredientList
  • InteractionPrompt
  • ItemActionEntry
  • ItemActionList
  • ItemCosmeticStack
  • ItemCosmeticStackGrid
  • ItemDronePartStack
  • ItemDronePartStackGrid
  • ItemInfoWindow
  • ItemPartStack
  • ItemPartStackGrid
  • ItemInfoWindow
  • ItemPartStack
  • ItemPartStackGrid
  • ItemStack
  • ItemStackGrid

J

  • JournalEntry
  • JournalEntryDescriptionWindow
  • JournalEntryLIst
  • JournalEntryListWindow
  • JournalWindowGroup

K

  • KeypadWindow

L

  • LayerSelector
  • LevelTools2Window
  • LevelToolsWindow
  • LightEditor
  • ListEntry
  • List
  • LoadingScreen
  • LootContainer
  • LootWindow
  • LootWindowGroup

M

  • MainMenu
  • MapArea
  • MapEnterWaypoint
  • MapInvitesLIst
  • MapInvitesListEntry
  • MapPopupEntry
  • MapPopupList
  • MapStats
  • MapSubPopupEntry
  • MapSubPopupList
  • MapWaypoint
  • MapWaypointLIst
  • MapWaypointListEntry
  • MaterialInfoWindow
  • MaterialStack
  • MaterialStackGrid
  • MaterialWindow
  • MessageBoxWindowGroup

N

  • NewContinueGame

O

  • OnScreenIcons
  • OptionsAudio
  • OptionsControls
  • OptionsControlsNewBinding
  • OptionsMenu
  • OptionsProfiles
  • OptionsSelector
  • OptionsTwitch
  • OptionsUsername
  • OptionsVideo

P

  • Paging
  • PartList
  • PartyEntry
  • PartyEntryList
  • PartyWindow
  • PlayersList
  • PlayersListEntry
  • PoiLIst
  • PoiTeleportMenu
  • PopupMenu
  • PopupMenuItem
  • PopupToolTip
  • PowerCameraWindowGroup
  • PoweredGenericWindowGroup
  • PoweredSpotLightWindowGroup
  • PowerRangedAmmoSlots
  • PowerRangedTrapOptions
  • PowerRangedTrapWindowGroup
  • PowerSourceSlots
  • PowerSourceStats
  • PowerSourceWindowGroup
  • PowerTriggerOptions
  • PowerTriggerWindowGroupd
  • PrefabEditorHelp
  • PrefabFileList
  • PrefabGroupList
  • PrefabGroupsEidtorList
  • PrefabList
  • PrefabMarkerLIst
  • PrefabProperties
  • PrefabTagLIst
  • PrefabTags
  • PrefabTriggerEditorLIst
  • PrefabZonesEditorLIst
  • ProfilesLIst
  • ProgressWindow

Q

  • QuestDescriptionWindow
  • QuestEntry
  • QuestList
  • QuestListWindow
  • QuestObjectiveEntry
  • QuestObjectiveList
  • QuestObjectivesWindow
  • QuestOfferWindow
  • QuestRewardEntry
  • QuestRewardList
  • QuestRewardsWindow
  • QuestSharedEntry
  • QuestSharedList
  • QuestSharedListWindow
  • QuestTrackerObjectiveEntry
  • QuestTrackerObjectiveList
  • QuestTrackerWindow
  • QuestTurinInDetailsWindow
  • QuestTurnInEntry
  • QuestTurnInRewardsWindow
  • QuestTurnInWindowGroup
  • QuestWindowGroup

R

  • Radial
  • RadialEntry
  • RecipeCraftCount
  • RecipeEntry
  • RecipeList
  • RecipeStack
  • ReportPlayer
  • RequiredItemStack
  • RWGLSystem

S

  • SaveDirtyPrefab
  • SavegamesList
  • SelectableEntry
  • Selector
  • ServerBrowser
  • ServerBrowserDirectConnect
  • ServerBrowserGameOptionInputAdvanced
  • ServerBrowserGameOptionInputRange
  • ServerBrowserGameOptionInputSimple
  • ServerBrowserGamePrefInfo
  • ServerBrowserGamePrefSelector
  • ServerBrowserGamePrefSelectorCombo
  • ServerBrowserGamePrefString
  • ServerBrowserGamePrefString
  • ServerFilters
  • ServerInfo
  • ServerJoinRulesDialog
  • ServerPasswordWindow
  • ServersList
  • ServiceInfoWindow
  • ShapeInfoWindow
  • ShapeMaterialInfoWindow
  • ShapeStack
  • ShapeStackGrid
  • ShapesWindow
  • SignWindow
  • SimpleButton
  • SkillAttributeInfoWindow
  • SkillAttributeLevel
  • SkillBookInfoWindow
  • SkillBookLevel
  • SkillEntry
  • SkillList
  • SkillListWindow
  • SkillPerkInfoWindow
  • SkillPerkLevel
  • SkillSkillInfoWindow
  • SkilSkillMilestone
  • SkillWindowGroup
  • Slider
  • SliderBar
  • SliderThumb
  • SlotPreview
  • SlotSelector
  • SpawnEntitiesList
  • SpawnersLIst
  • SpawnMenu
  • SpawnSelectionWindow
  • StartPointEditor
  • SteamLogin

T

  • TabSelector
  • TargetBar
  • TextInput
  • ThrowPower
  • Timer
  • TipWindow
  • ToggleButton
  • Toolbelt
  • ToobeltWindow
  • ToolTip
  • TraderItemEntry
  • TraderItemLIst
  • TraderWindow
  • TraderWindowGroup
  • TriggerProperties
  • TwitchActionEntry
  • TwitchActionEntryList
  • TwitchActionHistoryEntry
  • TwitchActionHistoryEntryList
  • TwitchCommandEntry
  • TwitchCommandList
  • TwitchEntryDescriptionWindow
  • TwitchEntryListWindow
  • TwitchHowToWindow
  • TwitchInfoWindowGroup
  • TwitchLeaderboardEntry
  • TwitchLeaderboardEntryList
  • TwitchVoteEntry
  • TwitchVoteInfoEntry
  • TwitchVoteInfoEntryList
  • TwitchVoteList
  • TwitchWindow

U

  • UnlockByEntry
  • UnlockByLIst

V

  • VehicleContainer
  • VehicleFrameWindow
  • VehiclePartStack
  • VehiclePartStackGrid
  • VehicleStats
  • VehicleStorageWindowGroup
  • VehicleWindowGroup

W

  • WindowNonPagingHeader
  • WindowSelector
  • WoPropsPOIMarker
  • WoPropsSleeperBlock
  • WoPropsSleeperVolum
  • WorkstationFuelGrid
  • WorkstationGrid
  • WorkstationInputGrid
  • WorkstationMaterialInputGrid
  • WorkStationOutputGrid
  • WorkstationToolGrid
  • WorkstationWindowGroup
  • WorldGenerationPreview
  • WorldGenerationWindowGroup
  • WorldGeneratorWorldSelection
  • WorldList
  • WorldToolsWindow

Missing documentation

Missing documentation on the following

XUiControllers

  • XUiC_CVarTimer
  • XUiC_RecipeEntry
  • XUiC_TraderWindow

XUiViews

  • XUiV_MaskedPanel
  • XUiV_MaskedTexture

Add in loading of new fonts

Overview

The goal is to allow modders to add in new fonts to 7 days to die. Currently all the fonts are hardcoded into 7 days to die and only those fonts can be used.

Progress

  • Load in .ttf files as Unity.Font
  • Add new attribute to XUiV_Label to set a Unity.Font field that sets the font for the UILabel
  • Add new attribute to XUiV_TextList to set a Unity.Font field that sets the font for the UITextList's UILabel and the UILabel

Reorganize the documentation

Since Quartz has grown, reorganize the documentation to reflect the categories for the controllers and views would be good. Each controller should get its own page, with each category getting its own page that links to each controller in that category, with a little description and potential preview

Might look into Github pages to do the documentation in the future. https://just-the-docs.com/

Changing the label in the trader window

General Stock is written by default in the title bar of the trader or machine window

image

I would like that when selecting categories, this label would also change according to the name of the selected category, namely:

{category_icon} General Stock: {category_name}

For example:
fork icon General Stock: Food
name

We add one more to the existing label next to it, a colon is required, for nice look

name2

Required Slots Fuel Grid allowing fuel that doesn't fit the required slots

Currently, using shift clicking of a fuel while in a workstation using the Fuel grid controller and the Required fuel itemstack feature, allows bypassing the required fuel requirement.

Expected behaviour
Shift clicking a fuel should not allow the fuel be slotted into the required fuel slot if it does not fulfill the required fuel slot. Shift clicking a fuel that does fulfill the required fuel slot should slot it in the first slot that the satisfies the required fuel.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.