geode/loader/include/Geode/cocos/robtop/special_nodes/CCLightning.h
Oleksandr Nemesh 94dc60a7f2
fix whitespace
2024-07-24 12:34:55 +03:00

77 lines
No EOL
2.1 KiB
C++
Vendored

#ifndef __CCLIGHTNING_H__
#define __CCLIGHTNING_H__
#include "../../include/ccMacros.h"
#include "../../base_nodes/CCNode.h"
NS_CC_BEGIN
// @note RobTop Addition
class CCLightning : public CCNode, public CCRGBAProtocol {
public:
CCLightning();
virtual ~CCLightning();
static cocos2d::CCLightning* lightningWithStrikePoint(cocos2d::CCPoint strikePoint, cocos2d::CCPoint strikePoint2, float duration);
static cocos2d::CCLightning* lightningWithStrikePoint(cocos2d::CCPoint strikePoint);
bool initWithStrikePoint(cocos2d::CCPoint strikePoint, cocos2d::CCPoint strikePoint2, float duration);
bool initWithStrikePoint(cocos2d::CCPoint strikePoint) {
return initWithStrikePoint(strikePoint, {0, 0}, 0.5f);
}
void strike();
void strikeFinished();
void strikeRandom() {
m_seed = rand();
this->strike();
}
void strikeWithSeed(uint64_t seed) {
m_seed = seed;
this->strike();
}
void draw();
// cocos2d::CCRGBAProtocol
bool isOpacityModifyRGB();
void setOpacityModifyRGB(bool);
unsigned char getOpacity();
unsigned char getDisplayedOpacity();
void setOpacity(unsigned char);
void updateDisplayedOpacity(unsigned char);
bool isCascadeColorEnabled();
void setCascadeOpacityEnabled(bool);
cocos2d::_ccColor3B const& getColor();
cocos2d::_ccColor3B const& getDisplayedColor();
void setColor(cocos2d::_ccColor3B const&);
void updateDisplayedColor(cocos2d::_ccColor3B const&);
bool isCascadeOpacityEnabled();
void setCascadeColorEnabled(bool);
protected:
cocos2d::CCPoint m_strikePoint;
cocos2d::CCPoint m_strikePoint2;
bool m_split;
PAD(7);
uint32_t m_displacement;
uint64_t m_seed;
float m_lineWidth;
PAD(4);
float m_duration;
float m_extraOpacity;
cocos2d::CCPoint* m_lightningPoints;
uint32_t m_numPoints;
uint8_t m_unk148;
uint8_t m_opacity;
PAD(3);
cocos2d::_ccColor3B m_tColor;
PAD(3);
};
NS_CC_END
#endif //__CCLIGHTNING_H__