AniMiscUtils.h 2.01 KB
//
//  AniMiscUtils.h
//  SteveMaggieCpp
//
//  Created by Katarzyna Kalinowska-Górska on 17.05.2017.
//
//

#ifndef AniMiscUtils_h
#define AniMiscUtils_h

#include "AniPlainSprite.h"

class AniMiscUtils
{
    public:
    
        enum class ExtendDirectionX {
            BOTH = 0,
            LEFT = 1,
            RIGHT = 2
        };
    
        enum class ExtendDirectionY {
            BOTH = 0,
            UP = 1,
            DOWN = 2,
        };
    
    enum class Level {
        CHILD = 0,
        TEEN = 1,
        ADULT = 2
    };
    
    static const char* levelToString(Level level) {
        if(level == Level::CHILD){
            return "CHILD";
        } else if(level == Level::TEEN){
            return "TEEN";
        } else return "ADULT";
    }
    
    static float StandardAnimationTime;
    static float QuickAnimationTime;
    
    static const std::string WHICH_LEVEL_UD_KEY;
    static const std::string TOS_ACCEPTED_UD_KEY;
    static const std::string BG_MUSIC_PLAYING_UD_KEY;
    static void saveTOSAccepted();
    static bool wasTOSAccepted();
    static void saveLastLevel(Level level);
    static void saveLastLevel(int level);
    static Level lastLevel();
    static int nextLevel();
    static void saveBgMusicPlaying(bool bgMusicPlaying);
    static bool shouldBgMusicPlay();
    
    static std::string clockMinSecTimeString(int seconds);
    
    static void showView(cocos2d::Node*, bool animated, float toAlpha = 255);
    static void hideView(cocos2d::Node*, bool animated);
    static void hideAndRemoveView(cocos2d::Node*, bool animated);
    
    static cocos2d::Rect getExtendedActiveArea(cocos2d::Node* object, float extendPercentValueX = 0, float extendPercentValueY = 0, ExtendDirectionX extendDirX = ExtendDirectionX::BOTH, ExtendDirectionY extendDirY = ExtendDirectionY::BOTH);
    
    static bool isNodeVisible(cocos2d::Node* node);
static void changeAnchorPoint(cocos2d::Node* p_node, cocos2d::Point p_newAnchorPoint);

    static std::string boolToString(bool value);
};

#endif /* AniMiscUtils_h */