コード例 #1
0
    // Update is called once per frame
    void Update()
    {
        string strPrefab = "prefab/PrefItemDetailDisp";

        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();
                Debug.Log("clicked:BannerBase.Mode=" + BannerBase.Mode.ToString());

                if (m_bAbleUse)
                {
                    switch (BannerBase.Mode)
                    {
                    case BannerBase.MODE.STAFF_SET_BUY:
                        m_eStep = STEP.SETTING;
                        break;

                    case BannerBase.MODE.STAFF_SET_MINE:
                        m_eStep = STEP.SETTING;
                        break;

                    case BannerBase.MODE.STAFF_BACKYARD_CHECK:
                        m_eStep = STEP.BACKYARD_CHECK;
                        break;

                    default:
                        break;
                    }
                }
            }
            break;

        case STEP.SETTING:
            if (bInit)
            {
                // この作り方はいただけませんねぇ・・・
                GameObject obj = PrefabManager.Instance.MakeObject("prefab/PrefStaffSetting", gameObject);
                m_staffSetting = obj.GetComponent <CtrlStaffSetting> ();

                Debug.Log(m_staffSetting);

                // ここで取得するっていうのもなんか良くないっすね
                DataItem officeData = GameMain.dbItem.Select(GameMain.Instance.m_iSettingItemSerial);

                Debug.Log(officeData);
                Debug.Log(m_dataStaff.staff_id);
                Debug.Log(m_dataStaff.staff_serial);

                Debug.Log(m_staffSetting);
                m_staffSetting.Initialize(officeData, m_dataStaff.staff_id, m_dataStaff.staff_serial);
            }
            if (m_staffSetting.IsEnd())
            {
                m_staffSetting.Close();
                Destroy(m_staffSetting.gameObject);
                m_staffSetting = null;
                m_eStep        = STEP.IDLE;
            }
            break;

        case STEP.BACKYARD_CHECK:
            if (bInit)
            {
                GameObject objOjisan = PrefabManager.Instance.MakeObject("prefab/PrefOjisanCheck", gameObject.transform.parent.parent.parent.parent.gameObject);
                m_ojisanCheck = objOjisan.GetComponent <CtrlOjisanCheck> ();
                m_ojisanCheck.Initialize("こちらのスタッフを\n待機室へ\n移動させます。");
            }
            if (m_ojisanCheck.IsYes())
            {
                GameMain.ListRefresh = true;
                m_eStep = STEP.BACKYARD;
            }
            else if (m_ojisanCheck.IsNo())
            {
                Destroy(m_ojisanCheck.gameObject);
                m_eStep = STEP.IDLE;
            }
            else
            {
            }
            break;

        case STEP.BACKYARD:

            CtrlFieldItem field_item = GameMain.ParkRoot.GetFieldItem(m_dataStaff.item_serial);
            field_item.RemoveStaff(m_dataStaff.staff_serial);

            Dictionary <string, string> dict = new Dictionary <string, string> ();
            dict.Add("office_serial", 0.ToString ());
            dict.Add("item_serial", 0.ToString ());
            //dict.Add ("setting_time", "\"" + strNow + "\"");
            GameMain.dbStaff.Update(m_dataStaff.staff_serial, dict);

            CsvStaffData staff_data = DataManager.GetStaff(m_dataStaff.staff_id);
            GameMain.Instance.m_iCostNokori += staff_data.cost;

            GameMain.ListRefresh = true;

            m_eStep = STEP.IDLE;
            // 仕事の確認
            DataWork.WorkCheck();
            GameMain.Instance.HeaderRefresh();
            // バックヤードに戻す場合はこっちでおじさんをけすd
            Destroy(m_ojisanCheck.gameObject);

            break;

        default:
            break;
        }
    }
コード例 #2
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)
            {
                if (m_csKatazukeCheck != null)
                {
                    Destroy(m_csKatazukeCheck.gameObject);
                    m_csKatazukeCheck = null;
                }

                m_pageHeader.TriggerClear();
            }
            displayAutoUpdate(ITEM_DETAIL_TABS);

            if (m_pageHeader.ButtonPushed)
            {
                m_eStep = STEP.KATAZUKE_CHECK;
            }
            break;

        case STEP.KATAZUKE_CHECK:
            if (bInit)
            {
                GameObject obj = PrefabManager.Instance.MakeObject("prefab/PrefKatazukeCheck", gameObject);
                m_csKatazukeCheck = obj.GetComponent <CtrlKatazukeCheck> ();
                m_csKatazukeCheck.Initialize();
            }
            if (m_csKatazukeCheck.YesOrNo.IsYes())
            {
                m_eStep = STEP.KATAZUKE;
            }
            else if (m_csKatazukeCheck.YesOrNo.IsNo())
            {
                m_eStep = STEP.IDLE;
            }
            else
            {
                ;                // なにもしない
            }
            break;

        case STEP.KATAZUKE:
            if (bInit)
            {
            }

            List <DataStaff> staff_list = GameMain.dbStaff.Select(" office_serial = " + GameMain.Instance.m_iSettingItemSerial.ToString());

            Dictionary <string, string> dict = new Dictionary <string, string> ();
            dict.Add("office_serial", "0");
            dict.Add("item_serial", "0");
            foreach (DataStaff staff in staff_list)
            {
                CtrlFieldItem fielditem = GameMain.ParkRoot.GetFieldItem(staff.item_serial);
                fielditem.RemoveStaff(staff.staff_serial);
                GameMain.dbStaff.Update(staff.staff_serial, dict);
            }

            // 上のスタッフを削除したとにしてください
            Debug.Log(GameMain.Instance.m_iSettingItemSerial);
            CtrlFieldItem ctrlFieldItem = GameMain.ParkRoot.GetFieldItem(GameMain.Instance.m_iSettingItemSerial);
            for (int x = m_dataItem.x; x < m_dataItem.x + m_dataItem.width; x++)
            {
                for (int y = m_dataItem.y; y < m_dataItem.y + m_dataItem.height; y++)
                {
                    GameObject obj = PrefabManager.Instance.MakeObject("prefab/PrefFieldItem", GameMain.ParkRoot.gameObject);
                    obj.name = "fielditem_" + x.ToString() + "_" + y.ToString();
                    CtrlFieldItem script = obj.GetComponent <CtrlFieldItem> ();
                    script.Init(x, y, 0);
                    GameMain.ParkRoot.m_fieldItemList.Add(script);
                }
            }
            ctrlFieldItem.Remove();

            GameMain.dbItem.Update(GameMain.Instance.m_iSettingItemSerial, 0, 0, 0);
            int iRemoveIndex = 0;
            foreach (CtrlFieldItem item in GameMain.ParkRoot.m_fieldItemList)
            {
                if (item.m_dataItem.item_serial == GameMain.Instance.m_iSettingItemSerial)
                {
                    GameMain.ParkRoot.m_fieldItemList.RemoveAt(iRemoveIndex);
                    break;
                }
                iRemoveIndex += 1;
            }

            // 取り除く
            if (m_itemDetailBase != null)
            {
                m_itemDetailBase.Remove();
            }
            // 片付けして戻る
            m_closeButton.Close();
            Destroy(m_csKatazukeCheck.gameObject);
            m_csKatazukeCheck = null;

            // 仕事の確認
            DataWork.WorkCheck();
            GameMain.Instance.HeaderRefresh();


            break;

        default:
            break;
        }
    }