i6engine
1.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ParticleEmitterComponent.h
Go to the documentation of this file.
1
/*
2
* i6engine
3
* Copyright (2016) Daniel Bonrath, Michael Baer, All rights reserved.
4
*
5
* This file is part of i6engine; i6engine is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU Lesser General Public
7
* License as published by the Free Software Foundation; either
8
* version 2.1 of the License, or (at your option) any later version.
9
*
10
* This library is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
* Lesser General Public License for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public
16
* License along with this library; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
*/
19
25
#ifndef __I6ENGINE_API_PARTICLEEMITTERCOMPONENT_H__
26
#define __I6ENGINE_API_PARTICLEEMITTERCOMPONENT_H__
27
28
#include "
i6engine/math/i6eVector.h
"
29
30
#include "
i6engine/api/components/Component.h
"
31
32
namespace
i6e
{
33
namespace
api {
34
46
class
ISIXE_MODULES_API
ParticleEmitterComponent
:
public
Component
{
47
public
:
53
ParticleEmitterComponent
(
const
int64_t
id
,
const
attributeMap
& params);
54
60
~
ParticleEmitterComponent
();
61
65
attributeMap
synchronize()
const override
;
66
67
std::string
getTemplateName
()
const override
{
68
return
"ParticleEmitter"
;
69
}
70
71
std::vector<componentOptions> getComponentOptions()
override
;
72
73
private
:
74
std::string _emitterName;
75
Vec3
_pos;
76
bool
_fadeOut;
77
uint32_t _fadeOutCooldown;
78
79
void
Init()
override
;
80
81
void
Finalize()
override
;
82
83
std::pair<AddStrategy, int64_t> howToAdd(
const
ComPtr
& comp)
const override
;
84
};
85
86
}
/* namespace api */
87
}
/* namespace i6e */
88
89
#endif
/* __I6ENGINE_API_PARTICLEEMITTERCOMPONENT_H__ */
90
ISIXE_MODULES_API
#define ISIXE_MODULES_API
Definition:
i6eSystemParameters.h:118
Component.h
i6e::api::attributeMap
std::map< std::string, std::string > attributeMap
Definition:
attributeMap.h:42
i6e::api::ParticleEmitterComponent
Emits Particles For creating a ParticleEmitterComponent, these keys are possible: Name Required Type ...
Definition:
ParticleEmitterComponent.h:46
i6e::math::i6eVector
Implements 3-dimensional vectors.
Definition:
i6eVector.h:48
i6e::api::ParticleEmitterComponent::getTemplateName
std::string getTemplateName() const override
returns the name this template was registered with
Definition:
ParticleEmitterComponent.h:67
i6e::utils::sharedPtr
A shared pointer counting references and adds objects being not referenced any more to an internal li...
Definition:
sharedPtr.h:50
i6e::api::components::ParticleEmitterComponent
Definition:
ComponentConfig.h:65
i6eVector.h
i6e
Definition:
AutoUpdater.h:34
i6e::api::Component
Component Base Class. All Components must derive from Component.
Definition:
Component.h:97
Projekte
i6engine
libs
i6engine-modules
include
i6engine
api
components
ParticleEmitterComponent.h
Generated on Mon May 30 2016 17:33:31 for i6engine by
1.8.9.1