#pragma once #include "2d/CCNode.h" namespace cocos2d { class Sprite; class PhysicsBody; } class UIBar; class Missile : public cocos2d::Node { public: Missile(); ~Missile(); public: void CreateMissileSprite(const std::string& filename); void CreatePhysicsBody(const std::string& filename); void CreateContactEvent(); void SetVelocity(float velocity); void SetDamage(float damage); int GetDamage() const; void SetDirection(const cocos2d::Vec2& direction); void SetAngle(float angle); virtual void update(float delta) final; private: cocos2d::Sprite* sprite{ nullptr }; cocos2d::PhysicsBody* physicsBody{ nullptr }; cocos2d::Vec2 direction; float damage{ 20.0f }; UIBar* hpBar{ nullptr }; };