Class MapObject

From TrainzOnline
Revision as of 21:44, 21 November 2020 by Ciceronmt (Talk | contribs)

Jump to: navigation, search


  • This class extends MeshObject to include product queues.
  • A MapObject can have a number of product queues as defined in the queues section of the config.txt file for the asset.
  • The class also provides methods to control particle emissions.


Contents

MapObject Messages


Major Minor Source Destination
MapObject View-Details ? MapObject
MapObject View-Schedule ? MapObject


Methods


AdjustMapObjectPosition

public native void AdjustMapObjectPosition(float dx, float dy, float dz)
Parameters
  • dx = The distance (m) to move the object along its x axis (right).
  • dy = The distance (m) to move the object along its y axis (foward).
  • dz = The distance (m) to move the object along its z axis (upward).
Returned Value
  • = None.
Syntax
AdjustMapObjectPosition(x, y, z);
Notes


GetMapObjectOrientation

public native Orientation GetMapObjectOrientation(void)
Parameters

= None.

Returned Value
  • The absolute orientation of this MapObject. WorldCoordinate - The current orientation of this MapObject.
Syntax
float angel_z = cabin.Loco.GetMapObjectOrientation().rz;
Notes

A call to GetMapObjectOrientation() which immediately follows a call to SetMapObjectOrientation() is not guaranteed to return the input orientation, since various other orientation restrictions may be in effect.

GetPFXEmitterLifetime

public native float GetPFXEmitterLifetime(int id, int phase)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
  • phase = The phase of the effect, if there is only one phase use zero.
Returned Value
  • Value of the lifetime of the effect at the specified phase.
Syntax
float lifetime GetPFXEmitterLifetime(0,0);
Notes


GetPFXEmitterMaxRate

public native float GetPFXEmitterMaxRate(int id)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
Returned Value
  • Maximum rate of emissions per second.
Syntax
float maxRate = GetPFXEmitterMaxRate(0);
Notes


GetPFXEmitterMaxSize

public native float GetPFXEmitterMaxSize(int id, int phase)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
  • phase = The phase of the effect, if there is only one phase use zero.
Returned Value
  • Maximum size of particle at the specified phase.
Syntax
float maxsize = GetPFXEmitterMinSize();
Notes


GetPFXEmitterMinRate

public native float GetPFXEmitterMinRate(int id)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
Returned Value
  • Maximum rate of emissions per second.
Syntax
float minRtae = GetPFXEmitterMinRate(0);
Notes


GetPFXEmitterMinSize

public native float GetPFXEmitterMinSize(int id, int phase)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
  • phase = The phase of the effect, if there is only one phase use zero.
Returned Value
  • Minimum size of particle at the specified phase.
Syntax
float minsize = GetPFXEmitterMinSize();
Notes


GetPFXEmitterPhysicsDelay

public native float GetPFXEmitterPhysicsDelay(int id, int phase)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
  • phase = The phase of the effect, if there is only one phase use zero.
Returned Value
  • Value for the physics delay in emission.
Syntax
GetPFXEmitterPhysicsDelay(0,0);
Notes


GetPFXEmitterRate

public native float GetPFXEmitterRate(int id, int phase)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
  • phase = The phase of the effect, if there is only one phase use zero.
Returned Value
  • Rate of particle creation per second.
Syntax
particlesPerSecond = GetPFXEmitterRate(0,0);
Notes


GetPFXEmitterVelocity

public native float GetPFXEmitterVelocity(int id, int phase)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
  • phase = The phase of the effect, if there is only one phase use zero.
Returned Value
  • Velocity in metres per second along the direction vector of emitted particles at the specified phase.
Syntax
float speed = GetPFXEmitterVelocity(0,0);
Notes


GetQueue

public native ProductQueue GetQueue(string queueName)
Parameters

queueName = Name of the product queue to be returned.

Returned Value
  • A reference to the queue if possible, null otherwise.
Syntax
ProductQueue queue = GetQueue("passengers");


GetQueues

public native ProductQueue[ ] GetQueues(void)
Parameters
  • None
Returned Value
  • An array of product queues, if there are no queues the array will be empty.
Syntax
ProductQueue[] queues = GetQueues();


PlaySoundScriptEvent

public native void PlaySoundScriptEvent(string soundTrigger)
Parameters

soundTrigger = Name of the sound event to start playing, this equates to the trigger tag of the sound script subcontainer in config.txt.

Returned Value
  • None
Syntax
PlaySoundScriptEvent("dayloop");
Notes
  • Plays the specified sound event from the asset's SoundScript.
  • SoundScripts are defined as sub-containers in the soundscript container of the asset's configuration.
  • For details on creating assets with SoundScripts, see here.
  • This method will start playing the sound.
  • Depending on the SoundScript configuration, the sound will either be played just once or played continuously in a looping cycle such that StopSoundScriptEvent() will need to be called to stop it.


SetPFXEmitterConeSize

public native void SetPFXEmitterConeSize(int id, float x, float y, float z)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
  • x,y,z = New X,Y and Z components of the particle cone size.
Returned Value
  • None
Syntax
SetPFXEmitterConeSize(0,2.0,3.0,2.0);
Notes


