真正開始使用自己的serialize功能後
發現沒有serialize map的功能只好再加一下
首先是在原本的archive內為map加入特定的function如下
再實做存檔以及讀檔的class
終於map的內容也能直接serialize了
不過出來的xml依然不是很漂亮應該要依照階層塞入tab?
ZEAN FANG
2014年1月9日 星期四
2013年12月13日 星期五
C++ XML serialize
之前一直覺得把class存為xml檔或是把xml檔讀入class內十分麻煩
雖然有boost::serialize可以用但出來的檔案實在不是人類看得懂的
所以就模仿的一下自己寫了個xml serialize
首先看一下使用方式
方法很像boost::serialize只是多傳了個參數的名稱
出來的檔案就會是
接下來是cvsArchiveBase定義了Archive該擁有的基底功能
然後是負責呼叫save實做的cvsArchiveXml
最後cvsSaveXml則是負責將data寫入file內
這邊比較麻煩的是得Partial Template Specialization所有基本c++型別
版面不足列出float的部份就好xd
只要再把讀檔功能做完以後就不用寫一堆dump跟parse xml的function了 可喜可賀
雖然有boost::serialize可以用但出來的檔案實在不是人類看得懂的
所以就模仿的一下自己寫了個xml serialize
首先看一下使用方式
方法很像boost::serialize只是多傳了個參數的名稱
出來的檔案就會是
接下來是cvsArchiveBase定義了Archive該擁有的基底功能
然後是負責呼叫save實做的cvsArchiveXml
最後cvsSaveXml則是負責將data寫入file內
這邊比較麻煩的是得Partial Template Specialization所有基本c++型別
版面不足列出float的部份就好xd
只要再把讀檔功能做完以後就不用寫一堆dump跟parse xml的function了 可喜可賀
2013年10月2日 星期三
C++ Data Binding Cont.
繼之前的架構加了一組base class讓binding之後property更動會自動通知其他property
下面所列就是基底class
為了將自身所相關binding存起來而存在
以下則是測試code
A的m_strTestProp將會自動更新為"ccc"了
下面所列就是基底class
為了將自身所相關binding存起來而存在
以下則是測試code
A的m_strTestProp將會自動更新為"ccc"了
2013年9月10日 星期二
C++ Data Binding
一直想在c++內實作WPF的Data Binding
苦於功力的不足一直到現在才算是完成了
下面的cvsProperty是為了將class內member位置存起來而存在的
而cvsBinding則是為了將兩個不同class的property binding在一起
最後則是付上測試碼,結果A的m_strTestProp亦會變成"ccc"
苦於功力的不足一直到現在才算是完成了
下面的cvsProperty是為了將class內member位置存起來而存在的
而cvsBinding則是為了將兩個不同class的property binding在一起
最後則是付上測試碼,結果A的m_strTestProp亦會變成"ccc"
2013年8月26日 星期一
Unity-MonoBehaviour
第一次接了unity相關的case
藉機了解了一些unity的設計
prefab的概念十分不錯不過我懷疑資源是否是共用的,如果不是那效能跟執行檔的大小的確是有待商榷
另外一個很不能接受的地方是script內繼承MonoBehaviour後class產生的順序
由於使用者無法正確得知classes真正生成的順序變成某些initial就只能在每個class的Awake()內都做一遍
實在是有點麻煩
以下例來說,AssetsManager本身是metaioSDK內的資源管理器
由於不知道是我的metaioVirtualButton先生成或是metaioSDK先生成
於是AssetsManager.extractAssets(true)也必須在我的class內執行一次...
藉機了解了一些unity的設計
prefab的概念十分不錯不過我懷疑資源是否是共用的,如果不是那效能跟執行檔的大小的確是有待商榷
另外一個很不能接受的地方是script內繼承MonoBehaviour後class產生的順序
由於使用者無法正確得知classes真正生成的順序變成某些initial就只能在每個class的Awake()內都做一遍
實在是有點麻煩
以下例來說,AssetsManager本身是metaioSDK內的資源管理器
由於不知道是我的metaioVirtualButton先生成或是metaioSDK先生成
於是AssetsManager.extractAssets(true)也必須在我的class內執行一次...
2013年8月9日 星期五
Corvus Map Operation
最近算是正式開始Corvus Engine的建構
很厚顏無恥的抄襲了Havok的map架構
基本上使使用對各種type使用hash的方式產生key值
大致上就如下面的cvsMapOperations所做 只是各種type可能要寫上自己的template specialization
很厚顏無恥的抄襲了Havok的map架構
基本上使使用對各種type使用hash的方式產生key值
大致上就如下面的cvsMapOperations所做 只是各種type可能要寫上自己的template specialization
2013年7月29日 星期一
Memo
javah -d jni -classpath ./bin/classes com.metaio.virtualbutton.VBInterface
adb logcat -c
adb logcat -d > logcat.txt
訂閱:
文章 (Atom)