Esempio n. 1
0
    public int GetCollect(bool _bCollect, out int _iCollectGold, out int _iCollectExp)
    {
        double diffSec = TimeManager.Instance.GetDiffNow(collect_time).TotalSeconds * -1.0d;
        //Debug.Log (diffSec.ToString() + ":" + condition.ToString() );
        CsvMonsterData csvMonster   = DataManager.GetMonster(monster_id);
        double         dCount       = diffSec / csvMonster.revenew_interval;
        int            iCollectGold = (int)dCount * csvMonster.revenew_coin;
        int            iCollectExp  = (int)dCount * csvMonster.revenew_exp;

        if (_bCollect)
        {
            string strNow = TimeManager.StrNow();
            Dictionary <string, string> dict = new Dictionary <string, string> ();
            dict.Add("collect_time", "\"" + strNow + "\"");
            GameMain.dbMonster.Update(monster_serial, dict);
        }

        _iCollectGold = iCollectGold;
        _iCollectExp  = iCollectExp;

        // 健全なのは1
        if ((int)Define.Monster.CONDITION.SICK == condition)
        {
            iCollectGold = 0;
        }
        return((int)iCollectGold);
    }
Esempio n. 2
0
    public void Initialize(int _iMonsterId)
    {
        m_eStep = STEP.IDLE;
        CsvMonsterData master_data = DataManager.GetMonster(_iMonsterId);

        m_lbNumber.text = string.Format("No.{0}", master_data.monster_id);

        m_lbName.text = master_data.name;

        m_lbUriage.text = UtilString.GetSyuunyuu(master_data.revenew_coin, master_data.revenew_interval);
        //m_lbUriage.text = master_data.revenew_coin.ToString() + " / " + master_data.revenew_interval.ToString();
        m_lbExp.text  = master_data.revenew_exp.ToString();
        m_lbCost.text = master_data.cost.ToString();

        m_lbExplain.text = master_data.description_book;

        string strRarity = "";

        for (int i = 0; i < master_data.rare; i++)
        {
            strRarity += "★";
        }
        m_lbRarity.text = strRarity;        //master_data.rare.ToString();

        string  strSpriteName = GetSpriteName(master_data.monster_id);
        UIAtlas atlas         = AtlasManager.Instance.GetAtlas(strSpriteName);

        m_sprMonster.atlas      = atlas;
        m_sprMonster.spriteName = strSpriteName;
    }
Esempio n. 3
0
 static void WhereTest()
 {
     for (int i = 0; i < 10; i++)
     {
         CsvMonsterData monster_csv = DataManager.GetMonster(i);
         Debug.Log(string.Format("name:{0} revin:{1}", monster_csv.name, monster_csv.revenew_interval));
     }
 }
Esempio n. 4
0
    // Update is called once per frame
    void Update()
    {
        bool bInit = false;

        if (m_eStepPre != m_eStep)
        {
            m_eStepPre = m_eStep;
            bInit      = true;
        }

        switch (m_eStep)
        {
        case STEP.INITIALIZE:
            if (bInit)
            {
                m_switchSprite.SetSprite("work_clear");
            }

            //Debug.LogError (SpriteManager.Instance.IsIdle ());
            if (SpriteManager.Instance.IsIdle())
            {
                m_eStep = STEP.IDLE;
            }
            break;

        case STEP.IDLE:
            if (bInit)
            {
                m_goHit.SetActive(false);
                m_sprWhite.gameObject.SetActive(false);
                m_btnClose.gameObject.SetActive(false);
            }

            if (0 < m_WorkIdQueue.Count && TutorialManager.Instance.IsTutorial() == false)
            {
                m_iPopupWorkId = m_WorkIdQueue.Dequeue();
                m_eStep        = STEP.OPEN;
            }
            break;

        case STEP.OPEN:
            if (bInit)
            {
                GameMain.Instance.TutorialInputLock = true;
                SoundManager.Instance.PlaySE("se_work_clear");

                m_goHit.SetActive(true);
                m_sprWhite.gameObject.SetActive(true);
                m_btnClose.gameObject.SetActive(true);

                m_sprWorkIcon.spriteName = BannerWork.GetSpriteName(m_iPopupWorkId);
                m_sprWorkIcon.atlas      = AtlasManager.Instance.GetAtlas(m_sprWorkIcon.spriteName);
                CsvWorkData work_data = DataManager.GetWork(m_iPopupWorkId);

                m_lbTitle.text   = work_data.title;
                m_lbTitle2.text  = work_data.title;
                m_lbMessage.text = work_data.description;
                m_lbExp.text     = work_data.exp.ToString();

                string strPrize = "";
                if (0 < work_data.prize_coin)
                {
                    strPrize = string.Format("{0}G", work_data.prize_coin);
                }
                else if (0 < work_data.prize_monster)
                {
                    CsvMonsterData monster_data = DataManager.GetMonster(work_data.prize_monster);
                    strPrize = string.Format("{0}", monster_data.name);
                }
                else if (0 < work_data.prize_ticket)
                {
                    strPrize = string.Format("チケット{0}枚", work_data.prize_ticket);
                }
                else
                {
                    Debug.LogError("unknown prize");
                }
                m_lbPrize.text = strPrize;


                TweenScale ts = TweenScale.Begin(m_switchSprite.gameObject, 0.2f, Vector3.one);
                EventDelegate.Set(ts.onFinished, EndTween);
            }
            if (m_bIsEndTween)
            {
                m_eStep = STEP.WAIT;
            }
            break;

        case STEP.WAIT:
            if (bInit)
            {
                m_btnClose.TriggerClear();
            }
            if (m_btnClose.ButtonPushed)
            {
                m_eStep = STEP.CLOSE;
            }
            break;

        case STEP.CLOSE:
            if (bInit)
            {
                m_bIsEndTween = false;
                TweenScale ts = TweenScale.Begin(m_switchSprite.gameObject, 0.2f, Vector3.zero);
                EventDelegate.Set(ts.onFinished, EndTween);

                GameMain.Instance.TutorialInputLock = false;
            }
            if (m_bIsEndTween)
            {
                m_eStep = STEP.IDLE;
                if (0 < m_WorkIdQueue.Count)
                {
                    m_iPopupWorkId = m_WorkIdQueue.Dequeue();
                    m_eStep        = STEP.OPEN;
                }
            }
            break;

        case STEP.MAX:
        default:
            break;
        }
        return;
    }
