MCPcopy Create free account
hub / github.com/Open-GD/OpenGD / triggerActivated

Method triggerActivated

Source/EffectGameObject.cpp:92–293  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

90}
91
92void EffectGameObject::triggerActivated(float)
93{
94 if (!_bgl || (_wasTriggerActivated && !_spawnTriggered))
95 return;
96
97 auto pl = PlayLayer::getInstance();
98
99 // this->_wasTriggerActivated = true;
100
101 auto id = getID();
102
103 if (id == 29)
104 _targetColorId = 1000;
105 else if (id == 30)
106 _targetColorId = 1001;
107
108 if (!_bgl->_colorChannels.contains(_targetColorId))
109 {
110 _bgl->_colorChannels.insert({_targetColorId, SpriteColor(Color3B::WHITE, 255, 0)});
111 _bgl->_originalColors.insert({_targetColorId, SpriteColor(Color3B::WHITE, 255, 0)});
112 }
113
114 switch (id)
115 {
116 case 30:
117 case 29:
118 case 899: {
119
120 _bgl->_colorChannels.at(_targetColorId)._applyHsv = false;
121 if (_copiedColorId > -1)
122 {
123 int cycles = 0;
124
125 if (!_bgl->_colorChannels.contains(_copiedColorId))
126 {
127 _bgl->_colorChannels.insert({_copiedColorId, SpriteColor(Color3B::WHITE, 255, 0)});
128 _bgl->_originalColors.insert({_copiedColorId, SpriteColor(Color3B::WHITE, 255, 0)});
129 }
130
131 auto colorChannel = _bgl->_colorChannels.at(_copiedColorId);
132
133 while (colorChannel._copyingColorID != -1 && cycles < 3)
134 {
135 cycles++;
136 colorChannel = _bgl->_colorChannels[colorChannel._copyingColorID];
137 }
138
139 _color = colorChannel._color;
140
141 GameToolbox::applyHSV(_hsv, &_color);
142
143 _bgl->_colorChannels.at(_targetColorId)._applyHsv = true;
144 }
145
146 _bgl->runAction(ColorAction::create(
147 _duration, &_bgl->_colorChannels.at(_targetColorId), _bgl->_colorChannels.at(_targetColorId)._color, _color,
148 _bgl->_colorChannels.at(_targetColorId)._opacity, _opacity * 255.0f, _copiedColorId, &_hsv));
149 _bgl->_colorChannels.at(_targetColorId)._blending = _blending;

Callers

nothing calls this directly

Calls 5

createFunction · 0.85
sizeMethod · 0.80
removeFromGameLayerMethod · 0.80
SpriteColorClass · 0.70
runMoveCommandMethod · 0.45

Tested by

no test coverage detected