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 GameObject | GetObjectToSelect (int slotIndex=0) |
Gets the linked Unity UI GameObject associated with this element. More... | |
override RectTransform | GetRectTransform (int _slot) |
Gets the boundary of the element, or a slot within it. More... | |
override void | SetUIInteractableState (bool state) |
Sets the interactive state of any linked Unity UI gameobjects. More... | |
override void | ShowGUI (Menu menu) |
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 | HideAllUISlots () |
override string | GetHotspotLabelOverride (int _slot, int _language) |
Gets a string that overrides the default 'hotspot label'. 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 void | RecalculateSize (MenuSource source) |
Recalculates the element's size. This should be called whenever a Menu's shape is changed. More... | |
void | SetOutput () |
override string | GetLabel (int i, int languageNumber) |
Gets the display text of the element, or a slot within it. More... | |
override bool | IsSelectedByEventSystem (int slotIndex) |
Checks if the element is selected by Unity UI's EventSystem (if the Menu is Unity UI-based). More... | |
override bool | IsSelectableInteractable (int slotIndex) |
Checks if the element's linked Selectable is currently Interactable (if the Menu is Unity UI-based). More... | |
InvInstance | GetInstance (int i) |
Gets the InvInstance displayed in a specific slot. More... | |
InvItem | GetItem (int i) |
override bool | ProcessClick (AC.Menu _menu, int _slot, MouseState _mouseState) |
Performs what should happen when the element is clicked on. More... | |
int | GetItemSlot (int itemID) |
Gets the slot index number that a given InvItem (inventory item) appears in. More... | |
int | GetItemSlot (InvInstance invInstance) |
Gets the slot index number that a given InvItem (inventory item) appears in. 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 | ProcessContinuousClick (AC.Menu _menu, MouseState _mouseState) |
Performs what should happen when the element is clicked on continuously. 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... | |
virtual void | OverrideLabel (string newLabel, int _lineID=-1) |
void | UpdateLabel (int languageNumber) |
void | ShowGUIStart (Menu menu) |
virtual bool | CheckConvertGlobalVariableToLocal (int oldGlobalID, int newLocalID) |
Checks if the Element makes references from a given global variable to a given local variable More... | |
virtual int | GetVariableReferences (int varID) |
Gets the number of references the MenuElement makes to a global variable More... | |
virtual int | UpdateVariableReferences (int oldVarID, int newVarID) |
Updates references the MenuElement makes to a global variable 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... | |
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 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... | |
virtual void | OnMenuTurnOn (Menu menu) |
Called whenever the Menu this is attached to is turned on. More... | |
string | GetVisibilitySaveData () |
override string | ToString () |
Public Attributes | |
UISlot[] | uiSlots |
TextEffects | textEffects |
float | outlineSize = 2f |
Color | effectColour = Color.black |
CraftingElementType | craftingType = CraftingElementType.Ingredients |
ConversationDisplayType | displayType = ConversationDisplayType.IconOnly |
UIHideStyle | uiHideStyle = UIHideStyle.DisableObject |
ActionListAsset | actionListOnWrongIngredients |
LinkUIGraphic | linkUIGraphic = LinkUIGraphic.ImageComponent |
bool | autoCreate = true |
InventoryItemCountDisplay | inventoryItemCountDisplay = InventoryItemCountDisplay.OnlyIfMultiple |
ContainerSelectMode | containerSelectMode = ContainerSelectMode.MoveToInventoryAndSelect |
bool | preventDefaultClicks = false |
bool | limitToCategory |
List< int > | categoryIDs = new List<int> () |
string | linkedIngredients = "" |
Texture2D | emptySlotTexture = null |
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 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) |
virtual string | GetLabelToTranslate () |
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 | |
List< InvInstance > | InvInstances [get] |
Recipe | ActiveRecipe [get] |
InvCollection?? | IngredientsInvCollection [get] |
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 stores multiple inventory items to be combined to create new ones.
|
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 a string that overrides the default 'hotspot label'.
_slot | The index number of the slot to get an override label for |
_language | The index number of the language to display text in |
Reimplemented from AC.MenuElement.
InvInstance AC.MenuCrafting.GetInstance | ( | int | i | ) |
Gets the InvInstance displayed in a specific slot.
i | The index number of the slot |
int AC.MenuCrafting.GetItemSlot | ( | int | itemID | ) |
int AC.MenuCrafting.GetItemSlot | ( | InvInstance | invInstance | ) |
|
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.
|
virtual |
Gets the linked Unity UI GameObject associated with this element.
slotIndex | The slot index, if the element has multiple slots |
Reimplemented from AC.MenuElement.
|
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.
|
virtual |
Hides all linked Unity UI GameObjects associated with the element.
Reimplemented from AC.MenuElement.
|
virtual |
Checks if the element's linked Selectable is currently Interactable (if the Menu is Unity UI-based).
slotIndex | The element's slot index, if it has multiple slots |
Reimplemented from AC.MenuElement.
|
virtual |
Checks if the element is selected by Unity UI's EventSystem (if the Menu is Unity UI-based).
slotIndex | The element's slot index, if it has multiple slots |
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 |
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 |
Performs what should happen when the element is clicked on.
_menu | The element's parent Menu |
_slot | The index number of the slot that was clicked on |
_mouseState | The state of the mouse button |
Reimplemented from AC.MenuElement.
|
virtual |
Recalculates the element's size. This should be called whenever a Menu's shape is changed.
source | How the parent Menu is displayed (AdventureCreator, UnityUiPrefab, UnityUiInScene) |
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.MenuCrafting.SetOutput | ( | ) |
|
virtual |
Sets the interactive state of any linked Unity UI gameobjects.
state | If True, linked UI gameobjects will be made interactive. If False, they will be made non-interactive |
Reimplemented from AC.MenuElement.
ActionListAsset AC.MenuCrafting.actionListOnWrongIngredients |
If craftingType = CraftingElementType.Output, the ActionList to run if a crafting attempt is made but no succesful recipe is possible. This only works if crafting is performed manually via the Inventory: Crafting Action.
bool AC.MenuCrafting.autoCreate = true |
If True, and craftingType = CraftingElementYpe.Output, then outputs will appear automatically when the correct ingredients are used. If False, then the player will have to run the "Inventory: Crafting" Action as an additional step.
List<int> AC.MenuCrafting.categoryIDs = new List<int> () |
The category IDs to limit the display of inventory items by, if limitToCategory = True
ContainerSelectMode AC.MenuCrafting.containerSelectMode = ContainerSelectMode.MoveToInventoryAndSelect |
If craftingType = CraftingElementType.Ingredients, what happens to items when they are removed from the container
CraftingElementType AC.MenuCrafting.craftingType = CraftingElementType.Ingredients |
What part of the crafting process this element is used for (Ingredients, Output)
ConversationDisplayType AC.MenuCrafting.displayType = ConversationDisplayType.IconOnly |
How items are displayed (IconOnly, TextOnly, IconAndText)
Color AC.MenuCrafting.effectColour = Color.black |
The outline colour
Texture2D AC.MenuCrafting.emptySlotTexture = null |
The texture to display when a slot is empty
InventoryItemCountDisplay AC.MenuCrafting.inventoryItemCountDisplay = InventoryItemCountDisplay.OnlyIfMultiple |
How the item count is displayed
bool AC.MenuCrafting.limitToCategory |
If True, only inventory items (InvItem) with a specific category will be allowed
string AC.MenuCrafting.linkedIngredients = "" |
The Crafting element of type 'Ingredients' that this is linked to, if craftingType = CraftingElementType.Output. If blank, it will be auto-set to the first-found Ingredient box in the same menu
LinkUIGraphic AC.MenuCrafting.linkUIGraphic = LinkUIGraphic.ImageComponent |
What Image component the Element's Graphics should be linked to (ImageComponent, ButtonTargetGraphic)
float AC.MenuCrafting.outlineSize = 2f |
The outline thickness, if textEffects != TextEffects.None
bool AC.MenuCrafting.preventDefaultClicks = false |
If craftingType = CraftingElementType.Output, default click behaiour is disabled
TextEffects AC.MenuCrafting.textEffects |
The special FX applied to the text (None, Outline, Shadow, OutlineAndShadow)
UIHideStyle AC.MenuCrafting.uiHideStyle = UIHideStyle.DisableObject |
The method by which this element (or slots within it) are hidden from view when made invisible (DisableObject, ClearContent)
UISlot [] AC.MenuCrafting.uiSlots |
A List of UISlot classes that reference the linked Unity UI GameObjects (Unity UI Menus only)
|
get |
The List of inventory item instances that are currently on display