Search Results for

    Show / Hide Table of Contents

    Class ParticleUIHandler

    Controls the particle panel.

    Inheritance
    object
    ParticleUIHandler
    Namespace: AS2.UI
    Assembly: .dll
    Syntax
    public class ParticleUIHandler : MonoBehaviour

    Fields

    | Edit this page View Source

    attributeNameToIParticleAttribute

    Declaration
    private Dictionary<string, IParticleAttribute> attributeNameToIParticleAttribute
    Field Value
    Type Description
    Dictionary<string, IParticleAttribute>
    | Edit this page View Source

    button_color_active

    Declaration
    public Color button_color_active
    Field Value
    Type Description
    Color
    | Edit this page View Source

    button_color_default

    Declaration
    public Color button_color_default
    Field Value
    Type Description
    Color
    | Edit this page View Source

    button_rootParticle

    Declaration
    public Button button_rootParticle
    Field Value
    Type Description
    Button
    | Edit this page View Source

    canvasGroup_particlePanel

    Declaration
    private CanvasGroup canvasGroup_particlePanel
    Field Value
    Type Description
    CanvasGroup
    | Edit this page View Source

    go_attributeParent

    Declaration
    public GameObject go_attributeParent
    Field Value
    Type Description
    GameObject
    | Edit this page View Source

    go_attributeRandomizationParent

    Declaration
    public GameObject go_attributeRandomizationParent
    Field Value
    Type Description
    GameObject
    | Edit this page View Source

    go_contentParent

    Declaration
    public GameObject go_contentParent
    Field Value
    Type Description
    GameObject
    | Edit this page View Source

    go_particlePanel

    Declaration
    public GameObject go_particlePanel
    Field Value
    Type Description
    GameObject
    | Edit this page View Source

    headerText

    Declaration
    private TMPro.TextMeshProUGUI headerText
    Field Value
    Type Description
    TextMeshProUGUI
    | Edit this page View Source

    image_rootParticle

    Declaration
    private Image image_rootParticle
    Field Value
    Type Description
    Image
    | Edit this page View Source

    instance

    Declaration
    public static ParticleUIHandler instance
    Field Value
    Type Description
    ParticleUIHandler
    | Edit this page View Source

    particle

    Declaration
    private IParticleState particle
    Field Value
    Type Description
    IParticleState
    | Edit this page View Source

    settings

    Declaration
    private Dictionary<string, UISetting> settings
    Field Value
    Type Description
    Dictionary<string, UISetting>
    | Edit this page View Source

    settings_randomization

    Declaration
    private Dictionary<string, GameObject> settings_randomization
    Field Value
    Type Description
    Dictionary<string, GameObject>
    | Edit this page View Source

    sim

    Declaration
    private AmoebotSimulator sim
    Field Value
    Type Description
    AmoebotSimulator

    Methods

    | Edit this page View Source

    AddAttribute(IParticleAttribute)

    Adds a particle attribute to the particle panel.

    Declaration
    public void AddAttribute(IParticleAttribute particleAttribute)
    Parameters
    Type Name Description
    IParticleAttribute particleAttribute

    The attribute to be added.

    | Edit this page View Source

    AddAttributes_ChiralityAndCompassDir(IParticleState, bool)

    Adds the chirality and compass dir attributes to the particle panel attributes. These attributes are contained in all possible particles.

    Declaration
    public void AddAttributes_ChiralityAndCompassDir(IParticleState p, bool initMode)
    Parameters
    Type Name Description
    IParticleState p

    The selected particle.

    bool initMode

    Indicates whether or not the system is in Init Mode.

    | Edit this page View Source

    AddStatusInfoButtons(IParticleState)

    Adds buttons for calling the current algorithm's status info methods, in case it has defined any.

    Declaration
    private void AddStatusInfoButtons(IParticleState p)
    Parameters
    Type Name Description
    IParticleState p

    The currently selected particle.

    | Edit this page View Source

    AttributeChangeValid()

    Returns true if the attribute is allowed to be changed. The particle panel must be active and the system has to be in the latest round while being paused to do so.

    Declaration
    private bool AttributeChangeValid()
    Returns
    Type Description
    bool
    | Edit this page View Source

    AttributeClicked(string)

    Called when an attribute has been clicked. Opens the world space UI overlay which shows this attribute's state for all particles.

    Declaration
    public void AttributeClicked(string name)
    Parameters
    Type Name Description
    string name

    The name of the clicked attribute.

    | Edit this page View Source

    ButtonPressed_Randomize(string, bool)

    Callback for when a randomization button has been pressed. Gives the associated attribute a random value on either just the selected particle or all particles.

    Declaration
    public void ButtonPressed_Randomize(string attributeName, bool randomizeAll)
    Parameters
    Type Name Description
    string attributeName

    The name of the associated attribute.

    bool randomizeAll

    Indicates whether all particles should get a random value for this attribute.

    | Edit this page View Source

    ButtonPressed_RootParticle()

    Called when the root particle button has been pressed. Sets the current particle as root particle.

    Declaration
    public void ButtonPressed_RootParticle()
    | Edit this page View Source

    ClearPanel()

    Clears the particle panel. Removes all attributes and texts after the delimiter, also clears all internally stored attributes.

    Declaration
    public void ClearPanel()
    | Edit this page View Source

    Close()

    Closes the particle panel.

    Declaration
    public void Close()
    | Edit this page View Source

    GetShownParticle()

    Returns the currently shown particle in the panel. Before usage, please check if the panel is open and only use this method if this is the case.

    Declaration
    public IParticleState GetShownParticle()
    Returns
    Type Description
    IParticleState

    The particle currently associated to the panel.

    | Edit this page View Source

    InitRandomizationGameObject(GameObject, string)

    Adds listeners to the given randomization button panel.

    Declaration
    public void InitRandomizationGameObject(GameObject dicePanel, string attributeName)
    Parameters
    Type Name Description
    GameObject dicePanel

    The panel holding two randomization buttons, one for setting a single random value and one for setting all random values.

    string attributeName

    The name of the attribute affected by the randomization.

    | Edit this page View Source

    IsOpen()

    Checks if the particle panel is open.

    Declaration
    public bool IsOpen()
    Returns
    Type Description
    bool

    true if and only if the panel is open, indicated by its alpha value being 1 (i.e. the panel is not transparent).

    | Edit this page View Source

    LockAttributes()

    Locks the editing of the attributes.

    Declaration
    public void LockAttributes()
    | Edit this page View Source

    Open(IParticleState)

    Opens the particle panel for the defined particle.

    Declaration
    public void Open(IParticleState p)
    Parameters
    Type Name Description
    IParticleState p

    The particle that should be shown.

    | Edit this page View Source

    RefreshAttribute(IParticleAttribute)

    Updates the specific attribute.

    Declaration
    private void RefreshAttribute(IParticleAttribute particleAttribute)
    Parameters
    Type Name Description
    IParticleAttribute particleAttribute

    The attribute to be refreshed.

    | Edit this page View Source

    RefreshAttributes_ChiralityAndCompassDir()

    Updates chirality and compass dir.

    Declaration
    private void RefreshAttributes_ChiralityAndCompassDir()
    | Edit this page View Source

    RefreshHeader()

    Updates the header (position, expansion and anchor information).

    Declaration
    private void RefreshHeader()
    | Edit this page View Source

    RefreshParticlePanel()

    Updates the values in the particle panel when shown. Helpful when values have changed (e.g. after a round).

    Declaration
    private void RefreshParticlePanel()
    | Edit this page View Source

    ReinitParticlePanel(IParticleState, bool)

    Internal method. Reopens the particle panel with the specified particle. Called by the Open(..) method.

    Declaration
    private void ReinitParticlePanel(IParticleState p, bool initMode)
    Parameters
    Type Name Description
    IParticleState p

    The particle for which the panel should be initialized.

    bool initMode

    Indicates whether or not the system is in Init Mode.

    | Edit this page View Source

    SettingChanged_Dropdown(string, string)

    Called when one attribute has been changed by the user. Forwards this to the particle system and refreshes the relevant UI.

    Declaration
    private void SettingChanged_Dropdown(string name, string value)
    Parameters
    Type Name Description
    string name

    The name of the attribute.

    string value
    | Edit this page View Source

    SettingChanged_Text(string, string)

    Called when one attribute has been changed by the user. Forwards this to the particle system and refreshes the relevant UI.

    Declaration
    private void SettingChanged_Text(string name, string text)
    Parameters
    Type Name Description
    string name

    The name of the attribute.

    string text

    The new value of the attribute.

    | Edit this page View Source

    SettingChanged_Toggle(string, bool)

    Called when one attribute has been changed by the user. Forwards this to the particle system and refreshes the relevant UI.

    Declaration
    private void SettingChanged_Toggle(string name, bool isOn)
    Parameters
    Type Name Description
    string name

    The name of the attribute.

    bool isOn
    | Edit this page View Source

    SettingChanged_Value(string, float)

    Called when one attribute has been changed by the user. Forwards this to the particle system and refreshes the relevant UI.

    Declaration
    private void SettingChanged_Value(string name, float value)
    Parameters
    Type Name Description
    string name

    The name of the attribute.

    float value

    The new value of the attribute.

    | Edit this page View Source

    SettingHeldDown(string, float)

    Called when a particle attribute has been clicked and held for some time. This should take the value of the attribute and set it at all other particles.

    Declaration
    private void SettingHeldDown(string name, float duration)
    Parameters
    Type Name Description
    string name

    The name of the attribute.

    float duration

    The duration for which it was held down.

    | Edit this page View Source

    SimState_RoundChanged()

    Notifies the particle panel that the round has been changed, so it can refresh.

    Declaration
    public void SimState_RoundChanged()
    | Edit this page View Source

    SimState_RunningToggled(bool)

    Notifies the particle panel that the system is running/not running. Locks or unlocks the particle attributes, so that changes during runtime are not possible.

    Declaration
    public void SimState_RunningToggled(bool running)
    Parameters
    Type Name Description
    bool running
    | Edit this page View Source

    Start()

    Declaration
    private void Start()
    | Edit this page View Source

    UnlockAttributes()

    Unlocks the editing of the attributes.

    Declaration
    public void UnlockAttributes()
    | Edit this page View Source

    UpdateUI()

    Called every frame. Used for dynamic updates of the visual interface.

    Declaration
    public void UpdateUI()
    • Edit this page
    • View Source
    In this article
    Back to top AmoebotSim 2.0 Documentation v1.11
    Copyright © 2025 AmoebotSim 2.0 Authors
    Generated by DocFX