万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    Unity Siaqodbのデモの使い方

    昨日はExamplesRunner.csについて書いたが、
    これはMainクラス的なScriptのサンプルが2つあるようだ。

    ・「DemoRunner.cs」
    ・「ExamplesRunner.cs」
    ※コード整形されてなくてコードが汚いです

    これらをそれぞれMain Cameraなどにアタッチして実験すればいいと思います。

    ・DemoRunner.cs
    こちらは直にDBにアクセスするような仕組みになっている。
    SiaqodbExamplesクラスというDLLに隠れたクラスを使っている

    ライセンスもDemoRunnerクラスへ書く

            SiaqodbConfigurator.SetTrialLicense (@"your trial key");
    

    databaseEXにDBのファイルできる。
    SiaqodbExamplesがデータを作ってると思われるがDLL


    ・ExamplesRunner.cs

    DatabaseFactory.csをデータベースに一番近い部分でラッピングされていて、
    KicksManager.csやPlayerManager.csなどを用いているサンプル。

    こちらのほうが汎用性高いかも?

    ちなみにこちらも"DatabaseFactory.cs"の下のコードにライセンス入れる

                    SiaqodbConfigurator.SetTrialLicense(@"your trial key");
    

    こちらの実行結果は

    5人の(サッカーゲームの?)プレイヤーがログインされている状態で、
    ログイン時刻が表示され、
    (2013/6/10, 2013/6/11と言った具合に2013/6/13にアクセスした2日前くらいの値が出ているので
    どのタイミングで入れられたんだ?)

    ランダムでプレイヤーが取り出され、
    KicksManagerにそのプレイヤーの名前をキーにスコアをだす。
    さらに、全プレイヤーベストスコアも出している模様。

    ちなみにファイル自体はAssetsとかではなく、「SiaqodbUnityDemo/database」の中にある
    sqoファイルだった。

    Windows/Macがデフォルトになっており、iOS/Androidそれぞれのプラットフォームへ切り替えられる

                    //if ANDROID:
                    //siaoqodbPath=Application.persistentDataPath;
                    //if Windows or MAC
                    siaoqodbPath = Environment.CurrentDirectory + Path.DirectorySeparatorChar + @"database";
    
                    //if iOS (iPhone /iPad)
                    //siaoqodbPath =Application.dataPath;
    


    中身はこうだった。
    GameEntities.BallKick. GameEntities.sqo
    GameEntities.Player. GameEntities.sqo
    indexinfo2.sqo
    rawdatainfo.sqo

    siaoqodbPathには、特にファイル名の指定はなかったので、
    各テーブル(NoSQLなのでドキュメント?)に相当した名前が付けられているかもしれない。
    しかし、他のフォルダに指定を変えても普通に実行できた。どこからデータとってるんだ?
    「database」を「databaseE」とか適当に変えて存在しないフォルダ名を指定しても勝手に作ってくれた。

    データを勝手に作ってた犯人はGameSimulator.cs
    GameSimulatorのPlay()のGeneratePlayers()によってPlayerやGenerateScores()によってスコアデータを作成されていた