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()
Assembly: cs.temp.dll.dll
Syntax
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
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
envFrame
Declaration
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> |
|
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
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 |
|
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
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
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
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
Dispose()
Declaration
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 Parameters
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
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
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
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
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
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
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
UpdateFirer(Nullable<GenCtx>)
Declaration
public void UpdateFirer(GenCtx? gcx)
Parameters
Type |
Name |
Description |
System.Nullable<GenCtx> |
gcx |
|