cocos2d中间层调用IOS(二)

原创 2016年08月30日 10:30:23

ios通过.mm文件进行调用AppController.mm的方法

js_bindings_lcm_api.h:

//
//  js_bindings_lcm_api.h
//  MoonWarriors
//
//  Created by xiaohei on 2/21/17.
//
//

#ifndef __LCM__js_bindings_lcm_api__
#define __LCM__js_bindings_lcm_api__

#include "cocos2d.h"

namespace LCMJSB {
class LCMAPI : public cocos2d::Ref
{
public:
    static LCMAPI* getInstance();
    
private:
    LCMAPI();
    virtual ~LCMAPI();
    
public:
    void continueProcessing();
    void LUpdateBalance();
    void checkBalanceEnoughForPay(std::string sku, std::string transid);
    void setLExtraData(std::string eventName, std::string jsonData);
    std::string getLAccessToken();
    std::string getLUserStringInfo();
    std::string getLIdFromUser();
    std::string getLTotalBalance();
    std::string getLPaidBalance();
    std::string getLFreeBalance();
    std::string getChannelName();
    bool getLIsShowBalance();
    void setLMenuBarVisible(bool isShow, int pos);
    void showLCustomerService();
    void lcmLogout();
    void lcmLogin();
    void lcmNotifyClean();
    void lcmNotifyEveryday(int hour, int min, std::string title, std::string txt, std::string icon, int code);
    
private:
    
//    static LCMAPI * instance_;
};
}


#endif /* defined(__LCM__js_bindings_lcm_api__) */

js_bindings_lcm_api.mm:

//
//  js_bindings_lcm_api.cpp
//  MoonWarriors
//
//  Created by xiaohei on 3/2/17.
//
//

#include "js_bindings_lcm_api.h"
#import "Reachability.h"
#import "AppController.h"
#import <UIKit/UIKit.h>

using namespace cocos2d;
namespace LCMJSB {
    //LCMAPI* LCMAPI::instance_ = nullptr;

    LCMAPI* LCMAPI::getInstance()
    {
        static LCMAPI instance_;
        return std::addressof(instance_);
    }

    LCMAPI::LCMAPI()
    {  
    }

    LCMAPI::~LCMAPI()
    {
    }

    void LCMAPI::continueProcessing()
    {
        [AppController continueProcessing];
    }

    std::string LCMAPI::getLTotalBalance()
    {
        std::string *ret = new std::string([[AppController getLTotalBalance] UTF8String]);
        return *ret;
    }

    bool LCMAPI::getLIsShowBalance()
    {
        bool ret = (bool)[AppController getLIsShowBalance];
        return ret;
    }

    void LCMAPI::lcmNotifyEveryday(int hour, int min, std::string title, std::string txt, std::string icon, int code)
    {
        NSString *nstitle= [NSString stringWithCString:title.c_str() encoding:NSUTF8StringEncoding];
        NSString *nstxt= [NSString stringWithCString:txt.c_str() encoding:NSUTF8StringEncoding];
        NSString *nsicon= [NSString stringWithCString:icon.c_str() encoding:NSUTF8StringEncoding];
        [AppController lcmNotifyEveryday:hour withMin:min withTitle:nstitle withTxt:nstxt withIcon:nsicon withCode:code];
    }
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

cocos2d中间层调用Android(三)

ios通过.cpp文件进行调用AppActivity.java的方法 js_bindings_lcm_api.cpp: // // js_bindings_lcm_api.cpp // Moo...

cocos2d中间层创建(一)

首先编辑jsb中间层,主要是在AppDelegate中进行注册单例,在js中进行调用 jsb_lcm_api.h: // // jsb_lcm_api.h // MoonWarriors ...

【Unity3D技巧】在Unity中使用事件/委托机制(event/delegate)进行GameObject之间的通信 (二) : 引入中间层NotificationCenter

转载自:http://www.cnblogs.com/neverdie/p/3790879.html?utm_source=tuicool&utm_medium=referral 作者:王选易,...

ios5 cocos2d游戏开发实战

  • 2015-09-19 13:09
  • 5.54MB
  • 下载

ios5 cocos2d 游戏开发实战

  • 2013-10-23 17:37
  • 5.54MB
  • 下载

【cocos2d-js官方文档】二十三、如何在IOS平台上使用js直接调用OC方法

在Cocos2d-JS v3.0 RC2中,与Android上js调用Java一样,Cocos2d-JS也提供了在iOS和Mac上js直接调用Objective-C的方法,示例代码如下: va...

ios naturato cocos2d

IOS 5 cocos2d游戏开发实战

  • 2013-08-17 23:20
  • 4.63MB
  • 下载

【iOS-Cocos2d游戏开发之二十】精灵的基础知识点总汇(位图操作/贴图更换/重排z轴等)以及利用CCSprite与CCLayerColor制作简单遮盖层!

李华明Himi 原创,转载务必在明显处注明:转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2d/516.html    最近写了...

naruto ios game cocos2d

  • 2012-03-12 04:00
  • 12.62MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)