Esempio n. 5
0
    public int GetUriagePerHour()
    {
        float fTotalRate = GetSymbolRate();

        int           iRet          = 0;
        bool          bHalf         = true;
        CtrlFieldItem ctrlFieldItem = GameMain.ParkRoot.GetFieldItem(item_serial);

        //Debug.LogError (item_serial);
        if (ctrlFieldItem != null)
        {
            //Debug.LogError (ctrlFieldItem.m_dataItem.category);
        }
        if (ctrlFieldItem != null && ctrlFieldItem.m_eRoad == Define.ROAD.CONNECTION_SHOP)
        {
            bHalf = false;
            //Debug.LogError ("here ");
        }
        //Debug.LogError (bHalf);

        // 例外?処理
        CsvItemData csv_item_data = DataManager.GetItem(item_id);

        if (0 < csv_item_data.revenue)
        {
            int iCount = 3600 / csv_item_data.revenue_interval;
            // お店自体金額回収

            iRet = iCount * csv_item_data.revenue;
            if (bHalf)
            {
                iRet /= 2;
            }
            if (status == 0)
            {
                iRet = 0;
            }

            iRet = (int)(iRet * fTotalRate);

            return(iRet);
        }

        List <DataMonster> monster_list = GameMain.dbMonster.Select(" item_serial = " + item_serial.ToString());
        int iUriageMax = 0;

        foreach (DataMonster monster in monster_list)
        {
            CsvMonsterData monster_csv = DataManager.GetMonster(monster.monster_id);

            int iCount = 3600 / monster_csv.revenew_interval;
            iUriageMax += monster_csv.revenew_coin * iCount;
        }
        CsvItemDetailData item_detail_data = DataManager.GetItemDetail(item_id, level);

        iUriageMax = (iUriageMax * item_detail_data.revenue_rate) / 100;
        iRet       = iUriageMax;
        if (bHalf)
        {
            iRet /= 2;
        }
        iRet = (int)(iRet * fTotalRate);

        return(iRet);
    }
