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 |