Class BulletManager.SimpleBulletControls
Bullet controls for use with the bullet-control
SM command. These deal with simple bullets.
All controls have a cond
argument, which is a filtering condition. The control only affects bullets for which the condition is satisfied.
Inheritance
Inherited Members
Namespace: Danmokou.Danmaku
Assembly: cs.temp.dll.dll
Syntax
public static class SimpleBulletControls
Methods
Batch(ExPred, BulletManager.exBulletControl[])
Batch several controls together under a single condition.
This is useful primarily when restyle
or cull
is combined with other conditions.
Declaration
public static BulletManager.exBulletControl Batch(ExPred cond, BulletManager.exBulletControl[] over)
Parameters
Type | Name | Description |
---|---|---|
ExPred | cond | |
Danmokou.Danmaku.BulletManager.exBulletControl[] | over |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
BatchP(Int32, ExPred, BulletManager.exBulletControl[])
Batchp several controls together under a single condition.
Also, manually set the priority value. (Note that using BatchP instead of Batch can cause
severe bugs when cull-based commands are moved outside out of their standard processing block.)
This is useful primarily when restyle
or cull
is combined with other conditions.
Declaration
public static BulletManager.exBulletControl BatchP(int priority, ExPred cond, BulletManager.exBulletControl[] over)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | priority | |
ExPred | cond | |
Danmokou.Danmaku.BulletManager.exBulletControl[] | over |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
Copy(String, ExPred)
Copy a bullet into another pool. A new ID will be given to the new bullet.
Declaration
public static BulletManager.exBulletControl Copy(string style, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
System.String | style | Copied style |
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
CopyNull(String, ExPred)
Copy (nondestructively) a bullet into another pool, with no movement.
If the style is null or empty, then will instead spawn a
Declaration
public static BulletManager.exBulletControl CopyNull(string style, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
System.String | style | Copied style |
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
Cull(ExPred)
Destroy bullets.
Declaration
public static BulletManager.exBulletControl Cull(ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
DT(ExBPY, ExPred)
Add to the time of bullets.
Declaration
public static BulletManager.exBulletControl DT(ExBPY by, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
ExBPY | by | Delta time |
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
DX(ExBPY, ExPred)
Add to the x-position of bullets. Useful for teleporting around the sides.
Declaration
public static BulletManager.exBulletControl DX(ExBPY by, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
ExBPY | by | Delta position |
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
DY(ExBPY, ExPred)
Add to the y-position of bullets. Useful for teleporting around the sides.
Declaration
public static BulletManager.exBulletControl DY(ExBPY by, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
ExBPY | by | Delta position |
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
Exec<T>(Func<TExArgCtx, TEx<T>>, ExPred)
Run some code on bullets that pass the condition.
Declaration
public static BulletManager.exBulletControl Exec<T>(Func<TExArgCtx, TEx<T>> code, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
System.Func<TExArgCtx, TEx<T>> | code | |
ExPred | cond |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
Type Parameters
Name | Description |
---|---|
T |
FlipX(ExPred)
Flip the X-velocity of bullets. Use FlipXGT(ExBPY, ExPred), etc instead for flipping against walls.
Declaration
public static BulletManager.exBulletControl FlipX(ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
FlipXGT(ExBPY, ExPred)
Flip the x-velocity and x-position of bullets around a wall on the right.
Declaration
public static BulletManager.exBulletControl FlipXGT(ExBPY wall, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
ExBPY | wall | X-position of wall |
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
FlipXLT(ExBPY, ExPred)
Flip the x-velocity and x-position of bullets around a wall on the left.
Declaration
public static BulletManager.exBulletControl FlipXLT(ExBPY wall, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
ExBPY | wall | X-position of wall |
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
FlipY(ExPred)
Flip the Y-velocity of bullets. Use FlipXGT(ExBPY, ExPred), etc instead for flipping against walls.
Declaration
public static BulletManager.exBulletControl FlipY(ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
FlipYGT(ExBPY, ExPred)
Flip the y-velocity and y-position of bullets around a wall on the top.
Declaration
public static BulletManager.exBulletControl FlipYGT(ExBPY wall, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
ExBPY | wall | Y-position of wall |
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
FlipYLT(ExBPY, ExPred)
Flip the y-velocity and y-position of bullets around a wall on the bottom.
Declaration
public static BulletManager.exBulletControl FlipYLT(ExBPY wall, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
ExBPY | wall | Y-position of wall |
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
Force(ExPred, VTP)
Add external velocity to bullets. Note that position-based movement (offset, polar) will probably not work properly with this.
Declaration
public static BulletManager.exBulletControl Force(ExPred cond, VTP path)
Parameters
Type | Name | Description |
---|---|---|
ExPred | cond | Filter condition |
VTP | path | External velocity |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
Freeze(ExPred)
Freeze an object. It will still collide but it will not move.
Note: the semantics of this are slightly different from BehCF.Freeze.
This function will run the update loop with a deltaTime of zero, so offset-based
movement functions dependent on public hoisting may still cause movements.
Declaration
public static BulletManager.exBulletControl Freeze(ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
ExPred | cond |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
OnCollide(ExPred, StateMachine)
When a bullet collides, if the condition is true, spawn an iNode at the position and run an SM on it.
Declaration
public static BulletManager.exBulletControl OnCollide(ExPred cond, StateMachine target)
Parameters
Type | Name | Description |
---|---|---|
ExPred | cond | |
StateMachine | target |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
ProcEvent<T>(String, Func<TExArgCtx, TEx<T>>, ExPred)
Execute an event if the condition is satisfied.
Declaration
public static BulletManager.exBulletControl ProcEvent<T>(string ev, Func<TExArgCtx, TEx<T>> val, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
System.String | ev | |
System.Func<TExArgCtx, TEx<T>> | val | |
ExPred | cond |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
Type Parameters
Name | Description |
---|---|
T |
ProcEvent0<T>(String, ExPred)
Execute a unit event if the condition is satisfied.
Declaration
public static BulletManager.exBulletControl ProcEvent0<T>(string ev, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
System.String | ev | |
ExPred | cond |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
Type Parameters
Name | Description |
---|---|
T |
Restyle(String, ExPred)
Change the style of bullets, ie. transfer the bullet to another pool.
Declaration
public static BulletManager.exBulletControl Restyle(string target, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
System.String | target | New style |
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
RestyleEffect(String, String, ExPred)
Restyle a bullet and summon a softcull effect.
If the softcull style is null or empty, then will instead spawn a cull bullet.
Declaration
public static BulletManager.exBulletControl RestyleEffect(string copyStyle, string softcullStyle, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
System.String | copyStyle | Copied style |
System.String | softcullStyle | Softcull style |
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
SaveF((ReflectEx.Hoist<Single> target, UncompiledCode<Single> indexer, UncompiledCode<Single> valuer)[], ExPred)
Save float values in public data hoisting.
Note: This is automatically called by the GuideEmpty function.
You should not need to use this yourself.
Declaration
public static BulletManager.exBulletControl SaveF((ReflectEx.Hoist<float> target, UncompiledCode<float> indexer, UncompiledCode<float> valuer)[] targets, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
System.ValueTuple<ReflectEx.Hoist<System.Single>, UncompiledCode<System.Single>, UncompiledCode<System.Single>>[] | targets | Several target, index, value tuples to save |
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
SaveV2((ReflectEx.Hoist<Vector2> target, UncompiledCode<Single> indexer, UncompiledCode<Vector2> valuer)[], ExPred)
Save vector2 values in public data hoisting.
Note: This is automatically called by the GuideEmpty function.
You should not need to use this yourself.
Declaration
public static BulletManager.exBulletControl SaveV2((ReflectEx.Hoist<Vector2> target, UncompiledCode<float> indexer, UncompiledCode<Vector2> valuer)[] targets, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
System.ValueTuple<ReflectEx.Hoist<Vector2>, UncompiledCode<System.Single>, UncompiledCode<Vector2>>[] | targets | Several target, index, value tuples to save |
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
SFX(String, ExPred)
Create a sound effect.
Declaration
public static BulletManager.exBulletControl SFX(string sfx, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
System.String | sfx | Sound effect |
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
Slowdown(ExBPY, ExPred)
Change the throttling of bullets.
Declaration
public static BulletManager.exBulletControl Slowdown(ExBPY by, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
ExBPY | by | Speedup ratio (1 = no effect, 2 = twice as fast, 0 = frozen, -1 = backwards) |
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
SM(ExPred, StateMachine)
If the condition is true, spawn an iNode at the position and run an SM on it.
Declaration
public static BulletManager.exBulletControl SM(ExPred cond, StateMachine target)
Parameters
Type | Name | Description |
---|---|---|
ExPred | cond | |
StateMachine | target |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
Softcull(String, ExPred)
Change the bullets into a softcull-type bullet rather than destroying them directly.
Also leaves behind an afterimage of the bullet as it gets deleted in a
Declaration
public static BulletManager.exBulletControl Softcull(string target, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
System.String | target | New style. Can be null or _ to skip the copying and only do the culled afterimage. |
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
Softcull_noexpr(SoftcullProperties, String, Pred)
Softcull(String, ExPred) but without expressions. Used internally for runtime bullet controls.
Declaration
public static BulletManager.cBulletControl Softcull_noexpr(SoftcullProperties props, string target, Pred cond)
Parameters
Type | Name | Description |
---|---|---|
SoftcullProperties | props | |
System.String | target | |
Pred | cond |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.cBulletControl |
Time(ExBPY, ExPred)
Set the time of bullets.
Declaration
public static BulletManager.exBulletControl Time(ExBPY time, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
ExBPY | time | Time to set |
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
UpdateF((String target, ExBPY valuer)[], ExPred)
Update existing float values in the private data hoisting for the bullet.
Declaration
public static BulletManager.exBulletControl UpdateF((string target, ExBPY valuer)[] targets, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
System.ValueTuple<System.String, ExBPY>[] | targets | |
ExPred | cond |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
UpdateV2((String target, ExTP valuer)[], ExPred)
Update existing V2 values in the private data hoisting for the bullet.
Declaration
public static BulletManager.exBulletControl UpdateV2((string target, ExTP valuer)[] targets, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
System.ValueTuple<System.String, ExTP>[] | targets | |
ExPred | cond |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
X(ExBPY, ExPred)
Set the x-position of bullets.
Declaration
public static BulletManager.exBulletControl X(ExBPY x, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
ExBPY | x | C value |
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |
Y(ExBPY, ExPred)
Set the y-position of bullets.
Declaration
public static BulletManager.exBulletControl Y(ExBPY y, ExPred cond)
Parameters
Type | Name | Description |
---|---|---|
ExBPY | y | Y value |
ExPred | cond | Filter condition |
Returns
Type | Description |
---|---|
Danmokou.Danmaku.BulletManager.exBulletControl |