Scan Data Entry Widget

Easy scan entry method

Scan Data Entry Widget


“ScanDataEntryWidget” is an editor tool you can use to add / edit scan data without having to manually edit the data table.

Installation


{{0xc000e78a00 0xc000e78a00 image.png  alt text alt text 0xc000a83b60} 0 false}

  • right click on the asset and select this
  • You can dock the window by the levels tab
    {{0xc000e78a00 0xc000e78a00 image-1.png  alt text alt text 0xc000a83e60} 1 false}
  • Once you dock it it should automatically open when you start the editor

Updating an existing scan


  • Select a scanable object (like a plant) in the viewport
    • The widget should update
      {{0xc000e78a00 0xc000e78a00 image-2.png  alt text alt text 0xc000802660} 2 false}
    • You can change basic details like friendly name and rewards here
    • Varient data holds the entry stuff
      {{0xc000e78a00 0xc000e78a00 image-3.png  alt text alt text 0xc000a300c0} 3 false}
    • “Varient Name” isn’t displayed anywhere yet
    • Text entry has the text
    • Rarity changes the color in the blurb / color of the outline and gives more RP for completion
    • Soft Texture is the reference to the blurb’s illustration
    • HP and RP mult are modifiers on the base hp and RP for the scan

Adding a new entry


  • Select the new object in the viewport
  • Make sure the object has a scan component
  • Make sure the scan component has a scan tag set
    {{0xc000e78a00 0xc000e78a00 image-4.png  alt text alt text 0xc000a82240} 4 false}
    • Thing should show “New Entry”
  • Fill out the entry - it automatically saves
    {{0xc000e78a00 0xc000e78a00 image-5.png  alt text alt text 0xc000a31200} 5 false}

Planned Features


  • Full description

    • Multi paragraph, or extra info for the pause menu version
    • Need to figure out exactly what we want that to look like, including multi entries.
  • Better variant system, make it feel like you are continuously gathering data on subjects…

  • Likewise, integrating rewards better. I should study some scan / logbook systems from other games… though I probably shouldn’t completely redesign things.

  • WYSIWYG editor?

    • Maybe a preview instead. Like the entry widget has a preview widget for both blurb and full description.
  • I really want spell check integrated into the editor, and a better editing field, like a proper text editor. Hell, markdown would be awesome too. What would that look like?

  • Better wordwrap? https://www.doublecat.com.au/blog/nice-text-wrapping-in-umg

Options for markdown like editing


Extreme option is using the web-browser extension. This would run chromium behind the scenes, which… ehhhhh. However, this would allow for complete parity with a web solution, use of markdown, ETC. May be way too heavy though, and I likely couldn’t keep the data in a DT, which could seriously affect load times. Well, theoretically I could keep the existing DT, then slam the HTML URL in the DT instead…? Ehh this is getting pretty custom and annoying, and I don’t really need all the features of CSS / HTML.

Seems like unreal style “RichText” is mandatory. Only other option would be to rewrite our entire HUD renderer to slate or something, which likely has similar problems.

RichText markup is like <stylename>text to be affected</stylename>, HTML style. You can’t really do CSS style formatting, just inline stuff.

I could write a markdown to richtext converter in engine. I’m already parsing all incoming text. It would probably be a lil slow, and break all existing formatting. It may not be that great as far as handling custom stuff like highlighting key words… sorta sounds like I should audit the “style” tags and break them down to the most useful ones.

If we could just get a better text editor involved… what if you use the webbrowser extension from WITHIN the editor? Like the entry widget uses the webbrowser? That could theoretically give a significantly better text entry, maybe even with spell check. Some kinda lightweight code highlighter we could run local? Hightlighting may honestly not be required as we could just run a realtime preview, which will quickly highlight any syntax issues. Really all we need is a nicer entry box.

Yeah, I don’t think all that is worth. We should go with realtime previewer, audit the syntax, and slightly better text entry box if possible.

Spell check could be an offline process we run occasionally. Not the best but it may be worth the time save.

Goals:

  • Markdown “lite” syntax. Make common styles callable with markdown like syntax ✔
  • Unification of scan and robot text styles
  • Scan blurb preview ✔
  • Codex preview ✔
  • Better text entry field! ✔
  • Scrollbar when entry widget is too long ✔
  • 100% indicator ✔

Blurb:

  • Breakthrough Icon / FX

