Search Results for

    Show / Hide Table of Contents

    Namespace AS2

    Classes

    AlgorithmGenerator

    Algorithm generation utility to be run in the Editor.

    AlgorithmGeneratorEditor

    Custom Unity Editor Inspector panel for the algorithm generation utility.

    AlgorithmManager

    Singleton class that uses reflection to manage all particle algorithms, providing an interface to access their names, generation methods and parameters.

    AlgorithmManager.AlgorithmInfo

    Represents a single particle algorithm and contains all information needed to create particles for it.

    AmoebotFunctions

    A collection of constants and utility methods for geometric calculations.

    AmoebotSimulator

    The main class of the entire simulator. Manages the particle system and the render system and provides the high-level interface for controlling the simulation. This class triggers the main render call in each frame and the round simulation in each fixed update.

    CameraUtils

    Static class providing various camera utility functions.

    ColorData

    Config

    The static config utility for accessing the configuration data at runtime.

    ConfigData

    Container for all settings that can be modified in the configuration file. This class is serializable, so it can be translated to and from JSON easily.

    ConfigData.AdditionalConfiguration

    Container for all configuration settings that cannot be changed in the Settings Panel at runtime.

    ConfigData.SettingsMenu

    Container for all configuration settings that can also be changed in the Settings Panel at runtime.

    ConfigurationEditor

    Script for the configuration editor GameObject. The custom Inspector content is implemented by the ConfigurationEditorBehavior.

    ConfigurationEditorBehavior

    Custom editor implementation for the ConfigurationEditor.

    Constants

    Easily accessible constant symbols for more readable code.

    DirectionHelpers

    Defines extension methods and helpers for the Direction enum.

    EventDatabase

    FileBrowser

    Utility for opening file dialogs used to save and load files of several types. Uses the StandaloneFileBrowser plugin.

    This class saves the last used directory separately for each file type.

    FileBrowser.FileTypeHandler

    Helper class encapsulating all data and functionality needed to handle one file type.

    FilePaths

    InitModeSaveData

    Serializable representation of UI data in Initialization Mode.

    InitParticleSaveData

    Serializable representation of an InitializationParticle's state.

    Attributes are stored separately by type.

    InitRandomWithHoles

    Standard initialization method that generates a connected system of contracted particles with random holes. See GenerateRandomWithHoles(int, float, Chirality, Compass).

    Initialization

    Contains constants for the initialization mode.

    InitializationMethod

    Base class for algorithms that initialize a particle system. Inherit from this class and implement a method called Generate to create an initialization algorithm.

    An initialization algorithm creates a system of InitializationParticles, which is used as a template to initialize the system of Particles in which the simulation is carried out.

    InitializationMethod.DistanceSortedVectorList

    InitializationMethodManager

    Singleton class that uses reflection to manage all initialization methods, providing an interface to access their names and parameters and to execute them to initialize the system.

    InitializationMethodManager.AlgorithmInfo

    Represents a single generation method and contains all information needed to initialize a system with it.

    InitializationStateSaveData

    Serializable representation of the system state in Initialization Mode used for saving and loading.

    Log

    Custom logging utility that displays log messages in Unity's debug log and in the simulator's log panel. Should be preferred over UnityEngine.Debug.

    MaterialDatabase

    Contains references to all of the materials used in the simulation environment. All of the materials are loaded when the application starts.

    MessageSaveData

    Container for serializing arbitrary Message objects.

    Because Unity's JSON deserializer requires the types of the objects to parse, which are not known when reading from a save file, all data stored in a Message is serialized by name, type and a string representation of its value. With the name of the Message subtype, reflection is then used to restore the original object. See CreateFromSaveData(MessageSaveData) for details.

    MouseController

    ParticleAttributeEnumSaveData

    Specialized container for serializing particle attributes for enum values.

    ParticleAttributePCSaveData

    Specialized container for serializing particle attributes for pin configurations.

    ParticleAttributeSaveDataBase

    Container base for serializing particle attributes.

    ParticleAttributeSaveData<T>

    Container for serializing the simplest kind of particle attributes, ParticleAttributeWithHistory<T>.

    ParticleObjectSaveData

    ParticleStateSaveData

    Container for all data a Particle requires to save and load its complete state.

    PinConfigurationHistorySaveData

    Container for serializing ValueHistoryPinConfiguration objects.

    PinConfigurationSaveData

    Compressed representation of pin configuration data. Stores all information stored in a SysPinConfiguration instance except the particle reference, particle-specific information and state flags.

    This class should be used for storing pin configurations in attributes and writing them to save files. The class overloads the equality operator to compare instances by their content.

    Note: This way of representing the pin configuration data is highly compressed and does not contain all information necessary to construct a pin configuration. The data must be interpreted in the context of a particle's expansion direction, chirality and compass orientation in order to reconstruct the original pin configuration.

    RandomNumberGenerator

    Simple wrapper around a random number generator that can be reset easily.

    SaveStateUtility

    Utility for saving and loading simulation states as well as particle configuration templates.

    A simulation state comprises the entire history of all particles in the system. It is stored in a SimulationStateSaveData object, which can be serialized and deserialized by Unity's JsonUtility.

    Similarly, InitModeSaveData objects represent the system state in Initialization Mode.

    SimulationStateSaveData

    Container for all data a ParticleSystem requires to save and load its complete state.

    StatusInfoAttribute

    A method attribute identifying a static method as a status info method. Static methods of algorithm classes that are marked with this attribute will be represented by buttons in the Particle Panel in Simulation Mode. The button belonging to each method will be marked with the given name.

    TypeConverter

    Utility class for converting strings to various types.

    UIDatabase

    Database of UI element prefabs used to assemble UI content dynamically.

    ValueHistorySaveData<T>

    Container for saving and loading ValueHistory<T> objects of serializable types.

    Structs

    CellRect

    CellRect.CellRect_Iterator

    MinMax

    TypeConverter.ConversionResult

    Result of the conversion. Check conversionSuccessful to see if it worked.

    Enums

    Direction

    Constants for the 6 cardinal directions as well as the 6 directions perpendicular to them. The directions are numbered 0,...,11 with direction E being 0 and direction values increasing in counter-clockwise direction.

    The NONE value represents no direction. If it is used in any calculation, the result is undefined.

    See DirectionHelpers for additional helper functions.

    Initialization.Chirality

    Particle chirality settings including a random setting.

    Initialization.Compass

    Particle compass directions including a random setting.

    PSPlacementMode

    Different modes of placing partition sets within a particle.

    In this article
    Back to top AmoebotSim 2.0 Documentation v1.11
    Copyright © 2025 AmoebotSim 2.0 Authors
    Generated by DocFX