mirror of
https://github.com/4ian/GDevelop.git
synced 2025-10-15 10:19:04 +00:00
367 lines
17 KiB
C++
367 lines
17 KiB
C++
/**
|
|
|
|
GDevelop - Particle System Extension
|
|
Copyright (c) 2010-2016 Florian Rival (Florian.Rival@gmail.com)
|
|
This project is released under the MIT License.
|
|
*/
|
|
|
|
#include "GDCore/Extensions/PlatformExtension.h"
|
|
#include "GDCore/Tools/Localization.h"
|
|
|
|
#include "Extension.h"
|
|
#include "ParticleEmitterObject.h"
|
|
|
|
/**
|
|
* Declare some actions, conditions and expressions of the particle emitter
|
|
*/
|
|
void ExtensionSubDeclaration3(gd::ObjectMetadata& obj) {
|
|
obj.AddAction("RecreateParticleSystem",
|
|
_("Recreate particles"),
|
|
_("Destroy and recreate particles, so as to take changes made "
|
|
"to setup of the emitter in account."),
|
|
_("Recreate particles of _PARAM0_"),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon24.png",
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter");
|
|
|
|
obj.AddAction(
|
|
"RendererParam1",
|
|
_("Rendering first parameter"),
|
|
_("Modify first parameter of rendering (Size/Length).\nParticles "
|
|
"have to be recreated in order to take changes in account."),
|
|
_("the rendering 1st parameter"),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon24.png",
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter")
|
|
.UseStandardOperatorParameters("number");
|
|
|
|
obj.AddCondition(
|
|
"RendererParam1",
|
|
_("Rendering first parameter"),
|
|
_("Test the first parameter of rendering (Size/Length)."),
|
|
_("the 1st rendering parameter"),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon24.png",
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
|
|
.AddParameter("object", _("Object"), "ParticleEmitter")
|
|
.UseStandardRelationalOperatorParameters("number");
|
|
|
|
obj.AddAction("RendererParam2",
|
|
_("Rendering second parameter"),
|
|
_("Modify the second parameter of rendering (Size/Length"
|
|
").\nParticles have to be recreated in order to take changes "
|
|
"in account."),
|
|
_("the rendering 2nd parameter"),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon24.png",
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter")
|
|
.UseStandardOperatorParameters("number");
|
|
|
|
obj.AddCondition(
|
|
"RendererParam2",
|
|
_("Rendering second parameter"),
|
|
_("Test the second parameter of rendering (Size/Length)."),
|
|
_("the 2nd rendering parameter"),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon24.png",
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter")
|
|
.UseStandardRelationalOperatorParameters("number");
|
|
|
|
obj.AddAction("Tank",
|
|
_("Capacity"),
|
|
_("Change the capacity of the emitter."),
|
|
_("the capacity"),
|
|
_("Common"),
|
|
"CppPlatform/Extensions/particleSystemicon24.png",
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter")
|
|
.SetHidden() // DEPRECATED - Use SetTank instead
|
|
.UseStandardOperatorParameters("number");
|
|
|
|
obj.AddAction("SetTank",
|
|
_("Capacity"),
|
|
_("Change the capacity of the emitter."),
|
|
_("the capacity"),
|
|
_("Common"),
|
|
"CppPlatform/Extensions/particleSystemicon24.png",
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter")
|
|
.UseStandardOperatorParameters("number");
|
|
|
|
obj.AddCondition("Tank",
|
|
_("Capacity"),
|
|
_("Test the capacity of the emitter."),
|
|
_("the capacity"),
|
|
_("Common"),
|
|
"CppPlatform/Extensions/particleSystemicon24.png",
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter")
|
|
.UseStandardRelationalOperatorParameters("number");
|
|
|
|
obj.AddAction("Flow",
|
|
_("Flow"),
|
|
_("Change the flow of the emitter."),
|
|
_("the flow"),
|
|
_("Common"),
|
|
"CppPlatform/Extensions/particleSystemicon24.png",
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter")
|
|
.SetHidden() // DEPRECATED - Use SetFlow instead
|
|
.UseStandardOperatorParameters("number");
|
|
|
|
obj.AddAction("SetFlow",
|
|
_("Flow"),
|
|
_("Change the flow of the emitter."),
|
|
_("the flow"),
|
|
_("Common"),
|
|
"CppPlatform/Extensions/particleSystemicon24.png",
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter")
|
|
.UseStandardOperatorParameters("number");
|
|
|
|
obj.AddCondition("Flow",
|
|
_("Flow"),
|
|
_("Test the flow of the emitter."),
|
|
_("the flow"),
|
|
_("Common"),
|
|
"CppPlatform/Extensions/particleSystemicon24.png",
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter")
|
|
.UseStandardRelationalOperatorParameters("number");
|
|
|
|
obj.AddAction("Texture",
|
|
_("Change image (using an expression)"),
|
|
_("Change the image of particles (if displayed)."),
|
|
_("Change the image of particles of _PARAM0_ to _PARAM1_"),
|
|
_("Advanced"),
|
|
"CppPlatform/Extensions/particleSystemicon24.png",
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter")
|
|
.AddParameter("string", _("Image to use"))
|
|
.SetParameterLongDescription("Indicate the name of the resource");
|
|
|
|
obj.AddAction("SetTextureFromResource",
|
|
_("Change image"),
|
|
_("Change the image of particles (if displayed)."),
|
|
_("Change the image of particles of _PARAM0_ to _PARAM1_"),
|
|
_("Common"),
|
|
"CppPlatform/Extensions/particleSystemicon24.png",
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter")
|
|
.AddParameter("imageResource", _("Image file (or image resource name)"));
|
|
|
|
obj.AddCondition(
|
|
"Texture",
|
|
_("Image"),
|
|
_("Test the name of the image displayed by particles."),
|
|
_("the image displayed by particles"),
|
|
_("Common"),
|
|
"CppPlatform/Extensions/particleSystemicon24.png",
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter")
|
|
.UseStandardRelationalOperatorParameters("string");
|
|
|
|
obj.AddStrExpression("Texture",
|
|
_("Particles image"),
|
|
_("Name of the image displayed by particles."),
|
|
_("Particles"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
|
|
obj.AddExpression("NbParticles",
|
|
_("Particles number"),
|
|
_("Particles number"),
|
|
_("Particles"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.SetHidden() // DEPRECATED - Use CurrentParticleCount instead
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
|
|
obj.AddExpression("CurrentParticleCount",
|
|
_("Particles count"),
|
|
_("Number of particles currently displayed."),
|
|
_("Particles"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
|
|
obj.AddExpression("RendererParam1",
|
|
_("Rendering first parameter"),
|
|
_("Rendering first parameter"),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
|
|
obj.AddExpression("RendererParam2",
|
|
_("Rendering second parameter"),
|
|
_("Rendering second parameter"),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
|
|
obj.AddExpression("Tank",
|
|
_("Capacity"),
|
|
_("Capacity of the particle tank."),
|
|
_("Common"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
|
|
obj.AddExpression("Flow",
|
|
_("Flow"),
|
|
_("Flow of the particles (particles/second)."),
|
|
_("Common"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
|
|
obj.AddExpression("EmitterForceMin",
|
|
_("Emission minimal force"),
|
|
_("The minimal emission force of the particles."),
|
|
_("Common"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
|
|
obj.AddExpression("EmitterForceMax",
|
|
_("Emission maximal force"),
|
|
_("The maximal emission force of the particles."),
|
|
_("Common"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
|
|
obj.AddExpression("EmitterAngle",
|
|
_("Emission angle"),
|
|
_("Emission angle of the particles."),
|
|
_("Common"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("EmitterAngleA",
|
|
_("Emission angle A"),
|
|
_("Emission angle A"),
|
|
_("Advanced"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("EmitterAngleB",
|
|
_("Emission angle B"),
|
|
_("Emission angle B"),
|
|
_("Advanced"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("ZoneRadius",
|
|
_("Radius of emission zone"),
|
|
_("The radius of the emission zone."),
|
|
_("Common"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("ParticleGravityX",
|
|
_("X gravity"),
|
|
_("Gravity of particles applied on X-axis."),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("ParticleGravityY",
|
|
_("Y gravity"),
|
|
_("Gravity of particles applied on Y-axis."),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("ParticleGravityAngle",
|
|
_("Gravity angle"),
|
|
_("Angle of gravity."),
|
|
_("Common"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("ParticleGravityLength",
|
|
_("Gravity"),
|
|
_("Value of gravity."),
|
|
_("Common"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("ParticleLifeTimeMin",
|
|
_("Minimum lifetime of particles"),
|
|
_("Minimum lifetime of the particles."),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("ParticleLifeTimeMax",
|
|
_("Maximum lifetime of particles"),
|
|
_("Maximum lifetime of the particles."),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("ParticleRed1",
|
|
_("Start color red component"),
|
|
_("The start color red component of the particles."),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("ParticleRed2",
|
|
_("End color red component"),
|
|
_("The end color red component of the particles."),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("ParticleBlue1",
|
|
_("Start color blue component"),
|
|
_("The start color blue component of the particles."),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("ParticleBlue2",
|
|
_("End color blue component"),
|
|
_("The end color blue component of the particles."),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("ParticleGreen1",
|
|
_("Start color green component"),
|
|
_("The start color green component of the particles."),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("ParticleGreen2",
|
|
_("End color green component"),
|
|
_("The end color green component of the particles."),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("ParticleAlpha1",
|
|
_("Start opacity"),
|
|
_("Start opacity of the particles."),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("ParticleAlpha2",
|
|
_("End opacity"),
|
|
_("End opacity of the particles."),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("ParticleSize1",
|
|
_("Start size"),
|
|
_("Start size of particles."),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("ParticleSize2",
|
|
_("End size"),
|
|
_("End size of particles."),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("ParticleAngle1",
|
|
_("Parameter 1 of angle"),
|
|
_("Parameter 1 of angle"),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
obj.AddExpression("ParticleAngle2",
|
|
_("Parameter 2 of angle"),
|
|
_("Parameter 2 of angle"),
|
|
_("Setup"),
|
|
"CppPlatform/Extensions/particleSystemicon16.png")
|
|
.AddParameter("object", _("Object"), "ParticleEmitter", false);
|
|
|
|
}
|