weimingtom / emo-framework

Automatically exported from code.google.com/p/emo-framework
BSD 3-Clause "New" or "Revised" License
1 stars 0 forks source link

emo frameworkの拡張について #4

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
現在emo 
frameworkにStoreKitを組み合わせて使用しようとテストして
いるのですが少し要望があります。
AppDelegate.mmで以下のように記述しました。

HSQUIRRELVM sqvm = engine.sqvm;
StoreManager::Initialize( sqvm 
); ← これはC++のシングルトン課金用クラス
[self.viewController onLoad];

onLoadが呼ばれる前にSquirrelに独自の拡張をバインドしてonLoad
関数内で
使用したいのですが上記のコードではまだsqvmが0でうまく行
きませんでした。
上記ような事が可能な仕組みをemo 
frameworkに用意出来ないでしょうか?
簡単な手法としてはsqvmの作成部分とonLoadを呼ぶところを分�
��して2つの関数に
なっていれば間に割り込めていいと思います。

[self.viewController initialize];
HSQUIRRELVM sqvm = engine.sqvm;
StoreManager::Initialize( sqvm );
[self.viewController onLoad];

↑例えばこんな感じです。
Androidも多分必要になると思うので一度検討お願い出来ない�
��しょうか?
よろしくお願いします。

Original issue reported on code.google.com by sat...@gmail.com on 2 Sep 2011 at 8:34

GoogleCodeExporter commented 9 years ago
シンプルに、EmoEngine の init で sqvm 
をオープンする修正ではいかがでしょうか?

添付のような修正で、下記のように [viewController awakeFromNib] 
が終わった直後から engine.sqvm が使用可能になります。

viewController = [[EmoViewController alloc] init];
...
[viewController awakeFromNib];
StoreManager::Initialize( sqvm );
[self.viewController onLoad];

Original comment by infosia...@gmail.com on 2 Sep 2011 at 9:49

Attachments:

GoogleCodeExporter commented 9 years ago
この修正版を試したところうまく行きました。対応ありが��
�うございます。
Android版についてはmain.cppのengine->onInitEngine();の前あたりで
sqvmを取得出来れば助かります。こちらはすぐNDKを触る予定�
��無いため
対応していただいても確認は後になってしまいますが。

これでemoのソースを触らずに自由に拡張が出来、emoのバー��
�ョンアップにも
問題なく追従出来る仕組みが出来ました。ありがとうござ��
�ます。

Original comment by sat...@gmail.com on 2 Sep 2011 at 10:40

GoogleCodeExporter commented 9 years ago
確認ありがとうございます。Android 
版の方も修正し、コミットしました。

http://code.google.com/p/emo-framework/source/detail?r=1169

Android 版の方は、 engine = new emo::Engine(); の直後から 
engine->sqvm が使えるようになります。

Original comment by infosia...@gmail.com on 2 Sep 2011 at 11:17