class MAGES::Analytics::Editor::BaseAnalyticsStateMachine

Overview

The base state machine for the analytics. More…

class BaseAnalyticsStateMachine
{
public:
    // properties

    string SelectedSceneGraphData;

    // methods

    BaseAnalyticsStateMachine(string selectedSceneGraphData);
    virtual void State0(ScrollView parent);
    virtual void State1(ScrollView parent, Action onValueChanged, bool reset);
    virtual void State2(ScrollView parent, Action onValueChanged, bool reset);

    VisualElement CreateExistingItemButton(
        AnalyticsScriptableObject so,
        string assetName,
        AnalyticsTypes.Type analyticsType,
        ScrollView parent,
        string buttonText,
        Type entryType,
        ScrollView existingItemsView,
        List> items,
        bool allTypesMode
    );
};

// direct descendants

class ErrorsStateMachine;
class EventsStateMachine;
class ObjectivesStateMachine;

Detailed Documentation

The base state machine for the analytics.

Properties

string SelectedSceneGraphData

Gets or sets the sceneGraphData name of the currently selected bundle.

Methods

BaseAnalyticsStateMachine(string selectedSceneGraphData)

Initializes a new instance of the BaseAnalyticsStateMachine class.

Parameters:

selectedSceneGraphData

The name of the selected scene graph data.

virtual void State0(ScrollView parent)

The first state of the state machine.

Parameters:

parent

The parent UI element.

virtual void State1(ScrollView parent, Action onValueChanged, bool reset)

The second state of the state machine.

Parameters:

parent

The parent UI element.

onValueChanged

Lambda to be called when the value changes.

reset

Whether or not to reset the parent.

virtual void State2(ScrollView parent, Action onValueChanged, bool reset)

The third state of the state machine.

Parameters:

parent

The parent UI element.

onValueChanged

Lambda to be called when the value changes.

reset

Whether or not to reset the parent.

VisualElement CreateExistingItemButton(
    AnalyticsScriptableObject so,
    string assetName,
    AnalyticsTypes.Type analyticsType,
    ScrollView parent,
    string buttonText,
    Type entryType,
    ScrollView existingItemsView,
    List> items,
    bool allTypesMode
)

Creates a new button for the existing items view.

Parameters:

so

The scriptable object associated with this item.

assetName

The asset name of the scriptable object.

analyticsType

The analytics type (error or objective).

parent

The parent element of this tab.

buttonText

The text of the button.

entryType

The type of the selected error.

existingItemsView

The scroll view containing all the existing items(buttons).

items

The items that are currently displayed in the existing item scroll view.

allTypesMode

Whether or not the all types option is selected from the dropdown.

Returns:

The created button.