Codex:

  • Variant “boxes” UMG
    • undiscovered cloudy shader like civ
    • Icon for “Breakthrough” (Both on undiscovered and discovered)
  • Set bonus reward gift button thing ✔
  • Will have to check at 720p
  • Image display
    • Tool to auto capture screenshot into texture
    • Shader to post process image in UMG
    • Maybe use texture editing tool in unreal and script it?

Codex tree view

  • Newly completed entry indicator (gift icon) (Replace plant icon) ✔

Would be cool:

  • Multi user editing
  • Split DT_ScanData into composite table (may not need?)

Reward gift

  • Gift box icon (red and yellow, probably) ✔
  • Look up examples ✔
  • Button on codex content page ✔
  • Need to make the button work ✔
    • Pop UMG_RewardGet, have it look up the data n shit ✔
    • Decrement “availableRewards” in scan user data ✔
    • Send global event along “scan updated” ✔
      • Should update list entries, need to update content display as well ✔
    • May want to refresh the entire menu instead - like close it and open UMG_RewardGet, then reopen the menu after? would change many things, maybe bespoke updates would be better.

RewardGetLayout vs UMG_RewardGet

  • RewardGetLayout gets pushed if in regular game
    • Visor layout
    • Big anim
    • Eats input for a while
  • UMG_RewardGet gets pushed if in menu
    • No anim / simple anim
    • Z-layered fullscreen popup
  • Both pull up UMG_RewardGetDescription
    • Displays tutorial text / description based on latest upgrade received
  • We want to just call ActuallyGiveReward from RewardFunctionLibrary and the game know which notif to push
    • Challenge is deferring actually updating the player? Like upgrade anim?
    • It is easier to have the save data update AFTER the notif then pull events for that… though I think I already handle this somehow

Scan Features in demo

  • Lunosi Lore. Really need to make assets for this
  • Player insights. Take a look how I did it in spring then enhance
  • Decal scan, maybe for lunosi lore. Special material

Markup features to add:

  • Better markup

    • Need a list of actually useful styles first
    • Research Types
      • Fractal (Blue)
      • Momentum (Purple)
      • Sticky (Vibrant Green)
      • Mystery (?)
    • General <emph>
    • Italics
    • Small (for quiet bots)
    • Large (for loud bots)
    • Shaky
    • Danger (Red)
    • Success (Light Green)

    so

    • <i>Italic</>> (General emphasis)
    • <b>Bold</b> (Important text)
    • <f>Fractal</>
    • <mo>Momentum</>
    • <s>Sticky</>
    • <my>Mystery</>
    • <small>Small Text</>
    • <big>Big Text</>
    • <danger>Danger text</>
    • <success>Success text</>
    • <shake>Shaky text</>
    • <n>Normal text</> (usually don’t need to call this)

Multi-entry test


We could do the Civ 6 cloudy background trick on the undiscovered variants.

Example Scan Data

50%

Initial Observations

Lorem ipsum[1] dolor sit amet, consectetur adipiscing elit. Nulla accumsan, metus ultrices eleifend gravida, nulla nunc varius lectus, nec rutrum justo nibh eu lectus. Ut vulputate semper dui. Fusce erat odio, sollicitudin vel erat vel, interdum mattis neque. Subscript works as well!

Discovery 1

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque risus mi, tempus quis placerat ut, porta nec nulla. Vestibulum rhoncus ac ex sit amet fringilla. Nullam gravida purus diam, et dictum felis venenatis efficitur. Aenean ac eleifend lacus, in mollis lectus. Donec sodales, arcu et sollicitudin porttitor, tortor urna tempor ligula, id porttitor mi magna a neque. Donec dui urna, vehicula et sem eget, facilisis sodales sem.

???

I'll need to scan more variants of this subject to gain a better understanding.

???

I'll need to scan more variants of this subject to gain a better understanding.

Discovery 4

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque risus mi, tempus quis placerat ut, porta nec nulla. Vestibulum rhoncus ac ex sit amet fringilla. Nullam gravida purus diam, et dictum felis venenatis efficitur. Aenean ac eleifend lacus, in mollis lectus. Donec sodales, arcu et sollicitudin porttitor, tortor urna tempor ligula, id porttitor mi magna a neque. Donec dui urna, vehicula et sem eget, facilisis sodales sem.