Adventure Creator
1.79.1
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 | 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... | |
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 | 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 | SetSpeech (Speech _speech) |
Assigns the element to a specific Speech line. More... | |
override void | ClearSpeech () |
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 | OverrideLabel (string newLabel, int _lineID=-1) |
void | UpdateLabelText (int languageNumber=0) |
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... | |
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... | |
Public Member Functions inherited from AC.MenuElement | |
virtual void | Copy (MenuElement _element) |
Copies the values of another MenuElement onto itself. More... | |
virtual void | Initialise (AC.Menu _menu) |
Performs any initialisation that can only be done once the element has been instantiated at runtime. 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... | |
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 bool | ReferencesAsset (ActionListAsset actionListAsset) |
Checks if the Menu makes reference to a particular ActionList asset More... | |
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... | |
virtual bool | CanBeShifted (AC_ShiftInventory shiftType) |
Checks if the element's slots can be shifted in a particular direction. 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 |
TextAnchor | anchor |
TextEffects | textEffects = TextEffects.None |
float | outlineSize = 2f |
Color | effectColour = Color.black |
AC_LabelType | labelType |
int | variableID |
bool | useCharacterColour = false |
bool | autoAdjustHeight = true |
bool | updateIfEmpty = false |
bool | showPendingWhileMovingToHotspot = false |
int | itemPropertyID |
bool | multiplyByItemCount = false |
InventoryPropertyType | inventoryPropertyType |
SelectedObjectiveLabelType | selectedObjectiveLabelType = SelectedObjectiveLabelType.Title |
int | itemSlotNumber |
Public Attributes inherited from AC.MenuElement | |
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 | ShowTextGUI (string apiPrefix) |
override string | GetLabelToTranslate () |
override void | AutoSize () |
Protected Member Functions inherited from AC.MenuElement | |
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) |
void | ClearCache () |
string | TranslateLabel (int languageNumber) |
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) |
Properties | |
InvInstance | OverrideInventoryInstance [set] |
string | label [get, set] |
Properties inherited from AC.MenuElement | |
virtual bool | IsVisible [get, set] |
virtual int | MaxSlotsForOffset [get] |
Menu | ParentMenu [get] |
Additional Inherited Members | |
Protected Attributes inherited from AC.MenuElement | |
bool | isVisible = true |
int | offset = 0 |
Menu | parentMenu |
Rect | relativeRect |
Vector2 | relativePosition |
int | numSlots |
A MenuElement that provides a basic label. The label can be used to display fixed text, or a number of pre-programmed string types, such as the active verb and Hotspot, subtitles, and more. Variable tokens of the form [var:ID] and [localvar:ID] can also be inserted to display the values of global and local variables respectively.
bool AC.MenuLabel.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 |
Clears any speech text on display.
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.
|
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.MenuLabel.GetNumTranslatables | ( | ) |
Gets the maximum number of possible translatable texts.
Implements AC.ITranslatable.
string AC.MenuLabel.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.
string AC.MenuLabel.GetTranslatableString | ( | int | index | ) |
Gets the text to be translated, given its index.
index | The index of the translatable text |
Implements AC.ITranslatable.
int AC.MenuLabel.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.MenuLabel.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.MenuLabel.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 |
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.MenuLabel.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 Element makes reference to a particular GameObject
gameObject | The GameObject to check for |
id | The GameObject's associated ConstantID value |
Reimplemented from AC.MenuElement.
|
virtual |
Assigns the element to a specific Speech line.
_speech | The Speech line to assign the element to |
Reimplemented from AC.MenuElement.
void AC.MenuLabel.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.MenuLabel.UpdateLabelText | ( | int | languageNumber = 0 | ) |
Updates the label's text buffer. This is normally done internally at runtime, but can be called manually to update it in Edit mode.
|
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.
TextAnchor AC.MenuLabel.anchor |
The text alignement
bool AC.MenuLabel.autoAdjustHeight = true |
If True, and sizeType = AC_SizeType.Manual, then the label's height will adjust itself to fit the text within it
Color AC.MenuLabel.effectColour = Color.black |
The outline colour
InventoryPropertyType AC.MenuLabel.inventoryPropertyType |
What kind of item to retrieve properties for, if labelType = AC_LabelType.InventoryProperty (SelectedItem, ItemInInventoryBox, LastClickedItem, MouseOverItem)
int AC.MenuLabel.itemPropertyID |
The ID number of the inventory property to show, if labelType = AC_LabelType.InventoryProperty
int AC.MenuLabel.itemSlotNumber |
The InventoryBox slot number to retrieve properties for, if itemInInventoryBox = ItemInInventoryBox.ItemInSlot
AC_LabelType AC.MenuLabel.labelType |
What kind of text the label displays (Normal, Hotspot, DialogueLine, DialogueSpeaker, GlobalVariable, ActiveSaveProfile, JournalPageNumber, InventoryProperty, DocumentTitle, SelectedObjective)
bool AC.MenuLabel.multiplyByItemCount = false |
If True, and labelType = AC_LabelType.InventoryProperty, then the total property value will be multipled by the count associated with the item
float AC.MenuLabel.outlineSize = 2f |
The outline thickness, if textEffects != TextEffects.None
SelectedObjectiveLabelType AC.MenuLabel.selectedObjectiveLabelType = SelectedObjectiveLabelType.Title |
What Objective text to display, if labelType = AC_LabelType.SelectedObjective
bool AC.MenuLabel.showPendingWhileMovingToHotspot = false |
If True, and labelType = AC_LabelType.Hotspot, then the label will not change while the player is moving towards a Hotspot in order to run an interaction
TextEffects AC.MenuLabel.textEffects = TextEffects.None |
The special FX applied to the text (None, Outline, Shadow, OutlineAndShadow)
Text AC.MenuLabel.uiText |
The Unity UI Text this is linked to (Unity UI Menus only)
bool AC.MenuLabel.updateIfEmpty = false |
If True, and labelType = AC_LabelType.Hotspot, DialogueSpeaker or DialogueLine, then the display text buffer can be empty
bool AC.MenuLabel.useCharacterColour = false |
If True, and labelType = AC_LabelType.DialogueLine, then the displayed subtitle text will use the speaking character's subtitle text colour
int AC.MenuLabel.variableID |
The ID number of the global variable to show (if labelType = AC_LabelType.GlobalVariable)
|
getset |
The display text, if labelType = AC_LabelType.Normal
|
set |
The Inventory instance to rely on if inventoryPropertyType = InventoryPropertyType.CustomScript