7 #ifndef JUGIMAP_COCOS2D_H
8 #define JUGIMAP_COCOS2D_H
11 #include "../jugimap/jugimap.h"
45 void ReadLine(std::string &s)
override;
47 void Close()
override;
50 std::vector<std::string>lines;
63 static int textureSmoothFilter;
68 virtual void Init()
override;
75 cocos2d::Texture2D *texture =
nullptr;
107 cocos2d::Sprite *ccSprite =
nullptr;
108 cocos2d::GLProgramState *glProgramState =
nullptr;
109 cocos2d::PhysicsMaterial physicsMaterial = cocos2d::PhysicsMaterial(1.0, 0.3, 0.7);
112 void ManageShaders_OverlayColor();
135 cocos2d::Label* ccLabel =
nullptr;
166 virtual void Clear()
override;
176 cocos2d::Color4F outlineColor;
177 cocos2d::DrawNode * drawNode =
nullptr;
191 FontCC(
const std::string &_relativeFilePath,
int _loadFontSize,
FontKind _kind);
192 virtual ~
FontCC()
override;
196 virtual int GetPixelWidth(
const std::string &s)
override;
197 virtual int GetPixelHeight(
const std::string &s)
override;
198 virtual Vec2f GetPixelSize(
const std::string &s)
override;
202 cocos2d::Label* ccLabel =
nullptr;
221 virtual void visit(cocos2d::Renderer *renderer,
const cocos2d::Mat4 &transform, uint32_t flags)
override;
224 MapCC * map =
nullptr;
239 MapCC(
int _zOrderStart) :
Map(_zOrderStart){}
251 void SetCameras(
const std::vector<Camera*> &_cameras) {cameras = _cameras;}
264 std::vector<Camera*>cameras;
290 cocos2d::Node *ccNode =
nullptr;
305 static int glDrawnBatchesString;
306 static int glDrawnVerticesString;
319 virtual bool init()
override;
322 virtual void update(
float delta)
override;
324 virtual void render(cocos2d::Renderer *renderer,
const cocos2d::Mat4 &eyeTransform,
const cocos2d::Mat4 *eyeProjection)
override;
332 cocos2d::Label* errorMessageLabel =
nullptr;
362 class EventsLayer :
public cocos2d::Layer
365 static EventsLayer * Create();
369 void OnMouseDown(cocos2d::Event *_event);
370 void OnMouseUp(cocos2d::Event *_event);
371 void OnMouseMove(cocos2d::Event *_event);
372 void OnMouseScroll(cocos2d::Event *_event);
377 bool OnTouchBegan(cocos2d::Touch*
touch, cocos2d::Event* event);
378 void OnTouchMoved(cocos2d::Touch*
touch, cocos2d::Event* event);
379 void OnTouchEnded(cocos2d::Touch*
touch, cocos2d::Event* event);
386 void OnJoystickConnected(cocos2d::Controller* controller, cocos2d::Event* event);
387 void OnJoystickDisconnected(cocos2d::Controller* controller, cocos2d::Event* event);
388 void OnJoystickButtonDown(cocos2d::Controller* controller,
int keyCode, cocos2d::Event* event);
389 void OnJoystickButtonUp(cocos2d::Controller* controller,
int keyCode, cocos2d::Event* event);
390 void OnJoystickAxisEvent(cocos2d::Controller* controller,
int keyCode, cocos2d::Event* event);
394 std::vector<jugimap::KeyCode>keysConversionTable;
402 extern cocos2d::GLProgram *glpColorOverlay_blendSimpleMultiply;
403 extern cocos2d::GLProgram *glpColorOverlay_blendNormal;
404 extern cocos2d::GLProgram *glpColorOverlay_blendMultiply;
405 extern cocos2d::GLProgram *glpColorOverlay_blendLinearDodge;
406 extern cocos2d::GLProgram *glpColorOverlay_blendColor;
410 extern std::string nameOverlayColor;
412 void LoadJugimapShaders();
413 void DeleteShaders();
432 virtual Map*
NewMap(
int _zOrderStart)
override {
return new MapCC(_zOrderStart); }
437 virtual Font *
NewFont(
const std::string &_relativeFilePath,
int _size,
FontKind _fontKind)
override {
return new FontCC(_relativeFilePath, _size, _fontKind); }
virtual bool init() override
Initialize this object.
Definition: jmCocos2d-x.cpp:1132
virtual TextSprite * NewTextSprite() override
Returns a new standard sprite object.
Definition: jmCocos2d-x.h:435
virtual void SetOutlineColor(ColorRGBA _outlineColor) override
Set outline color to the given *_outlineColor*.
Definition: jmCocos2d-x.cpp:773
virtual Map * NewMap(int _zOrderStart) override
Returns a new map object.
Definition: jmCocos2d-x.h:432
virtual GraphicFile * NewFile() override
Returns a new graphic file object.
Definition: jmCocos2d-x.h:429
Extended BinaryStreamReader class which reads from a memory buffer.
Definition: jmStreams.h:125
cocos2d::Sprite * GetCCSprite()
Returns the Cocos2d-x sprite object.
Definition: jmCocos2d-x.h:100
Extended Font class for Cocos2d-x.
Definition: jmCocos2d-x.h:187
Extended StandardSprite class for Cocos2d-x.
Definition: jmCocos2d-x.h:84
void PostInit() override
Interface function for running engine specific code after the scene initialization.
Definition: jmCocos2d-x.cpp:1015
PhysicsMode
The physics mode of the standard sprite.
Definition: jmSprites.h:794
Color in RGBA color space - integer variant.
Definition: jmColor.h:15
void SetCameras(const std::vector< Camera * > &_cameras)
Set Camera objects for this map.
Definition: jmCocos2d-x.h:251
virtual bool IsEngineSpriteInitialized() override
Returns true if the engine sprite of this sprite has been initialized; otherwise returns false.
Definition: jmCocos2d-x.h:93
virtual void Init() override
Initialize this GraphicFile.
Definition: jmCocos2d-x.cpp:141
The EngineScene class defines engine specific scene properties.
Definition: jmScene.h:109
The App is the base class of the application.
Definition: jmApp.h:22
virtual Drawer * NewDrawer() override
Returns a new drawer object.
Definition: jmCocos2d-x.h:436
virtual SpriteLayer * NewSpriteLayer() override
Returns a new sprite layer object.
Definition: jmCocos2d-x.h:433
virtual Font * NewFont(const std::string &_relativeFilePath, int _size, FontKind _fontKind) override
Returns a new text object.
Definition: jmCocos2d-x.h:437
The Scene class is the base class for the application scenes.
Definition: jmScene.h:23
Extended SpriteLayer class for Cocos2d-x.
Definition: jmCocos2d-x.h:145
virtual void UpdateEngineObjects() override
Update the engine sprite.
Definition: jmCocos2d-x.cpp:614
static AppCCNode * Create(jugimap::App *_jmApp)
Create SceneCCNode object with the given _jmScene object.
Definition: jmCocos2d-x.cpp:1100
Extended GraphicFile class for Cocos2d-x.
Definition: jmCocos2d-x.h:60
The GraphicItem class defines the equivalent object from JugiMap Editor.
Definition: jmSourceGraphics.h:34
The EngineApp class defines engine specific application properties.
Definition: jmApp.h:115
virtual void Clear() override
Clear this drawer (required by some engines).
Definition: jmCocos2d-x.cpp:766
Extended Drawer class for Cocos2d-x.
Definition: jmCocos2d-x.h:159
void PostUpdate() override
Interface function for running engine specific code after the scene update.
Definition: jmCocos2d-x.cpp:1028
virtual void Line(Vec2f p1, Vec2f p2) override
Draw a line from the given position p1 to p2.
Definition: jmCocos2d-x.cpp:779
virtual void SetActiveImage(GraphicItem *_image) override
Set the active image to the given *_image*.
Definition: jmCocos2d-x.cpp:211
The base abstract class for reading binary streams.
Definition: jmStreams.h:33
Map()
Constructor.
Definition: jmMap.h:34
The StandardSprite class defines the sprite from JugiMap Editor.
Definition: jmSprites.h:787
void SetSystemMouseCursorVisible(bool _visible) override
Set the visibility of the system mouse cursor.
Definition: jmCocos2d-x.cpp:1086
virtual void UpdateEngineDrawer() override
Update engine objects related to this drawer.
Definition: jmCocos2d-x.cpp:758
cocos2d::Texture2D * GetTexture()
Returns the Cocos2d-x texture object.
Definition: jmCocos2d-x.h:71
The base abstract class for reading text streams.
Definition: jmStreams.h:194
Extended EngineScene class for Cocos2d-x.
Definition: jmCocos2d-x.h:278
Extended BinaryStreamReader class for Cocos2d-x.
Definition: jmCocos2d-x.h:22
virtual void SetPhysicsMode(PhysicsMode _physicsMode) override
Set the physics mode to the given *_physicsMode*.
Definition: jmCocos2d-x.cpp:245
virtual void RectangleOutline(const Rectf &rect) override
Draw the outline of the given rectangle rect.
Definition: jmCocos2d-x.cpp:785
The Sprite is the base sprite class.
Definition: jmSprites.h:32
std::vector< Camera * > & GetCameras()
Returns a reference to the vector with stored cameras.
Definition: jmCocos2d-x.h:258
virtual void UpdateEngineObjects() override
Update the engine sprite.
Definition: jmCocos2d-x.cpp:373
void Close() override
Close the stream.
Definition: jmCocos2d-x.cpp:117
FontKind
The kinds of font.
Definition: jmGlobal.h:124
virtual void UpdateEngineObjects() override
Update the engine map objects.
Definition: jmCocos2d-x.cpp:980
The GraphicFile class defines the equivalent object from JugiMap Editor.
Definition: jmSourceGraphics.h:148
bool IsOpen() override
Returns true if the stream of this object is open for reading; if not it returns false.
Definition: jmCocos2d-x.cpp:94
void PostInit() override
Interface function for running engine specific code after the application initialization.
Definition: jmCocos2d-x.cpp:1060
cocos2d::Node * GetEngineNode()
Returns the Cocos2d-x node object.
Definition: jmCocos2d-x.h:287
Extended TextStreamReader class for Cocos2d-x.
Definition: jmCocos2d-x.h:37
virtual void RemoveAndDeleteSprite(Sprite *_sprite) override
Remove and delete the given sprite *_sprite* from this sprite layer.
Definition: jmCocos2d-x.cpp:707
virtual void update(float delta) override
Update this scene object.
Definition: jmCocos2d-x.cpp:1153
void SetVisible(bool _visible) override
Set the visibility of this map.
Definition: jmCocos2d-x.cpp:992
virtual void CopyProperties(Sprite *_sprite, int copyFlags) override
Copy properties from the given **_sprite**.
Definition: jmCocos2d-x.cpp:358
Extended cocos2d::Scene class for use with jugimap::EngineAppCC objects.
Definition: jmCocos2d-x.h:300
virtual void InitEngineObjects() override
Initialize the engine sprite.
Definition: jmCocos2d-x.cpp:573
The Drawer is the base drawer class.
Definition: jmDrawing.h:20
Extended EngineApp class for Cocos2d-x.
Definition: jmCocos2d-x.h:339
MapType
The types of map.
Definition: jmGlobal.h:42
BinaryFileStreamReaderCC(const std::string &fileName)
Constructor.
Definition: jmCocos2d-x.cpp:18
virtual bool IsEngineSpriteInitialized() override
Returns true if the engine sprite of this sprite has been initialized; otherwise returns false.
Definition: jmCocos2d-x.h:127
virtual void EllipseOutline(Vec2f c, Vec2f r) override
Draw the outline of an ellipse defined by the given center point c and radius r.
Definition: jmCocos2d-x.cpp:795
virtual ~AppCCNode()
Destructor.
Definition: jmCocos2d-x.cpp:1117
Extended ObjectFactory class for Cocos2d-x.
Definition: jmCocos2d-x.h:423
cocos2d::Node * GetMapNode()
Returns the MapCCNode object.
Definition: jmCocos2d-x.h:245
void SetPhysicsMaterial(cocos2d::PhysicsMaterial _physicsMaterial)
Set the given *_physicsMaterial* to the Cocos2d-x sprite intended for use in physics simulation.
Definition: jmCocos2d-x.cpp:341
virtual void InitEngineObjects(MapType _mapType) override
Initialize the engine map objects.
Definition: jmCocos2d-x.cpp:972
The Font class defines fonts used in TextSprite objects.
Definition: jmFont.h:16
virtual void InitEngineDrawer() override
Initialize engine objects related to this drawer.
Definition: jmCocos2d-x.cpp:740
AppCCNode * GetAppNode()
Returns the AppCCNode object.
Definition: jmCocos2d-x.h:350
Extended cocos2d::Node class for use with MapCC objects.
Definition: jmCocos2d-x.h:216
The ObjectFactory is the base class for engine specific object factories.
Definition: jmObjectFactory.h:48
jugimap::App * GetJMApp()
Get jugimap::App object link.
Definition: jmCocos2d-x.h:327
Extended Map class for Cocos2d-x.
Definition: jmCocos2d-x.h:233
The base camera class.
Definition: jmCamera.h:22
bool Eof() override
Returns true if the end of file is reached; if not it returns false.
Definition: jmCocos2d-x.cpp:110
virtual void Dot(Vec2f p) override
Draw a dot at the given position p.
Definition: jmCocos2d-x.cpp:821
virtual StandardSprite * NewStandardSprite() override
Returns a new standard sprite object.
Definition: jmCocos2d-x.h:434
The TextSprite class defines the text sprite from JugiMap Editor.
Definition: jmSprites.h:889
cocos2d::Label * GetCCLabel()
Returns the Cocos2d-x label object.
Definition: jmCocos2d-x.h:131
virtual EngineApp * NewEngineApp(App *_app) override
Returns a new map object.
Definition: jmCocos2d-x.h:430
virtual void InitEngineObjects() override
Initialize the engine sprite.
Definition: jmCocos2d-x.cpp:171
void ReadLine(std::string &s) override
Returns true if the stream of this object is open for reading; if not it returns false.
Definition: jmCocos2d-x.cpp:101
The Map class defines the map element from JugiMap Editor.
Definition: jmMap.h:26
Extended TextSprite class for Cocos2d-x.
Definition: jmCocos2d-x.h:119
The SpriteLayer class defines the sprite and tile layers from JugiMap Editor.
Definition: jmLayers.h:303
virtual EngineScene * NewEngineScene(Scene *_scene) override
Returns a new map object.
Definition: jmCocos2d-x.h:431
void PreInit() override
Interface function for running engine specific code before the application initialization.
Definition: jmCocos2d-x.cpp:1053