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
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>