Esempio n. 6
0
    //DBへ保存
    public void Replace(CsvMonsterData _replocalData)
    {
        int iInitStatus = 0;

        if (_replocalData.open_work_id == 0)
        {
            iInitStatus = 1;
        }

        string strName            = CommonConvertToSaveDb(_replocalData.name);
        string strDescriptionBook = CommonConvertToSaveDb(_replocalData.description_book);
        string strDescriptionCell = CommonConvertToSaveDb(_replocalData.description_cell);

        DataMonsterMaster data_replace = new DataMonsterMaster();

        data_replace.monster_id       = _replocalData.monster_id;
        data_replace.name             = strName;
        data_replace.description_cell = _replocalData.description_cell;
        data_replace.cost             = _replocalData.cost;
        data_replace.fill             = _replocalData.fill;
        data_replace.dust             = _replocalData.dust;
        data_replace.coin             = _replocalData.coin;
        data_replace.ticket           = _replocalData.ticket;
        data_replace.revenew_coin     = _replocalData.revenew_coin;
        data_replace.revenew_exp      = _replocalData.revenew_exp;
        data_replace.revenew_interval = _replocalData.revenew_interval;
        data_replace.open_work_id     = _replocalData.open_work_id;
        data_replace.description_book = _replocalData.description_book;
        data_replace.size             = _replocalData.size;
        data_replace.rare             = _replocalData.rare;
        data_replace.status           = iInitStatus;

        m_soDataMonsterMaster.list.Add(data_replace);

        /*
         * //データの上書きのコマンドを設定する 
         * string strQuery = "replace into " + TABLE_NAME + " (monster_id,name,description_cell,cost,fill,dust,coin,ticket,revenew_coin,revenew_exp,revenew_interval,open_work_id,description_book,size,rare,status) values( '" +
         *                _replocalData.monster_id.ToString () + "',\"" +
         *                strName.ToString () + "\",\"" +
         *                strDescriptionCell.ToString () + "\",'" +
         *                _replocalData.cost.ToString () + "','" +
         *                _replocalData.fill.ToString () + "','" +
         *                _replocalData.dust.ToString () + "',\"" +
         *                _replocalData.coin.ToString () + "\",'" +
         *                _replocalData.ticket.ToString () + "','" +
         *                _replocalData.revenew_coin.ToString () + "','" +
         *                _replocalData.revenew_exp.ToString () + "','" +
         *                _replocalData.revenew_interval.ToString () + "','" +
         *                _replocalData.open_work_id.ToString () + "',\"" +
         *                strDescriptionBook+ "\",'" +
         *                _replocalData.size.ToString () + "','" +
         *                _replocalData.rare.ToString () + "','" +
         *                iInitStatus.ToString ()  + "');";
         *
         * Debug.Log( "DBMonsterMaster:"+strQuery);
         *
         * //m_sqlDBはDBDataBaseのプロテクト変数
         * SQLiteQuery query = new SQLiteQuery(m_sqlDB,strQuery);
         *
         * query.Step ();      //
         * query.Release ();   //解放
         */
    }