SetPFXEmitterEmitParticles

public native void SetPFXEmitterEmitParticles(int id, int number,float time)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
  • number = The number of particles to emit.
  • time = The time in seconds over which the particles are to be created.
Returned Value
  • None
Syntax
SetPFXEmitterEmitParticles(0,100,10.0);
Notes


SetPFXEmitterEndColor

public native void SetPFXEmitterEndColor(int id, int phase, float r, float g, float b, float a)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
  • phase = The phase of the effect, if there is only one phase use zero.
  • r,g,b = Red, green and blue components of the required color.
  • a = Alpha value of the color.
Returned Value
  • None
Syntax
SetPFXEmitterStartColor(0,0,128,128,128,64);
SetPFXEmitterStartColor(0,0,0.5,0.5,0.5,0.25);
Notes
  • Red, green, blue and alpha may be entered as integer or float values in the ranges 0..255 and 0.0..1.0 respectively.
  • Both of the examples above give the same result.
  • Note that 1,1,1,1 will be interpreted as float input and will produce white, whereas 2,2,2,2 will be interpreted as integers and will give a result which is almost black.


SetPFXEmitterLifetime

public native void SetPFXEmitterLifetime(int id, int phase, float life)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
  • phase = The phase of the effect, if there is only one phase use zero.
  • life = The new lifetime of particles in seconds at the specified phase.
Returned Value
  • None
Syntax
SetPFXEmitterLifetime(0,0,10);
Notes


SetPFXEmitterMaxRate

public native void SetPFXEmitterMaxRate(int id, float newsize)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
  • rate = The new maximum rate of emission per second.
Returned Value
  • None
Syntax
SetPFXEmitterMaxRate(0,5.0);
Notes


SetPFXEmitterMaxSize

public native void SetPFXEmitterMaxSize(int id, int phase, float newsize)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
  • phase = The phase of the effect, if there is only one phase use zero.
  • newsize = The new maximum size of particles at the specified phase.
Returned Value
  • None
Syntax
SetPFXEmitterMaxSize(0,0,10);
Notes


SetPFXEmitterMinRate

public native void SetPFXEmitterMinRate(int id, float rate)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
  • rate = The new minimum rate of emission per second.
Returned Value
  • None
Syntax
SetPFXEmitterMinRate(0,5.0);
Notes


SetPFXEmitterMinSize

public native void SetPFXEmitterMinSize(int id, int phase, float newsize)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
  • phase = The phase of the effect, if there is only one phase use zero.
  • newsize = The new minimum size of particles at the specified phase.
Returned Value
  • None
Syntax
SetPFXEmitterMinSize(0,0,10);
Notes


SetPFXEmitterPhysicsDelay

public native void SetPFXEmitterPhysicsDelay(int id, int phase, float value)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
  • phase = The phase of the effect, if there is only one phase use zero.
  • value = The new physics delay value to set for the specified phase.
Returned Value
  • None
Syntax
SetPFXEmitterPhysicsDelay(0,0,5.0);
Notes


SetPFXEmitterRate

public native void SetPFXEmitterRate(int id, int phase, float rate)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
  • phase = The phase of the effect, if there is only one phase use zero.
  • rate = New rate of particle creation per second at the specified phase.
Returned Value
  • None
Syntax
SetPFXEmitterRate(0,0,5.0);
Notes


SetPFXEmitterStartColor

public native void SetPFXEmitterStartColor(int id, int phase, float r, float g, float b, float a)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
  • phase = The phase of the effect, if there is only one phase use zero.
  • r,g,b = Red, green and blue components of the required color.
  • a = Alpha value of the color.
Returned Value
  • None
Syntax
SetPFXEmitterStartColor(0,0,128,128,128,64);
SetPFXEmitterStartColor(0,0,0.5,0.5,0.5,0.25);
Notes
  • Red, green, blue and alpha may be entered as integer or float values in the ranges 0..255 and 0.0..1.0 respectively.
  • Both of the examples above give the same result.
  • Note that 1,1,1,1 will be interpreted as float input and will produce white, whereas 2,2,2,2 will be interpreted as integers and will give a result which is almost black.


SetPFXEmitterTexture

public native void SetPFXEmitterTexture(int id, KUID textureKUID)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
  • textureKUID = The kuid of the new texture.
Returned Value
  • None
Syntax
SetPFXEmitterTexture(0,<kuid:1234:5678>);
Notes


SetPFXEmitterVelocity

public native void SetPFXEmitterVelocity(int id, int phase, float velocity)
Parameters
  • id = The ID of the particle effect, starting at zero and in the order defined in config.txt.
  • phase = The phase of the effect, if there is only one phase use zero.
  • velocity = New velocity in metres per second along the direction vector of emitted particles at the specified phase.
Returned Value
  • None
Syntax
SetPFXEmitterVelocity(0,0,5.0);
Notes


StopSoundScriptEvent

public native void StopSoundScriptEvent(string soundTrigger)
Parameters

soundTrigger = Name of the sound event to start playing, this equates to the trigger tag of the sound script subcontainer in config.txt.

Returned Value
  • None
Syntax
StopSoundScriptEvent("dayloop");
Notes


Related Methods

Categories

Personal tools