add cclightning

This commit is contained in:
Oleksandr Nemesh 2024-07-11 14:45:03 +03:00 committed by GitHub
parent ba7b0fa818
commit 360827e766
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -0,0 +1,77 @@
#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__