AniSteveCharacter.h 4.81 KB
//
//  AniSteveCharacter.h
//  SteveMaggieCpp
//
//  Created by Katarzyna Kalinowska-Górska on 16.05.2017.
//
//

#ifndef AniSteveCharacter_h
#define AniSteveCharacter_h

#include "IMapCharacter.h"


class AniSteveCharacter : public IMapCharacter {

    public:
    
    static std::string SIT_SMILE_IMAGE;
    static std::string SIT_DISAPPOINTED_IMAGE;
    
        static std::vector< std::string> STAND_IMAGES;
        static std::vector< std::string> WALK_IMAGES;
        static std::vector< std::string> JUMP_SQUAT_IMAGES;
        static std::vector< std::string> JUMP_BACK_SQUAT_IMAGES;
        static std::vector< std::string> JUMP_IMAGES;
    static std::vector< std::string> JUMP_BACK_IMAGES;
        static std::vector< std::string> CLIMB_IMAGES;
        static std::vector< std::string> SLIDE_IMAGES;
        static std::vector< std::string> LAUGH_STANDING_IMAGES;
        static std::vector< std::string> LAUGH_SITTING_IMAGES;
        static std::vector< std::string> LAUGH_LYING_IMAGES;
        static std::vector< std::string> DANCE_IMAGES;
        static std::vector< std::string> NUDGE_IMAGES;
        static std::vector< std::string> BORED_ANIM_IMAGES1;
        static std::vector< std::string> BORED_IMAGES;
    
    static std::vector< std::string> JUMP_SIDEWAYS_IMAGES;
    
        static std::vector< std::string> JUMP_SOUNDS;
        static std::vector< std::string> CLIMB_SOUNDS;
//        static std::vector< std::string> SING_SONG_SOUNDS;
        static std::vector< std::string> LAUGH_SOUNDS;
        static std::vector< std::string> LAUGH_MUCH_SOUNDS;
        static std::vector< std::string> POKED_SOUNDS;
//        static std::vector< std::string> LETSPLAY_SOUNDS;
    
        static const float WALK_DELAY_PER_FRAME;
        static const float CLIMB_DELAY_PER_FRAME;
        static const float LAUGH_STANDING_DELAY_PER_FRAME;
        static const float LAUGH_SITTING_DELAY_PER_FRAME;
        static const float LAUGH_LYING_DELAY_PER_FRAME;
        static const float DANCE_DELAY_PER_FRAME;
        static const float BORED_ANIMATION_DELAY_PER_FRAME;
    
        // create
        static AniSteveCharacter* create(IMapCharacterSoundSource* p_soundSource);
        virtual bool init(IMapCharacterSoundSource* p_soundSource) override;
    
    void lookAroundAndSmile();
    void sitAndSmile();
    void sitAndSulk();
        virtual void temporarilyChangeClothes(float time) override;
        virtual void flickerColours();
        virtual void changeClothesColour(cocos2d::Color4F tShirtColour, cocos2d::Color4F trousersColour);
        virtual void applyStandardClothesColour();
    
    virtual void jump(cocos2d::Point landingPoint, std::function<void()> fallingFinishedCallback = [](){});
    
        // other overrides

        virtual const std::string _getDefaultStandImage() override;
        virtual const std::string _getFallingImage() override;
        virtual const std::vector< std::string>& _getWalkImages() override;
        virtual const std::vector< std::string>& _getJumpSquatImages() override;
//        virtual const std::vector< std::string>& _getJumpBackSquatImages() override;
        virtual const std::vector< std::string>& _getJumpImages() override;
//        virtual const std::vector< std::string>& _getJumpBackImages() override;
        virtual const std::vector< std::string>& _getClimbImages() override;
        virtual const std::vector< std::string>& _getLaughStandingImages() override;
        virtual const std::vector< std::string>& _getLaughSittingImages() override;
        virtual const std::vector< std::string>& _getLaughLyingImages() override;
        virtual const std::vector< std::string>& _getDanceImages() override;
        virtual const std::string _getPokedImage() override;
        virtual const std::vector< std::string>& _getBoredStandAnimationImages() override;
        virtual const std::string _getBoredStandImage() override;
        virtual const std::string _getSlidingImage() override;

        virtual const std::vector< std::string>& _getJumpSounds() override;
        virtual const std::vector< std::string>& _getClimbSounds() override;
        virtual const std::vector< std::string>& _getLaughSounds() override;
        virtual const std::vector< std::string>& _getLaughMuchSounds() override;
        virtual const std::vector< std::string>& _getPokedSounds() override;
    
        virtual const float _getWalkDelayPerFrame() override;
        virtual const float _getClimbDelayPerFrame() override;
        virtual const float _getLaughStandingDelayPerFrame() override;
        virtual const float _getLaughSittingDelayPerFrame() override;
        virtual const float _getLaughLyingDelayPerFrame() override;
        virtual const float _getDanceDelayPerFrame() override;
        virtual const float _getBoredAnimationDelayPerFrame() override;
  
    virtual void getAngry(float time);
};



#endif /* AniSteveCharacter_h */