diff --git a/README.md b/README.md index a9c964f..33a45d5 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # RueI [![build and unit tests](https://github.com/Ruemena/RueI/actions/workflows/main.yml/badge.svg)](https://github.com/Ruemena/RueI/actions/workflows/main.yml) -RueI is a hint framework for scp:sl +RueI is a hint framework, designed to be the definitive way to display multiple hints at once docs are available [here](https://ruemena.github.io/RueI/). diff --git a/markdown/basic-concepts.md b/markdown/basic-concepts.md new file mode 100644 index 0000000..78ca8d1 --- /dev/null +++ b/markdown/basic-concepts.md @@ -0,0 +1,13 @@ +# Basic Concepts +this serves as a basic introduction to RueI concepts and functionality. + +the most basic components of RueI are [Elements](../api/RueI.Elements.Element.html), which act like individual hints with their own content. elements are contained within [DisplayBases](../api/RueI.Displays.DisplayBase.html). elements are not tied to a player (so you can have an instance of an element in multiple displays at once), but displays are. + +finally, every ReferenceHub (player) in RueI has an associated [DisplayCore](../api/RueI.Displays.DisplayCore.html), which manages all of the displays for a player and combines the elements in them to one hint. every DisplayCore also has a [Scheduler](../api/RueI.Displays.Scheduling.Scheduler), enabling synchronized delayed updates. + +there are two element types that RueI provides out of the box: + +- [SetElement](../api/RueI.Elements.SetElement.html): a very simple element with settable content +- [DynamicElement](../api/RueI.Elements.DynamicElement.html): an element that, when the display is updated/refreshed, gets its content by calling a function. + +every time you update something in RueI, such as the content of an element, you must update the DisplayCore by calling [DisplayCore.Update()](../api/RueI.Displays.DisplayCore.html#RueI_Displays_DisplayCore_Update_System_Int32_). you can get the DisplayCore for a player by calling [DisplayCore.Get(ReferenceHub)](../api/RueI.Displays.DisplayCore.html#RueI_Displays_DisplayCore_Get_ReferenceHub_). while it's easy to forget to do this, this is unfortunately necessary. diff --git a/markdown/toc.yml b/markdown/toc.yml index 18a5508..7a1c2d8 100644 --- a/markdown/toc.yml +++ b/markdown/toc.yml @@ -2,9 +2,11 @@ href: introduction.md - name: Getting Started href: getting-started.md +- name: Basic Concepts + href: basic-concepts.md - name: Using the Scheduler href: scheduling.md - name: HintBuilding Extensions href: hintbuilding.md - name: eMEC Guide - href: eMec.md \ No newline at end of file + href: eMec.md