Search Results for

    Show / Hide Table of Contents

    Class PIData

    A class storing state information for bullets and other entities.
    Contains a link to the environment frame where the bullet was created, which contains most relevant data.

    Inheritance
    System.Object
    PIData
    Inherited Members
    System.Object.ToString()
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    Namespace: Danmokou.DMath
    Assembly: cs.temp.dll.dll
    Syntax
    public class PIData

    Fields

    boundFloats

    Declaration
    public readonly Dictionary<int, float> boundFloats
    Field Value
    Type Description
    Dictionary<System.Int32, System.Single>

    boundInts

    Declaration
    public readonly Dictionary<int, int> boundInts
    Field Value
    Type Description
    Dictionary<System.Int32, System.Int32>

    boundRV2s

    Declaration
    public readonly Dictionary<int, V2RV2> boundRV2s
    Field Value
    Type Description
    Dictionary<System.Int32, V2RV2>

    boundV2s

    Declaration
    public readonly Dictionary<int, Vector2> boundV2s
    Field Value
    Type Description
    Dictionary<System.Int32, Vector2>

    boundV3s

    Declaration
    public readonly Dictionary<int, Vector3> boundV3s
    Field Value
    Type Description
    Dictionary<System.Int32, Vector3>

    bullet

    Declaration
    public Bullet? bullet
    Field Value
    Type Description
    System.Nullable<Bullet>

    culledBulletTime

    Declaration
    public float culledBulletTime
    Field Value
    Type Description
    System.Single

    Empty

    Declaration
    public static readonly PIData Empty
    Field Value
    Type Description
    PIData

    enemyFirer

    Declaration
    public Enemy? enemyFirer
    Field Value
    Type Description
    System.Nullable<Enemy>

    envFrame

    Declaration
    public EnvFrame envFrame
    Field Value
    Type Description
    EnvFrame

    firer

    Declaration
    public BehaviorEntity? firer
    Field Value
    Type Description
    System.Nullable<BehaviorEntity>

    laserController

    Declaration
    public CurvedTileRenderLaser? laserController
    Field Value
    Type Description
    System.Nullable<CurvedTileRenderLaser>

    onHit

    Declaration
    public EffectStrategy? onHit
    Field Value
    Type Description
    System.Nullable<EffectStrategy>

    playerBullet

    Declaration
    public PlayerBullet? playerBullet
    Field Value
    Type Description
    System.Nullable<PlayerBullet>

    playerController

    Declaration
    public PlayerController? playerController
    Field Value
    Type Description
    System.Nullable<PlayerController>

    Properties

    Allocated

    Declaration
    public static int Allocated { get; }
    Property Value
    Type Description
    System.Int32

    Bullet

    If this data struct is being used for a Bullet GameObject (such as pathers or lasers), then this points to the bullet.

    Declaration
    public Bullet Bullet { get; }
    Property Value
    Type Description
    Bullet

    Cleared

    Declaration
    public static int Cleared { get; }
    Property Value
    Type Description
    System.Int32

    Copied

    Declaration
    public static int Copied { get; }
    Property Value
    Type Description
    System.Int32

    EnemyFirer

    Declaration
    public Enemy EnemyFirer { get; }
    Property Value
    Type Description
    Enemy

    Firer

    Declaration
    public BehaviorEntity Firer { get; }
    Property Value
    Type Description
    BehaviorEntity

    Laser

    If this data struct is being used for a Laser, then this points to the laser.

    Declaration
    public CurvedTileRenderLaser Laser { get; }
    Property Value
    Type Description
    CurvedTileRenderLaser

    OptionFirer

    Declaration
    public FireOption OptionFirer { get; }
    Property Value
    Type Description
    FireOption

    PlayerController

    Declaration
    public PlayerController PlayerController { get; }
    Property Value
    Type Description
    PlayerController

    Popped

    Declaration
    public static int Popped { get; }
    Property Value
    Type Description
    System.Int32

    Recached

    Declaration
    public static int Recached { get; }
    Property Value
    Type Description
    System.Int32

    Methods

    Clone_NoAlloc()

    Clone this object. The data type is pooled, so this method has amortized O(0) allocations.

    Declaration
    public PIData Clone_NoAlloc()
    Returns
    Type Description
    PIData

    ContainsDynamic(TExArgCtx, Type, String)

    Declaration
    public static TEx ContainsDynamic(TExArgCtx tac, Type typ, string name)
    Parameters
    Type Name Description
    TExArgCtx tac
    System.Type typ
    System.String name
    Returns
    Type Description
    TEx

    ContainsDynamic<T>(TExArgCtx, String)

    Declaration
    public static Expression ContainsDynamic<T>(TExArgCtx tac, string name)
    Parameters
    Type Name Description
    TExArgCtx tac
    System.String name
    Returns
    Type Description
    Expression
    Type Parameters
    Name Description
    T

    CopyInto(PIData)

    Copy this object's variables into another object of the same type.
    Not virtual, so only this class' variables are copied.

    Declaration
    public PIData CopyInto(PIData copyee)
    Parameters
    Type Name Description
    PIData copyee
    Returns
    Type Description
    PIData

    Dispose()

    Declaration
    public void Dispose()

    GetDict(Expression, Type)

    Declaration
    public static Expression GetDict(Expression fctx, Type typ)
    Parameters
    Type Name Description
    Expression fctx
    System.Type typ
    Returns
    Type Description
    Expression

    GetDynamicKey(Type, String)

    Declaration
    public static int GetDynamicKey(Type t, string name)
    Parameters
    Type Name Description
    System.Type t
    System.String name
    Returns
    Type Description
    System.Int32

    GetIfDefined<T>(TExArgCtx, String, Nullable<Ex>)

    Create an expression that retrieves a field with name and type if it exists. If it doesn't exist, returns or throws an exception.

    Declaration
    public static Ex GetIfDefined<T>(TExArgCtx tac, string name, Ex? deflt)
    Parameters
    Type Name Description
    TExArgCtx tac
    System.String name
    System.Nullable<Ex> deflt
    Returns
    Type Description
    Ex
    Type Parameters
    Name Description
    T

    GetValueDynamic<T>(TExArgCtx, String, Nullable<TEx<T>>)

    Declaration
    public static Expression GetValueDynamic<T>(TExArgCtx tac, string name, TEx<T>? deflt = null)
    Parameters
    Type Name Description
    TExArgCtx tac
    System.String name
    System.Nullable<TEx<T>> deflt
    Returns
    Type Description
    Expression
    Type Parameters
    Name Description
    T

    New(Nullable<(LexicalScope scope, GenCtx gcx)>)

    Declaration
    public static PIData New((LexicalScope scope, GenCtx gcx)? parent = null)
    Parameters
    Type Name Description
    System.Nullable<System.ValueTuple<LexicalScope, GenCtx>> parent
    Returns
    Type Description
    PIData

    NewUnscoped(Nullable<GenCtx>)

    Create a new instance of the base PIData class. Only use this if you don't need to store any bound variables.

    Declaration
    public static PIData NewUnscoped(GenCtx? gcx = null)
    Parameters
    Type Name Description
    System.Nullable<GenCtx> gcx
    Returns
    Type Description
    PIData

    RevertToGCX(LexicalScope, BehaviorEntity)

    ONLY CALL THIS FROM FUNCTIONS WITH WITH DYNAMIC=TRUE

    Declaration
    public GenCtx RevertToGCX(LexicalScope dynamicScope, BehaviorEntity exec)
    Parameters
    Type Name Description
    LexicalScope dynamicScope
    BehaviorEntity exec
    Returns
    Type Description
    GenCtx

    SetValue(TExArgCtx, Type, String, Func<TExArgCtx, TEx>)

    Create an expression that sets the value of a field with name .
    If the subclass of PIData is known, then does this by direct field access, otherwise uses the WriteT jumptable lookup.

    Declaration
    public static Ex SetValue(TExArgCtx tac, Type t, string name, Func<TExArgCtx, TEx> val)
    Parameters
    Type Name Description
    TExArgCtx tac
    System.Type t
    System.String name
    System.Func<TExArgCtx, TEx> val
    Returns
    Type Description
    Ex

    SetValueDynamic(TExArgCtx, Type, String, Func<TExArgCtx, TEx>)

    Declaration
    public static Ex SetValueDynamic(TExArgCtx tac, Type t, string name, Func<TExArgCtx, TEx> val)
    Parameters
    Type Name Description
    TExArgCtx tac
    System.Type t
    System.String name
    System.Func<TExArgCtx, TEx> val
    Returns
    Type Description
    Ex

    SetValueDynamic<T>(TExArgCtx, String, Expression)

    Declaration
    public static Expression SetValueDynamic<T>(TExArgCtx tac, string name, Expression val)
    Parameters
    Type Name Description
    TExArgCtx tac
    System.String name
    Expression val
    Returns
    Type Description
    Expression
    Type Parameters
    Name Description
    T

    UpdateFirer(Nullable<GenCtx>)

    Declaration
    public void UpdateFirer(GenCtx? gcx)
    Parameters
    Type Name Description
    System.Nullable<GenCtx> gcx
    In This Article
    Back to top Generated by DocFX