• Hello
Search Results for

    Show / Hide Table of Contents

    Class SpawnPolicyBuilder

    Builder class for creating SpawnPolicy instances with specific parameters.

    Inheritance
    System.Object
    SpawnPolicyBuilder
    Namespace: GUPS.EasyPooling.Policy
    Assembly: cs.temp.dll.dll
    Syntax
    public class SpawnPolicyBuilder
    Remarks

    The SpawnPolicyBuilder class provides a fluent interface for constructing SpawnPolicy instances with customizable spawning parameters. It encapsulates the configuration of randomization methods, dimensionality (2D or 3D), spawning shape (circle, sphere, or square), center position, radius, boundaries, initial velocity, and velocity direction.

    The builder pattern allows the step-by-step definition of a spawning policy, providing flexibility and ease of use.

    Constructors

    SpawnPolicyBuilder()

    Initializes a new instance of the SpawnPolicyBuilder class with the UniformRandom randomization method.

    Declaration
    public SpawnPolicyBuilder()

    SpawnPolicyBuilder(IRandom)

    Initializes a new instance of the SpawnPolicyBuilder class with the specified randomization method.

    Declaration
    public SpawnPolicyBuilder(IRandom _Random)
    Parameters
    Type Name Description
    IRandom _Random

    The randomization method to use for spawning.

    Methods

    Build()

    Builds a SpawnPolicy instance with the configured parameters.

    Declaration
    public SpawnPolicy Build()
    Returns
    Type Description
    SpawnPolicy

    The constructed SpawnPolicy instance.

    Explosion2D(Vector2, Single, Single)

    Creates a 2D (on the XY plane) explosion spawn policy with the specified parameters.

    Declaration
    public static SpawnPolicy Explosion2D(Vector2 _Center, float _Radius, float _Velocity)
    Parameters
    Type Name Description
    Vector2 _Center

    The center position of the explosion.

    System.Single _Radius

    The radius of the explosion.

    System.Single _Velocity

    The initial velocity of spawned objects.

    Returns
    Type Description
    SpawnPolicy

    The generated SpawnPolicy.

    Explosion3D(Vector3, Single, Single)

    Creates a 3D explosion spawn policy with the specified parameters.

    Declaration
    public static SpawnPolicy Explosion3D(Vector3 _Center, float _Radius, float _Velocity)
    Parameters
    Type Name Description
    Vector3 _Center

    The center position of the explosion.

    System.Single _Radius

    The radius of the explosion.

    System.Single _Velocity

    The initial velocity of spawned objects.

    Returns
    Type Description
    SpawnPolicy

    The generated SpawnPolicy.

    Is2D()

    Sets the spawning to 2D mode.

    Declaration
    public SpawnPolicyBuilder Is2D()
    Returns
    Type Description
    SpawnPolicyBuilder

    The updated SpawnPolicyBuilder instance.

    Is2D(EPlane)

    Sets the spawning to 2D mode.

    Declaration
    public SpawnPolicyBuilder Is2D(EPlane _Plane)
    Parameters
    Type Name Description
    EPlane _Plane

    The 2D plane to spawn on.

    Returns
    Type Description
    SpawnPolicyBuilder

    The updated SpawnPolicyBuilder instance.

    Is3D()

    Sets the spawning to 3D mode.

    Declaration
    public SpawnPolicyBuilder Is3D()
    Returns
    Type Description
    SpawnPolicyBuilder

    The updated SpawnPolicyBuilder instance.

    SetCenter(Vector3)

    Sets the center position for spawning objects.

    Declaration
    public SpawnPolicyBuilder SetCenter(Vector3 _Center)
    Parameters
    Type Name Description
    Vector3 _Center

    The center position.

    Returns
    Type Description
    SpawnPolicyBuilder

    The updated SpawnPolicyBuilder instance.

    SetVelocity(Single)

    Set the rigidbody velocity of the spawned objects to move aways from the center with the passed velocity.

    Declaration
    public SpawnPolicyBuilder SetVelocity(float _Velocity)
    Parameters
    Type Name Description
    System.Single _Velocity

    The velocity of the spawned objects.

    Returns
    Type Description
    SpawnPolicyBuilder

    The updated SpawnPolicyBuilder instance.

    SetVelocity(Vector3, Single)

    Set the rigidbody velocity of the spawned objects to the specified direction and velocity.

    Declaration
    public SpawnPolicyBuilder SetVelocity(Vector3 _Direction, float _Velocity)
    Parameters
    Type Name Description
    Vector3 _Direction

    The direction of the velocity.

    System.Single _Velocity

    The velocity of the spawned objects.

    Returns
    Type Description
    SpawnPolicyBuilder

    The updated SpawnPolicyBuilder instance.

    SpawnInBox()

    Sets the spawning shape to a square with boundaries of size one. Every GameObject will be spawned in a square around the center with the boundaries [-1, 1] in each direction.

    Declaration
    public SpawnPolicyBuilder SpawnInBox()
    Returns
    Type Description
    SpawnPolicyBuilder

    The updated SpawnPolicyBuilder instance.

    SpawnInBox(Box)

    Sets the spawning shape to a square with the specified minimum and maximum positions. Every GameObject will be spawned in a square around the center within the passed boundaries.

    Declaration
    public SpawnPolicyBuilder SpawnInBox(Box _Boundaries)
    Parameters
    Type Name Description
    Box _Boundaries
    Returns
    Type Description
    SpawnPolicyBuilder

    The updated SpawnPolicyBuilder instance.

    SpawnInBox(Vector3)

    Sets the spawning shape to a square with the passed boundaries. Every GameObject will be spawned in a square around the center within the passed boundaries.

    Declaration
    public SpawnPolicyBuilder SpawnInBox(Vector3 _Boundary)
    Parameters
    Type Name Description
    Vector3 _Boundary
    Returns
    Type Description
    SpawnPolicyBuilder

    The updated SpawnPolicyBuilder instance.

    SpawnInCircle(Single)

    Sets the spawning area to a 2D circle (default is the XY plane) with the specified radius. Every GameObject will be spawned in a circle around the center within the specified radius.

    Declaration
    public SpawnPolicyBuilder SpawnInCircle(float _Radius)
    Parameters
    Type Name Description
    System.Single _Radius

    The radius of the circle.

    Returns
    Type Description
    SpawnPolicyBuilder

    The updated SpawnPolicyBuilder instance.

    SpawnInCircle(Single, EPlane)

    Sets the spawning area to a 2D circle (default is the XY plane) with the specified radius. Every GameObject will be spawned in a circle around the center within the specified radius.

    Declaration
    public SpawnPolicyBuilder SpawnInCircle(float _Radius, EPlane _Plane)
    Parameters
    Type Name Description
    System.Single _Radius

    The radius of the circle.

    EPlane _Plane

    The 2D plane to spawn on.

    Returns
    Type Description
    SpawnPolicyBuilder

    The updated SpawnPolicyBuilder instance.

    SpawnInCircle(Single, EPlane, Tuple<Single, Single>)

    Sets the spawning area to a 2D circle (default is the XY plane) with the specified radius. Every GameObject will be spawned in a circle around the center within the specified radius.

    Declaration
    public SpawnPolicyBuilder SpawnInCircle(float _Radius, EPlane _Plane, Tuple<float, float> _Limit)
    Parameters
    Type Name Description
    System.Single _Radius

    The radius of the circle.

    EPlane _Plane

    The 2D plane to spawn on.

    System.Tuple<System.Single, System.Single> _Limit
    Returns
    Type Description
    SpawnPolicyBuilder

    The updated SpawnPolicyBuilder instance.

    SpawnInCircle(Single, EPlane, Tuple<Single, Single>[])

    Sets the spawning area to a 2D circle (default is the XY plane) with the specified radius. Every GameObject will be spawned in a circle around the center within the specified radius.

    Declaration
    public SpawnPolicyBuilder SpawnInCircle(float _Radius, EPlane _Plane, Tuple<float, float>[] _Limits)
    Parameters
    Type Name Description
    System.Single _Radius

    The radius of the circle.

    EPlane _Plane

    The 2D plane to spawn on.

    System.Tuple<System.Single, System.Single>[] _Limits

    The spawn limits of the circle in radian [0, 2pi].

    Returns
    Type Description
    SpawnPolicyBuilder

    The updated SpawnPolicyBuilder instance.

    SpawnInSphere(Single)

    Sets the spawning area to a 3D sphere with the specified radius. Every GameObject will be spawned in a sphere around the center within the specified radius.

    Declaration
    public SpawnPolicyBuilder SpawnInSphere(float _Radius)
    Parameters
    Type Name Description
    System.Single _Radius

    The radius of the circle.

    Returns
    Type Description
    SpawnPolicyBuilder

    The updated SpawnPolicyBuilder instance.

    SpawnInSquare()

    Sets the spawning area to a 2D square (the default is the XY plane) with boundaries of size one. Every GameObject will be spawned in a square around the center with the boundaries [-1, 1] in each direction.

    Declaration
    public SpawnPolicyBuilder SpawnInSquare()
    Returns
    Type Description
    SpawnPolicyBuilder

    The updated SpawnPolicyBuilder instance.

    SpawnInSquare(Rect)

    Sets the spawning area to a 2D square (the default is the XY plane) with the passed boundaries. Every GameObject will be spawned in a square around the center within the passed boundaries.

    Declaration
    public SpawnPolicyBuilder SpawnInSquare(Rect _Boundaries)
    Parameters
    Type Name Description
    Rect _Boundaries

    The size of the square.

    Returns
    Type Description
    SpawnPolicyBuilder

    The updated SpawnPolicyBuilder instance.

    SpawnInSquare(Rect, EPlane)

    Sets the spawning area to a 2D square (the default is the XY plane) with the passed boundaries. Every GameObject will be spawned in a square around the center within the passed boundaries.

    Declaration
    public SpawnPolicyBuilder SpawnInSquare(Rect _Boundaries, EPlane _Plane)
    Parameters
    Type Name Description
    Rect _Boundaries

    The size of the square.

    EPlane _Plane

    The 2D plane to spawn on.

    Returns
    Type Description
    SpawnPolicyBuilder

    The updated SpawnPolicyBuilder instance.

    SpawnInSquare(Vector2)

    Sets the spawning area to a 2D square (the default is the XY plane) with the passed boundaries. Every GameObject will be spawned in a square around the center within the passed boundaries.

    Declaration
    public SpawnPolicyBuilder SpawnInSquare(Vector2 _Boundary)
    Parameters
    Type Name Description
    Vector2 _Boundary

    The size of the square.

    Returns
    Type Description
    SpawnPolicyBuilder

    The updated SpawnPolicyBuilder instance.

    SpawnInSquare(Vector2, EPlane)

    Sets the spawning area to a 2D square (the default is the XY plane) with the passed boundaries. Every GameObject will be spawned in a square around the center within the passed boundaries.

    Declaration
    public SpawnPolicyBuilder SpawnInSquare(Vector2 _Boundary, EPlane _Plane)
    Parameters
    Type Name Description
    Vector2 _Boundary

    The size of the square.

    EPlane _Plane

    The 2D plane to spawn on.

    Returns
    Type Description
    SpawnPolicyBuilder

    The updated SpawnPolicyBuilder instance.

    In This Article
    Back to top GuardingPearSoftware documentation