![]() |
Adventure Creator
1.76.2
An adventure game toolkit for Unity, by Chris Burton, ICEBOX Studios 2013-2022
|
Public Member Functions | |
override void | Declare () |
override MenuElement | DuplicateSelf (bool fromEditor, bool ignoreUnityUI) |
Creates and returns a new MenuElement that has the same values as itself. More... | |
override void | Initialise (AC.Menu _menu) |
Performs any initialisation that can only be done once the element has been instantiated at runtime. More... | |
override void | LoadUnityUI (AC.Menu _menu, Canvas canvas, bool addEventListeners=true) |
Initialises the linked Unity UI GameObject. More... | |
override RectTransform | GetRectTransform (int _slot) |
Gets the boundary of the element, or a slot within it. More... | |
int | GetCurrentPageNumber () |
Gets the currently-viewed page number. More... | |
int | GetTotalNumberOfPages () |
Gets the total number of pages. More... | |
override void | ShowGUI (Menu menu) |
override bool | CheckConvertGlobalVariableToLocal (int oldGlobalID, int newLocalID) |
Checks if the Element makes references from a given global variable to a given local variable More... | |
override int | GetVariableReferences (int _varID) |
Gets the number of references the MenuElement makes to a global variable More... | |
override int | UpdateVariableReferences (int oldVarID, int newVarID) |
Updates references the MenuElement makes to a global variable More... | |
override bool | ReferencesAsset (ActionListAsset actionListAsset) |
Checks if the Menu makes reference to a particular ActionList asset More... | |
override bool | ReferencesObjectOrID (GameObject gameObject, int id) |
Checks if the Element makes reference to a particular GameObject More... | |
override int | GetSlotIndex (GameObject gameObject) |
Gets the slot index that reference a particular GameObject More... | |
override void | OnMenuTurnOn (Menu menu) |
Called whenever the Menu this is attached to is turned on. More... | |
override void | PreDisplay (int _slot, int languageNumber, bool isActive) |
Performs all calculations necessary to display the element. More... | |
override void | Display (GUIStyle _style, int _slot, float zoom, bool isActive) |
Draws the element using OnGUI. More... | |
override string | GetLabel (int slot, int languageNumber) |
Gets the display text of the element, or a slot within it. More... | |
void | Shift (AC_ShiftInventory shiftType, bool doLoop, int amount) |
Shifts which slots are on display, if the number of slots the element has exceeds the number of slots it can show at once. More... | |
override bool | CanBeShifted (AC_ShiftInventory shiftType) |
Checks if the element's slots can be shifted in a particular direction. More... | |
void | AddPage (JournalPage newPage, bool onlyAddNew, int index=-1) |
Adds a page to the journal. More... | |
void | RemovePage (int index=-1) |
Removes a page from the journal. More... | |
void | RemoveAllPages () |
string | GetTranslatableString (int index) |
Gets the text to be translated, given its index. More... | |
int | GetTranslationID (int index) |
Gets the translation ID of a given text index. More... | |
void | UpdateTranslatableString (int index, string updatedText) |
int | GetNumTranslatables () |
Gets the maximum number of possible translatable texts. More... | |
bool | HasExistingTranslation (int index) |
Checks if a given text index has already been assigned a unique translation ID. More... | |
void | SetTranslationID (int index, int _lineID) |
Sets the translation ID of a given text index More... | |
string | GetOwner (int index) |
Gets the name of the translatable text's owner. In the case of speech text, it is the name of the character. In the case of menu element text, it is the name of the menu element. More... | |
bool | OwnerIsPlayer (int index) |
Checks if the translatable text's owner is a Player. This is necessary for speech lines, since multiple player prefabs can feasibly share the same line. More... | |
AC_TextType | GetTranslationType (int index) |
Gets the translation type of a given text index. More... | |
bool | CanTranslate (int index) |
Checks if a given text index can and should be translated. More... | |
![]() | |
virtual void | Copy (MenuElement _element) |
Copies the values of another MenuElement onto itself. More... | |
virtual bool | ProcessClick (AC.Menu _menu, int _slot, MouseState _mouseState) |
Performs what should happen when the element is clicked on. More... | |
virtual bool | ProcessContinuousClick (AC.Menu _menu, MouseState _mouseState) |
Performs what should happen when the element is clicked on continuously. More... | |
virtual GameObject | GetObjectToSelect (int slotIndex=0) |
Gets the linked Unity UI GameObject associated with this element. More... | |
virtual void | SetSpeech (Speech _speech) |
Assigns the element to a specific Speech line. More... | |
virtual void | ClearSpeech () |
void | UpdateID (int[] idArray) |
Updates the ID number to something unique. More... | |
void | UpdateLabel (int languageNumber) |
virtual bool | IsSelectedByEventSystem (int slotIndex) |
Checks if the element is selected by Unity UI's EventSystem (if the Menu is Unity UI-based). More... | |
virtual bool | IsSelectableInteractable (int slotIndex) |
Checks if the element's linked Selectable is currently Interactable (if the Menu is Unity UI-based). More... | |
void | ShowGUIStart (Menu menu) |
virtual void | HideAllUISlots () |
virtual string | GetHotspotLabelOverride (int _slot, int _language) |
Gets a string that overrides the default 'hotspot label'. More... | |
virtual void | DrawOutline (bool isSelected, AC.Menu _menu) |
Draws an outline around the element. More... | |
Vector2[] | GetSlotCentres (AC.Menu _menu) |
Gets the element's slot centres, as an array of Vector2s. This is used when keyboard-navigating menus More... | |
virtual void | Shift (AC_ShiftInventory shiftType, int amount) |
Shifts which slots are on display, if the number of slots the element has exceeds the number of slots it can show at once. More... | |
Vector2 | GetSize () |
Gets the size of the whole element. More... | |
Vector2 | GetSizeFromCorner () |
Gets the Vector2 from the top-left corner of the parent Menu to the bottom-right corner of the element. More... | |
void | SetSize (Vector2 _size) |
Sets the size of an individual slot. More... | |
int | GetNumSlots () |
Gets the number of display slots the element has. This is not the maximum number of slots that can be shown by shifting - it is the number of slots that are shown at any one time. More... | |
Rect | GetSlotRectRelative (int _slot) |
Gets the boundary of a slot, as a proportion of the screen size. More... | |
virtual void | RecalculateSize (MenuSource source) |
Recalculates the element's size. This should be called whenever a Menu's shape is changed. More... | |
int | GetFontSize () |
Gets the size of the font. More... | |
void | SetPosition (Vector2 _position) |
Sets the element's position. More... | |
void | SetRelativePosition (Vector2 _size) |
void | ResetDragOffset () |
void | SetDragOffset (Vector2 pos, Rect dragRect) |
Offsets an OnGUI MenuElement's position when dragged by a MenuDrag element. More... | |
Vector2 | GetDragStart () |
Gets the drag offset. More... | |
void | AutoSetVisibility () |
virtual void | SetUIInteractableState (bool state) |
Sets the interactive state of any linked Unity UI gameobjects. More... | |
virtual AudioClip | GetHoverSound (int slot) |
Gets the hover sound for the element slot. More... | |
int | GetOffset () |
Gets the amount by which the slots have been offset, if the number that can be shown exceeds the number that can be display at once. More... | |
void | SetOffset (int value) |
Sets the amount by which the slots have been offset, if the number that can be shown exceeds the number that can be display at once. More... | |
string | GetVisibilitySaveData () |
override string | ToString () |
Public Attributes | |
Text | uiText |
List< JournalPage > | pages = new List<JournalPage>() |
int | numPages = 1 |
int | showPage = 1 |
bool | startFromPage = false |
TextAnchor | anchor |
TextEffects | textEffects |
float | outlineSize = 2f |
Color | effectColour = Color.black |
ActionListAsset | actionListOnAddPage |
JournalType | journalType = JournalType.NewJournal |
int | pageOffset |
string | otherJournalTitle |
![]() | |
int | ID |
string | title = "Element" |
Vector2 | slotSize |
AC_SizeType | sizeType |
AC_PositionType2 | positionType |
float | slotSpacing = 0f |
int | lineID = -1 |
string | alternativeInputButton = "" |
Font | font |
float | fontScaleFactor = 60f |
Color | fontColor = Color.white |
Color | fontHighlightColor = Color.white |
bool | isClickable |
ElementOrientation | orientation = ElementOrientation.Vertical |
int | gridWidth = 3 |
Texture2D | backgroundTexture |
bool | singleSlotBackgrounds = false |
Texture2D | highlightTexture |
AudioClip | hoverSound |
AudioClip | clickSound |
bool | changeCursor = false |
int | cursorID = 0 |
int | linkedUiID |
float | maxAutoWidthFactor = 0.5f |
Protected Member Functions | |
override void | AutoSize () |
![]() | |
void | CreateUIEvent (UnityEngine.UI.Button uiButton, AC.Menu _menu, UIPointerState uiPointerState=UIPointerState.PointerClick, int _slotIndex=0, bool liveState=true) |
void | CreateHoverSoundHandler (Selectable selectable, AC.Menu _menu, int _slotIndex=0) |
virtual void | ProcessClickUI (AC.Menu _menu, int _slot, MouseState _mouseState) |
virtual string | GetLabelToTranslate () |
void | ClearCache () |
string | TranslateLabel (int languageNumber) |
virtual void | ShowTextGUI (string apiPrefix) |
virtual void | ShowTextureGUI (string apiPrefix) |
void | EndGUI (string apiPrefix) |
void | ShowClipHelp () |
T | LinkedUiGUI< T > (T field, string label, MenuSource source, string tooltip="") |
UISlot[] | ResizeUISlots (UISlot[] uiSlots, int maxSlots) |
void | ChangeCursorGUI (Menu menu) |
void | LimitUISlotVisibility (UISlot[] uiSlots, int _numSlots, UIHideStyle uiHideStyle, Texture emptyTexture=null) |
void | LimitUISlotVisibility (UISlot[] uiSlots, int _numSlots, UISelectableHideStyle uiHideStyle) |
Rect | ZoomRect (Rect rect, float zoom) |
void | LimitOffset () |
void | Shift (AC_ShiftInventory shiftType, int maxSlots, int arraySize, int amount) |
void | SetAbsoluteSize (Vector2 _size) |
void | AutoSize (GUIContent content) |
void | LinkUIElement< T > (Canvas canvas, ref T existingField) |
void | UpdateUISelectable< T > (T field, UISelectableHideStyle uiSelectableHideStyle) |
void | UpdateUIElement< T > (T field) |
void | ClearSpriteCache (UISlot[] uiSlots) |
void | SetUISlotsInteractableState (UISlot[] uiSlots, bool state) |
Additional Inherited Members | |
![]() | |
bool | isVisible = true |
int | offset = 0 |
Menu | parentMenu |
Rect | relativeRect |
Vector2 | relativePosition |
int | numSlots |
![]() | |
virtual bool | IsVisible [get, set] |
virtual int | MaxSlotsForOffset [get] |
Menu | ParentMenu [get] |
A MenuElement that provides an array of labels, each one representing a page, that collectively form a bork. "Pages" can be added to the journal mid-game, and changes made to it will be saved in save games.
void AC.MenuJournal.AddPage | ( | JournalPage | newPage, |
bool | onlyAddNew, | ||
int | index = -1 |
||
) |
Adds a page to the journal.
newPage | The page to add |
onlyAddNew | If True, then the page will not be added if its lineID number matches that of any page already in the journal |
index | The index number to insert the page into. A value of -1 will cause it to be added at the end. |
|
virtual |
Checks if the element's slots can be shifted in a particular direction.
shiftType | The direction to shift slots in (Left, Right) |
Reimplemented from AC.MenuElement.
bool AC.MenuJournal.CanTranslate | ( | int | index | ) |
Checks if a given text index can and should be translated.
index | The index of the translatable text |
Implements AC.ITranslatable.
|
virtual |
Checks if the Element makes references from a given global variable to a given local variable
oldGlobalID | The ID number of the old global variable |
newLocalID | The ID number of the new local variable |
Reimplemented from AC.MenuElement.
|
virtual |
Initialises the MenuElement when it is created within MenuManager.
Reimplemented from AC.MenuElement.
|
virtual |
Draws the element using OnGUI.
_style | The GUIStyle to draw with |
_slot | The index number of the slot to display |
zoom | The zoom factor |
isActive | If True, then the element will be drawn as though highlighted |
Reimplemented from AC.MenuElement.
|
virtual |
Creates and returns a new MenuElement that has the same values as itself.
fromEditor | If True, the duplication was done within the Menu Manager and not as part of the gameplay initialisation. |
ignoreUnityUI | If True, variables associated with Unity UI will not be transferred |
Reimplemented from AC.MenuElement.
int AC.MenuJournal.GetCurrentPageNumber | ( | ) |
Gets the currently-viewed page number.
|
virtual |
Gets the display text of the element, or a slot within it.
slot | The index number of the slot to get text for |
languageNumber | The index number of the language number to get the text in |
Reimplemented from AC.MenuElement.
int AC.MenuJournal.GetNumTranslatables | ( | ) |
Gets the maximum number of possible translatable texts.
Implements AC.ITranslatable.
string AC.MenuJournal.GetOwner | ( | int | index | ) |
Gets the name of the translatable text's owner. In the case of speech text, it is the name of the character. In the case of menu element text, it is the name of the menu element.
index | The index of the translatable text |
Implements AC.ITranslatable.
|
virtual |
Gets the boundary of the element, or a slot within it.
_slot | The index number of the slot to get the boundary of |
Reimplemented from AC.MenuElement.
|
virtual |
Gets the slot index that reference a particular GameObject
gameObject | The GameObject to check for |
Reimplemented from AC.MenuElement.
int AC.MenuJournal.GetTotalNumberOfPages | ( | ) |
Gets the total number of pages.
string AC.MenuJournal.GetTranslatableString | ( | int | index | ) |
Gets the text to be translated, given its index.
index | The index of the translatable text |
Implements AC.ITranslatable.
int AC.MenuJournal.GetTranslationID | ( | int | index | ) |
Gets the translation ID of a given text index.
index | The index of the translatable text |
Implements AC.ITranslatable.
AC_TextType AC.MenuJournal.GetTranslationType | ( | int | index | ) |
Gets the translation type of a given text index.
index | The index of the translatable text |
Implements AC.ITranslatable.
|
virtual |
Gets the number of references the MenuElement makes to a global variable
varID | The global variable's ID number |
Reimplemented from AC.MenuElement.
bool AC.MenuJournal.HasExistingTranslation | ( | int | index | ) |
Checks if a given text index has already been assigned a unique translation ID.
index | The index of the translatable text |
Implements AC.ITranslatable.
|
virtual |
Performs any initialisation that can only be done once the element has been instantiated at runtime.
_menu | The Menu that the elemnt is a part of. |
Reimplemented from AC.MenuElement.
|
virtual |
Initialises the linked Unity UI GameObject.
_menu | The element's parent Menu |
canvas | The runtime Canvas associated with the Menu |
addEventListeners | If True, then event listeners should be added to the UI's Interactive component(s) |
Reimplemented from AC.MenuElement.
|
virtual |
Called whenever the Menu this is attached to is turned on.
menu | The Menu this is attached to |
Reimplemented from AC.MenuElement.
bool AC.MenuJournal.OwnerIsPlayer | ( | int | index | ) |
Checks if the translatable text's owner is a Player. This is necessary for speech lines, since multiple player prefabs can feasibly share the same line.
index | The index of the translatable text |
Implements AC.ITranslatable.
|
virtual |
Performs all calculations necessary to display the element.
_slot | The index number of the slot to display |
languageNumber | The index number of the language to display text in |
isActive | If True, then the element will be drawn as though highlighted |
Reimplemented from AC.MenuElement.
|
virtual |
Checks if the Menu makes reference to a particular ActionList asset
actionListAsset | The ActionList to check for |
Reimplemented from AC.MenuElement.
|
virtual |
Checks if the Element makes reference to a particular GameObject
gameObject | The GameObject to check for |
id | The GameObject's associated ConstantID value |
Reimplemented from AC.MenuElement.
void AC.MenuJournal.RemoveAllPages | ( | ) |
Removes all page from the journal.
void AC.MenuJournal.RemovePage | ( | int | index = -1 | ) |
Removes a page from the journal.
index | The page number to remove. A value of -1 will cause the last page to be removed. |
void AC.MenuJournal.SetTranslationID | ( | int | index, |
int | lineID | ||
) |
Sets the translation ID of a given text index
index | The index of the translatable text |
lineID | The new translation ID to assign the translatable text |
Implements AC.ITranslatable.
void AC.MenuJournal.Shift | ( | AC_ShiftInventory | shiftType, |
bool | doLoop, | ||
int | amount | ||
) |
Shifts which slots are on display, if the number of slots the element has exceeds the number of slots it can show at once.
shiftType | The direction to shift pages in (Left, Right) |
doLoop | If True, then shifting right beyond the last page will display the first page, and vice-versa |
amount | The amount to shift pages by |
|
virtual |
Updates references the MenuElement makes to a global variable
varID | The global variable's original ID number |
varID | The global variable's new ID number |
Reimplemented from AC.MenuElement.
ActionListAsset AC.MenuJournal.actionListOnAddPage |
An ActionList to run whenever a new page is added
TextAnchor AC.MenuJournal.anchor |
The text alignment
Color AC.MenuJournal.effectColour = Color.black |
The outline colour
JournalType AC.MenuJournal.journalType = JournalType.NewJournal |
What type of journal this is (NewJournal, DisplayExistingJournal, DisplayActiveDocument)
int AC.MenuJournal.numPages = 1 |
The initial number of pages when the game begins
string AC.MenuJournal.otherJournalTitle |
The name of the Journal element within the same Menu that is used as reference, if journalType = JournalType.DisplayExistingJournal)
float AC.MenuJournal.outlineSize = 2f |
The outline thickness, if textEffects != TextEffects.None
int AC.MenuJournal.pageOffset |
The page offset, if journalType = JournalType.DisplayExistingJournal)
List<JournalPage> AC.MenuJournal.pages = new List<JournalPage>() |
A List of JournalPage instances that make up the pages within
int AC.MenuJournal.showPage = 1 |
The index number of the current page being shown
bool AC.MenuJournal.startFromPage = false |
If True, then the "Preview page" set in the Editor will be the first page open when the game begins
TextEffects AC.MenuJournal.textEffects |
The special FX applied to the text (None, Outline, Shadow, OutlineAndShadow)
Text AC.MenuJournal.uiText |
The Unity UI Text this is linked to (Unity UI Menus only)