Class GenCtxProperty
Properties that modify the behavior of generic repeater commands (gtrepeat, girepeat, gcrepeat, gsrepeat).
Inheritance
System.Object
GenCtxProperty
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
public class GenCtxProperty : IEquatable<GenCtxProperty>
Properties
Priority
Declaration
public virtual int Priority { get; }
Property Value
| Type |
Description |
| System.Int32 |
|
Methods
_AssignLexicalScope(LexicalScope)
(Internal BDSL2 usage) Specify the lexical scope for a GenCtxProperties that is not yet created.
Declaration
public static GenCtxProperty _AssignLexicalScope(LexicalScope scope)
Parameters
| Type |
Name |
Description |
| LexicalScope |
scope |
|
Returns
Aimed()
Declaration
public static GenCtxProperty Aimed()
Returns
Async(GCXF<Single>, GCXF<Single>, GCXF<V2RV2>)
Wait, times, rpp properties combined.
Declaration
public static GenCtxProperty Async(GCXF<float> frames, GCXF<float> times, GCXF<V2RV2> incr)
Parameters
| Type |
Name |
Description |
| GCXF<System.Single> |
frames |
|
| GCXF<System.Single> |
times |
|
| GCXF<V2RV2> |
incr |
|
Returns
AsyncD(ExBPY, ExBPY, ExBPY, GCXF<V2RV2>)
Wait, times, rpp properties combined, where Wait is divided by difficulty and Times is multiplied by difficulty.
Declaration
public static GenCtxProperty AsyncD(ExBPY difficulty, ExBPY frames, ExBPY times, GCXF<V2RV2> incr)
Parameters
| Type |
Name |
Description |
| ExBPY |
difficulty |
|
| ExBPY |
frames |
|
| ExBPY |
times |
|
| GCXF<V2RV2> |
incr |
|
Returns
AsyncDR(ExBPY, ExBPY, ExBPY, ExBPRV2)
Wait, times, rpp properties combined, where Wait is divided by, Times is multiplied by, and rpp is divided by difficulty.
Declaration
public static GenCtxProperty AsyncDR(ExBPY difficulty, ExBPY frames, ExBPY times, ExBPRV2 incr)
Parameters
| Type |
Name |
Description |
| ExBPY |
difficulty |
|
| ExBPY |
frames |
|
| ExBPY |
times |
|
| ExBPRV2 |
incr |
|
Returns
AsyncFor(GCXF<Single>, GCXF<Single>, GCXF<V2RV2>)
Wait, FOR, rpp properties combined. Times is set to infinity.
Declaration
public static GenCtxProperty AsyncFor(GCXF<float> frames, GCXF<float> runFor, GCXF<V2RV2> incr)
Parameters
| Type |
Name |
Description |
| GCXF<System.Single> |
frames |
|
| GCXF<System.Single> |
runFor |
|
| GCXF<V2RV2> |
incr |
|
Returns
Bank(GCXF<V2RV2>)
Before start rules, move the current V2RV2 into nonrotational coordinates only,
inheriting the angle, and set a new offset. This is useful for doing inner repeats.
Declaration
public static GenCtxProperty Bank(GCXF<V2RV2> newOffset)
Parameters
| Type |
Name |
Description |
| GCXF<V2RV2> |
newOffset |
|
Returns
Bank0(GCXF<V2RV2>)
Before start rules, move the current V2RV2 into nonrotational coordinates only,
setting the angle to zero, and set a new offset. This is useful for doing inner repeats.
Declaration
public static GenCtxProperty Bank0(GCXF<V2RV2> newOffset)
Parameters
| Type |
Name |
Description |
| GCXF<V2RV2> |
newOffset |
|
Returns
BindAngle()
Bind the value angle to the RV2 angle in the GCX preloop section.
Declaration
public static GenCtxProperty BindAngle()
Returns
BindArrow()
Bind the values axd, ayd, aixd, aiyd in the GCX preloop section.
Declaration
public static GenCtxProperty BindArrow()
Returns
BindFlip()
Bind the values flipX, flipY in the GCX start section.
Must be added to enable bullet flipping.
Declaration
public static GenCtxProperty BindFlip()
Returns
BindItr(String)
Bind a value corresponding to the loop number in the GCX preloop section.
Declaration
public static GenCtxProperty BindItr(string value)
Parameters
| Type |
Name |
Description |
| System.String |
value |
|
Returns
BindLR()
Bind the values lr, rl in the GCX preloop section.
Declaration
public static GenCtxProperty BindLR()
Returns
BindUD()
Bind the values ud, du in the GCX preloop section.
Declaration
public static GenCtxProperty BindUD()
Returns
Cancel(GCXF<Boolean>)
If a predicate is true, then cancel execution. Resolved after preloop rules on every iteration.
Declaration
public static GenCtxProperty Cancel(GCXF<bool> cancelIf)
Parameters
| Type |
Name |
Description |
| GCXF<System.Boolean> |
cancelIf |
|
Returns
Center()
For a fire with a fixed RV2++, subtract the initial angle so that the bullets are
evenly spread around the original angle.
Declaration
public static GenCtxProperty Center()
Returns
Circle()
Increment the RV2 by 360/{times} every loop.
You can use this with RV2Incr, this one will take effect second.
Declaration
public static GenCtxProperty Circle()
Returns
Clip(GCXF<Boolean>)
If a predicate is true, then do not execute this function. Resolved after start rules.
Declaration
public static GenCtxProperty Clip(GCXF<bool> clipIf)
Parameters
| Type |
Name |
Description |
| GCXF<System.Boolean> |
clipIf |
|
Returns
Color(String[])
Cycle between colors on every invocation.
Declaration
public static GenCtxProperty Color(string[] colors)
Parameters
| Type |
Name |
Description |
| System.String[] |
colors |
|
Returns
Colorf(String[], GCXF<Single>)
Select a color on every invocation by running the indexer function.
Declaration
public static GenCtxProperty Colorf(string[] colors, GCXF<float> indexer)
Parameters
| Type |
Name |
Description |
| System.String[] |
colors |
|
| GCXF<System.Single> |
indexer |
Indexer function
|
Returns
ColorR(String[])
Cycle between colors on every invocation. Merge colors in the reverse direction.
Declaration
public static GenCtxProperty ColorR(string[] colors)
Parameters
| Type |
Name |
Description |
| System.String[] |
colors |
|
Returns
ColorX(GCXF<String>)
Use a function to retrieve a color on every invocation.
Declaration
public static GenCtxProperty ColorX(GCXF<string> color)
Parameters
| Type |
Name |
Description |
| GCXF<System.String> |
color |
|
Returns
Delay(GCXF<Single>)
Set the delay before the repeater's first invocation. Resolved after start rules.
Not allowed for SyncPattern.
Declaration
public static GenCtxProperty Delay(GCXF<float> frames)
Parameters
| Type |
Name |
Description |
| GCXF<System.Single> |
frames |
|
Returns
End(ErasedGCXF)
Rules that are run when the repeater is done.
Declaration
public static GenCtxProperty End(ErasedGCXF rule)
Parameters
| Type |
Name |
Description |
| ErasedGCXF |
rule |
|
Returns
End(GCRule[])
Rules that are run when the repeater is done.
Declaration
public static GenCtxProperty End(GCRule[] rules)
Parameters
| Type |
Name |
Description |
| GCRule[] |
rules |
|
Returns
Face(Facing)
Flag that indicates the global rotation of all summoned bullets.
Declaration
public static GenCtxProperty Face(Facing facing)
Parameters
| Type |
Name |
Description |
| Facing |
facing |
|
Returns
ForTime(GCXF<Single>)
Set the max amount of time this function will execute for, in frames.
Declaration
public static GenCtxProperty ForTime(GCXF<float> frames)
Parameters
| Type |
Name |
Description |
| GCXF<System.Single> |
frames |
|
Returns
FRV2(GCXF<V2RV2>)
Set the RV2 angle to a value. Resolved after PreLoop and before the invocation.
Declaration
public static GenCtxProperty FRV2(GCXF<V2RV2> f)
Parameters
| Type |
Name |
Description |
| GCXF<V2RV2> |
f |
|
Returns
MaxTimes(Int32)
Set the maximum number of times a repeater will run.
Declaration
public static GenCtxProperty MaxTimes(int max)
Parameters
| Type |
Name |
Description |
| System.Int32 |
max |
|
Returns
MutateAng(GCXF<Single>)
Right before invocation, applies a contortion to RV2.a, which is undone after the invocation.
Declaration
public static GenCtxProperty MutateAng(GCXF<float> f)
Parameters
| Type |
Name |
Description |
| GCXF<System.Single> |
f |
|
Returns
MutateParametrize(Parametrization, GCXF<Single>)
Set the parameterization method of the loop. Default is DEFER. Also mutate the parent index.
Declaration
public static GenCtxProperty MutateParametrize(Parametrization p, GCXF<float> mutater)
Parameters
| Type |
Name |
Description |
| Parametrization |
p |
|
| GCXF<System.Single> |
mutater |
|
Returns
NoOp()
Dummy property that does nothing.
Declaration
public static GenCtxProperty NoOp()
Returns
Offset(GCXF<V2RV2>)
= start({ rv2 +=rv2 OFFSET })
Declaration
public static GenCtxProperty Offset(GCXF<V2RV2> offset)
Parameters
| Type |
Name |
Description |
| GCXF<V2RV2> |
offset |
|
Returns
OnLaser(GCXF<Single>)
Adds the location of the laser at the specified draw-time to the RV2 of the summoned entity.
Note that this can only be used if the executing entity is a laser.
Declaration
public static GenCtxProperty OnLaser(GCXF<float> indexer)
Parameters
| Type |
Name |
Description |
| GCXF<System.Single> |
indexer |
|
Returns
Parametrize(Parametrization)
Set the parameterization method of the loop. Default is DEFER.
Declaration
public static GenCtxProperty Parametrize(Parametrization p)
Parameters
| Type |
Name |
Description |
| Parametrization |
p |
|
Returns
PostLoop(ErasedGCXF)
Rules that are run every loop, after the invocation and after waiting is complete.
Declaration
public static GenCtxProperty PostLoop(ErasedGCXF rule)
Parameters
| Type |
Name |
Description |
| ErasedGCXF |
rule |
|
Returns
PostLoop(GCRule[])
Rules that are run every loop, after the invocation and after waiting is complete.
Declaration
public static GenCtxProperty PostLoop(GCRule[] rules)
Parameters
| Type |
Name |
Description |
| GCRule[] |
rules |
|
Returns
PreLoop(ErasedGCXF)
Rules that are run every loop, after i is set for the loop, and before the invocation.
Declaration
public static GenCtxProperty PreLoop(ErasedGCXF rule)
Parameters
| Type |
Name |
Description |
| ErasedGCXF |
rule |
|
Returns
PreLoop(GCRule[])
Rules that are run every loop, after i is set for the loop, and before the invocation.
Declaration
public static GenCtxProperty PreLoop(GCRule[] rules)
Parameters
| Type |
Name |
Description |
| GCRule[] |
rules |
|
Returns
ResetColor()
Reset the color to _ on entry. Ignores wildcards.
Declaration
public static GenCtxProperty ResetColor()
Returns
Root(GCXF<Vector2>)
Causes all objects to be summoned in world space relative to an origin.
Resolved before start rules.
Declaration
public static GenCtxProperty Root(GCXF<Vector2> root)
Parameters
| Type |
Name |
Description |
| GCXF<Vector2> |
root |
|
Returns
RootAdjust(GCXF<Vector2>)
Causes all objects to be summoned in world space relative to an origin.
Adjusts the nonrotational offset of the RV2 so the final summoning position is unaffected.
Resolved before start rules.
Declaration
public static GenCtxProperty RootAdjust(GCXF<Vector2> root)
Parameters
| Type |
Name |
Description |
| GCXF<Vector2> |
root |
|
Returns
RV2Incr(GCXF<V2RV2>)
Increment the RV2 by a certain amount every loop. Resolved after PostLoop.
Declaration
public static GenCtxProperty RV2Incr(GCXF<V2RV2> rule)
Parameters
| Type |
Name |
Description |
| GCXF<V2RV2> |
rule |
|
Returns
SAOffset(SAAngle, GCXF<Single>, GCXF<Vector2>)
Summon successive objects along an offset function.
Note: As with all functions here, you can use t or &i to get the
iteration number of the loop in the given functions.
Declaration
public static GenCtxProperty SAOffset(SAAngle sah, GCXF<float> angleOffset, GCXF<Vector2> nextLocation)
Parameters
| Type |
Name |
Description |
| SAAngle |
sah |
|
| GCXF<System.Single> |
angleOffset |
|
| GCXF<Vector2> |
nextLocation |
|
Returns
SaveF((ReflectEx.Hoist<Single> target, GCXF<Single> indexer, GCXF<Single> valuer)[])
Save some values into public hoisting for each fire. Resolved after PreLoop, right before invocation.
Declaration
public static GenCtxProperty SaveF(params (ReflectEx.Hoist<float> target, GCXF<float> indexer, GCXF<float> valuer)[] targets)
Parameters
| Type |
Name |
Description |
| System.ValueTuple<ReflectEx.Hoist<System.Single>, GCXF<System.Single>, GCXF<System.Single>>[] |
targets |
|
Returns
SaveV2((ReflectEx.Hoist<Vector2> target, GCXF<Single> indexer, GCXF<Vector2> valuer)[])
Save some values into public hoisting for each fire. Resolved after PreLoop, right before invocation.
Declaration
public static GenCtxProperty SaveV2(params (ReflectEx.Hoist<Vector2> target, GCXF<float> indexer, GCXF<Vector2> valuer)[] targets)
Parameters
| Type |
Name |
Description |
| System.ValueTuple<ReflectEx.Hoist<Vector2>, GCXF<System.Single>, GCXF<Vector2>>[] |
targets |
|
Returns
Sequential()
Run child invocations sequentially.
GIRepeat/GTRepeat only.
Declaration
public static GenCtxProperty Sequential()
Returns
SetP(GCXF<Single>)
Declaration
public static GenCtxProperty SetP(GCXF<float> p)
Parameters
| Type |
Name |
Description |
| GCXF<System.Single> |
p |
|
Returns
SetRV2(GCXF<V2RV2>)
Before start rules, override the current V2RV2.
Declaration
public static GenCtxProperty SetRV2(GCXF<V2RV2> newRV2)
Parameters
| Type |
Name |
Description |
| GCXF<V2RV2> |
newRV2 |
|
Returns
SFX(String)
Play an SFX on every loop iteration. This is run right before the invocation.
Declaration
public static GenCtxProperty SFX(string sfx)
Parameters
| Type |
Name |
Description |
| System.String |
sfx |
|
Returns
SFX(String[])
Play an SFX on every loop iteration, looping through the given array. This is run right before the invocation.
Declaration
public static GenCtxProperty SFX(string[] sfx)
Parameters
| Type |
Name |
Description |
| System.String[] |
sfx |
|
Returns
SFXf(String[], GCXF<Single>)
Play an SFX on every loop iteration, using the indexer function to select one. This is run right before the invocation.
Declaration
public static GenCtxProperty SFXf(string[] sfx, GCXF<float> indexer)
Parameters
| Type |
Name |
Description |
| System.String[] |
sfx |
|
| GCXF<System.Single> |
indexer |
|
Returns
SFXfIf(String[], GCXF<Single>, GCXF<Boolean>)
Play an SFX on every loop iteration if the predicate is true,
using the indexer function to select one. This is run right before the invocation.
Declaration
public static GenCtxProperty SFXfIf(string[] sfx, GCXF<float> indexer, GCXF<bool> pred)
Parameters
| Type |
Name |
Description |
| System.String[] |
sfx |
|
| GCXF<System.Single> |
indexer |
|
| GCXF<System.Boolean> |
pred |
|
Returns
SFXIf(String[], GCXF<Boolean>)
Play an SFX on every loop iteration if the predicate is true. This is run right before the invocation.
Declaration
public static GenCtxProperty SFXIf(string[] sfx, GCXF<bool> pred)
Parameters
| Type |
Name |
Description |
| System.String[] |
sfx |
|
| GCXF<System.Boolean> |
pred |
|
Returns
SLTarget(RV2ControlMethod, GCXF<Vector2>)
Same as TARGET, but targeting is performed from the summon location.
Declaration
public static GenCtxProperty SLTarget(RV2ControlMethod method, GCXF<Vector2> loc)
Parameters
| Type |
Name |
Description |
| RV2ControlMethod |
method |
|
| GCXF<Vector2> |
loc |
|
Returns
Spread(GCXF<V2RV2>)
Spread the RV2 evenly over a total width, so each increment is totalWidth/({times}-1).
Declaration
public static GenCtxProperty Spread(GCXF<V2RV2> totalWidth)
Parameters
| Type |
Name |
Description |
| GCXF<V2RV2> |
totalWidth |
|
Returns
Start(ErasedGCXF)
Rules that are run before any invocations.
Declaration
public static GenCtxProperty Start(ErasedGCXF rule)
Parameters
| Type |
Name |
Description |
| ErasedGCXF |
rule |
|
Returns
Start(GCRule[])
Rules that are run before any invocations.
Declaration
public static GenCtxProperty Start(GCRule[] rules)
Parameters
| Type |
Name |
Description |
| GCRule[] |
rules |
|
Returns
Sync(GCXF<Single>, GCXF<V2RV2>)
Times, rpp properties combined.
Declaration
public static GenCtxProperty Sync(GCXF<float> times, GCXF<V2RV2> incr)
Parameters
| Type |
Name |
Description |
| GCXF<System.Single> |
times |
|
| GCXF<V2RV2> |
incr |
|
Returns
SyncDR(ExBPY, ExBPY, ExBPRV2)
Times, rpp properties combined, where Times is multiplied by and rpp is divided by difficulty.
Declaration
public static GenCtxProperty SyncDR(ExBPY difficulty, ExBPY times, ExBPRV2 incr)
Parameters
| Type |
Name |
Description |
| ExBPY |
difficulty |
|
| ExBPY |
times |
|
| ExBPRV2 |
incr |
|
Returns
Target(RV2ControlMethod, GCXF<Vector2>)
Target a specific location in world space. Targeting is performed once, before start rules.
The targeting is performed from the executing entity.
Functionality depends on Method:
Angle = point at the location
NX/RX = add to the non/rotational X component the delta X to the location
NY/RY = add to the non/rotational Y component the delta Y to the location
Declaration
public static GenCtxProperty Target(RV2ControlMethod method, GCXF<Vector2> loc)
Parameters
| Type |
Name |
Description |
| RV2ControlMethod |
method |
|
| GCXF<Vector2> |
loc |
|
Returns
Timer(GCXF<ETime.Timer>)
Restarts the given timer for every iteration of the looper. Resolved before preloop rules.
Declaration
public static GenCtxProperty Timer(GCXF<ETime.Timer> timer)
Parameters
| Type |
Name |
Description |
| GCXF<ETime.Timer> |
timer |
|
Returns
TimeReset()
Reset the summonTime variable (&st) provided in GCX every iteration.
Declaration
public static GenCtxProperty TimeReset()
Returns
Times(GCXF<Single>)
Set the number of times a repeater will run. Resolved after start rules.
Declaration
public static GenCtxProperty Times(GCXF<float> times)
Parameters
| Type |
Name |
Description |
| GCXF<System.Single> |
times |
|
Returns
TimesCircle(GCXF<Single>)
TIMES and CIRCLE props combined.
Declaration
public static GenCtxProperty TimesCircle(GCXF<float> times)
Parameters
| Type |
Name |
Description |
| GCXF<System.Single> |
times |
|
Returns
TM(Int32, GCXF<Single>)
Set the number of times a repeater will run, along with the max times. Resolved after start rules.
Declaration
public static GenCtxProperty TM(int max, GCXF<float> times)
Parameters
| Type |
Name |
Description |
| System.Int32 |
max |
|
| GCXF<System.Single> |
times |
|
Returns
TMIMod(FXY)
A combination of TM with a fixed times count, and inverse mod parametrization.
Declaration
public static GenCtxProperty TMIMod(FXY times)
Parameters
| Type |
Name |
Description |
| FXY |
times |
Times count
|
Returns
TMMod(FXY)
A combination of TM with a fixed times count, and mod parametrization.
Declaration
public static GenCtxProperty TMMod(FXY times)
Parameters
| Type |
Name |
Description |
| FXY |
times |
Times count
|
Returns
Unpause(StateMachine)
If using a While property, this causes code to be run when the function is paused and then unpaused.
Declaration
public static GenCtxProperty Unpause(StateMachine sm)
Parameters
| Type |
Name |
Description |
| StateMachine |
sm |
|
Returns
Wait(GCXF<Single>)
Set the number of frames a repeater will wait between invocations. Resolved after invocation, before post-loop.
Not allowed for SyncPattern.
Declaration
public static GenCtxProperty Wait(GCXF<float> frames)
Parameters
| Type |
Name |
Description |
| GCXF<System.Single> |
frames |
|
Returns
WaitChild()
Wait for the child invocations to finish before continuing.
GIRepeat/GTRepeat only.
Declaration
public static GenCtxProperty WaitChild()
Returns
WhileTrue(GCXF<Boolean>)
Run the invocations only while a predicate is true. As long as the predicate is false,
the function will wait indefinitely. If an Unpause command is used, then the unpause function
will be run when this pauses and then unpauses.
Not allowed for SyncPattern.
Declaration
public static GenCtxProperty WhileTrue(GCXF<bool> pred)
Parameters
| Type |
Name |
Description |
| GCXF<System.Boolean> |
pred |
|
Returns
WT(GCXF<Single>, GCXF<Single>)
Wait and times properties combined.
Declaration
public static GenCtxProperty WT(GCXF<float> frames, GCXF<float> times)
Parameters
| Type |
Name |
Description |
| GCXF<System.Single> |
frames |
|
| GCXF<System.Single> |
times |
|
Returns
WTd(ExBPY, ExBPY, ExBPY)
Wait and times properties combined, where Wait is divided by difficulty and Times is multiplied by difficulty.
Declaration
public static GenCtxProperty WTd(ExBPY difficulty, ExBPY frames, ExBPY times)
Parameters
| Type |
Name |
Description |
| ExBPY |
difficulty |
|
| ExBPY |
frames |
|
| ExBPY |
times |
|
Returns
WTM(GCXF<Single>, Int32, GCXF<Single>)
Wait and TM properties combined.
Declaration
public static GenCtxProperty WTM(GCXF<float> frames, int max, GCXF<float> times)
Parameters
| Type |
Name |
Description |
| GCXF<System.Single> |
frames |
|
| System.Int32 |
max |
|
| GCXF<System.Single> |
times |
|
Returns
Implements
System.IEquatable<T>