Esempio n. 7
0
    // Update is called once per frame
    void Update()
    {
        bool bInit = false;

        if (m_eStepPre != m_eStep)
        {
            m_eStepPre = m_eStep;
            bInit      = true;
        }

        switch (m_eStep)
        {
        case STEP.IDLE:
            if (bInit)
            {
                m_buttonBase.TriggerClear();
            }

            if (m_buttonBase.ButtonPushed)
            {
                m_buttonBase.TriggerClear();
                if (m_dataWork.status == 1)
                {
                    if (0 < m_dataWork.mission_monster)
                    {
                        m_eStep = STEP.MONSTER_BUY_CHECK;
                    }
                    else if (0 < m_dataWork.mission_item)
                    {
                        DataItemMaster item_master = GameMain.dbItemMaster.Select(m_dataWork.mission_item);

                        if (item_master.status == (int)Define.Item.Status.NONE)
                        {
                            m_eStep = STEP.ITEM_HINT;
                        }
                        else
                        {
                            m_eStep = STEP.ITEM_MOVE;
                        }
                    }
                    else if (0 < m_dataWork.mission_staff)
                    {
                        m_eStep = STEP.STAFF_MOVE;
                    }
                    else
                    {
                    }
                }
            }
            break;

        case STEP.MONSTER_BUY_CHECK:
            if (bInit)
            {
                GameObject objOjisan = PrefabManager.Instance.MakeObject("prefab/PrefOjisanCheck", gameObject.transform.parent.parent.parent.parent.gameObject);
                m_ojisanCheck = objOjisan.GetComponent <CtrlOjisanCheck> ();

                CsvMonsterData monster_data = DataManager.GetMonster(m_dataWork.mission_monster);

                string strDisp = "";
                if (monster_data.coin <= DataManager.user.m_iGold)
                {
                    strDisp = string.Format("本当に購入しますか?\n({0}G)\n\n{1}G→[FFD900]{2}G[-]", monster_data.coin, DataManager.user.m_iGold, DataManager.user.m_iGold - monster_data.coin);
                    //strDisp = string.Format("こちらの動物を\n購入しますか({0}G)\n\n{1}G→{2}G" , monster_data.coin , DataManager.user.m_iGold , DataManager.user.m_iGold - monster_data.coin );
                }
                else
                {
                    strDisp = string.Format("こちらの動物を\n購入しますか\n\n購入には[FF0000]{0}G[-]必要です\n[FF0000]{1}G[-]不足しています", monster_data.coin, monster_data.coin - DataManager.user.m_iGold);
                    m_ojisanCheck.YesOrNo.EnableButtonYes(false);
                }

                m_ojisanCheck.Initialize(strDisp);
            }
            if (m_ojisanCheck.IsYes())
            {
                Destroy(m_ojisanCheck.gameObject);
                SoundManager.Instance.PlaySE(SoundName.BUTTON_PUSH);
                m_eStep = STEP.MONSTER_BUY;
            }
            else if (m_ojisanCheck.IsNo())
            {
                Destroy(m_ojisanCheck.gameObject);
                SoundManager.Instance.PlaySE(SoundName.BUTTON_PUSH);
                m_eStep = STEP.IDLE;
            }
            else
            {
            }

            break;

        case STEP.MONSTER_BUY:
            if (bInit)
            {
                GameObject objOjisan = PrefabManager.Instance.MakeObject("prefab/PrefOjisanCheck", gameObject.transform.parent.parent.parent.parent.gameObject);
                m_ojisanCheck = objOjisan.GetComponent <CtrlOjisanCheck> ();
                string strDisp = "購入完了しました\n檻から設置を\n行ってください\n";
                m_ojisanCheck.Initialize(strDisp, true);

                /*
                 * Dictionary< string , string > dict = new Dictionary< string , string > ();
                 * int iConditionFine = (int)Define.Monster.CONDITION.FINE;
                 * dict.Add( "condition" , iConditionFine.ToString() );
                 */
                GameMain.dbMonster.Insert(m_dataWork.mission_monster, 0);
                CsvMonsterData monster_data = DataManager.GetMonster(m_dataWork.mission_monster);

                DataManager.user.AddGold(monster_data.coin * -1);
                DataWork.WorkCheck();
            }
            if (m_ojisanCheck.IsYes())
            {
                Destroy(m_ojisanCheck.gameObject);
                m_eStep = STEP.IDLE;
                GameMain.ListRefresh = true;
            }
            break;

        case STEP.ITEM_HINT:
            if (bInit)
            {
                GameObject objOjisan = PrefabManager.Instance.MakeObject("prefab/PrefOjisanCheck", gameObject.transform.parent.parent.parent.parent.gameObject);
                m_ojisanCheck = objOjisan.GetComponent <CtrlOjisanCheck> ();

                DataItemMaster item_mission = GameMain.dbItemMaster.Select(m_dataWork.mission_item);
                DataItemMaster item_open    = GameMain.dbItemMaster.Select(item_mission.open_item_id);

                string strDisp = string.Format("HINT!\n\n{0}は\n[FF0000]{1}[-]を購入すると\n購入可能になります", item_mission.name, item_open.name);
                m_ojisanCheck.Initialize(strDisp, true);
            }
            if (m_ojisanCheck.IsYes())
            {
                Destroy(m_ojisanCheck.gameObject);
                m_eStep = STEP.IDLE;
            }
            break;

        case STEP.ITEM_MOVE:
            if (bInit)
            {
                GameObject objOjisan = PrefabManager.Instance.MakeObject("prefab/PrefOjisanCheck", gameObject.transform.parent.parent.parent.parent.gameObject);
                m_ojisanCheck = objOjisan.GetComponent <CtrlOjisanCheck> ();


                string strDisp = string.Format("購入ページに移動します\nよろしいですか?");
                m_ojisanCheck.Initialize(strDisp);
            }
            if (m_ojisanCheck.IsYes())
            {
                Destroy(m_ojisanCheck.gameObject);

                DataItemMaster item_mission = GameMain.dbItemMaster.Select(m_dataWork.mission_item);
                switch (item_mission.category)
                {
                case 1:
                default:
                    GameMain.Instance.m_iMoveTab = 0;
                    break;

                case 2:
                    GameMain.Instance.m_iMoveTab = 1;
                    break;

                case 3:
                    GameMain.Instance.m_iMoveTab = 2;
                    break;
                }

                GameMain.Instance.SetStatus(GameMain.STATUS.ITEM);
                //m_eStep = STEP.IDLE;
            }
            else if (m_ojisanCheck.IsNo())
            {
                Destroy(m_ojisanCheck.gameObject);
                m_eStep = STEP.IDLE;
            }
            else
            {
            }
            break;

        case STEP.STAFF_MOVE:
            if (bInit)
            {
                GameObject objOjisan = PrefabManager.Instance.MakeObject("prefab/PrefOjisanCheck", gameObject.transform.parent.parent.parent.parent.gameObject);
                m_ojisanCheck = objOjisan.GetComponent <CtrlOjisanCheck> ();

                //string strDisp = string.Format("HINT!\n\nスタッフを雇う場合は\n檻を選択してから\n配置を行うことができます"  );
                string strDisp = string.Format("\n\nHINT!\n\nオフィス購入後、各施設の「配置」タブからスタッフを雇えるよ!\n\n");

                m_ojisanCheck.Initialize(strDisp, true);
            }
            if (m_ojisanCheck.IsYes())
            {
                Destroy(m_ojisanCheck.gameObject);
                m_eStep = STEP.IDLE;
            }
            break;

            break;

        case STEP.MAX:
        default:
            break;
        }
    }