Ejemplo n.º 1
0
    void Update()
    {
        bool bInit     = false;
        bool bHitEvent = false;

        if (Input.GetMouseButtonDown(0))
        {
            RaycastHit hit;

            // 床との当たり判定のみを取りたいのでマスクするレイヤーを設定する
            //int layerNo = LayerMask.NameToLayer ("Floor");
            //int layerMask = 1 << layerNo;

            Ray   ray       = m_useCamera.ScreenPointToRay(Input.mousePosition);
            float fDistance = 100.0f;

            //レイを投射してオブジェクトを検出
            if (Physics.Raycast(ray, out hit, fDistance))
            {
                //Debug.LogError ( hit.collider.gameObject.name +":"+ hit.point.x);
                if (hit.collider.gameObject.name.Equals("bar"))
                {
                    bHitEvent = true;
                    m_goCursor.transform.position = new Vector3(hit.point.x, m_goCursor.transform.position.y, 0.0f);
                }
            }
        }

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

        switch (m_eStep)
        {
        case STEP.NONE:
            return;

        case STEP.LIMIT_CHECK:
            if (EveryStudioLibrary.CommonNetwork.Instance.IsConnected(m_iNetworkSerial) == true)
            {
                EveryStudioLibrary.TNetworkData network_data = EveryStudioLibrary.CommonNetwork.Instance.GetData(m_iNetworkSerial);
                if (network_data.IsError())
                {
                    m_strLimitTime = TimeManager.StrNow();
                    // 過去ならなんでもいい
                    m_strLimitTime = "2015-10-10 10:10:10";
                }
                else
                {
                    string       strRead = EveryStudioLibrary.CommonNetwork.Instance.GetString(m_iNetworkSerial);
                    StringReader sr      = new StringReader(strRead);
                    m_strLimitTime = sr.ReadLine();
                    m_strTitle     = sr.ReadLine();
                    m_lbTitle.text = m_strTitle;
                    sr.Close();
                }
                //m_strLimitTime = "2015-10-10 10:10:10";
                m_bClose = false;
                //Debug.Log (TimeManager.Instance.GetDiffNow (m_strLimitTime).TotalSeconds);
                // 比較して過去だとマイナスになる
                m_eStep = STEP.MAX;
                if (TimeManager.Instance.GetDiffNow(m_strLimitTime).TotalSeconds < 0)
                {
                    m_bClose = true;
                    m_goLimit.SetActive(m_bClose);
                    m_eStep = STEP.LOADING;
                }
            }
            else
            {
            }
            break;

        case STEP.LOADING:
            if (bInit)
            {
                m_AudioChannelData = SoundManager.Instance.PlayBGM("freakyf");
                m_btnPause.gameObject.SetActive(false);
                m_btnPlay.gameObject.SetActive(true);
            }
            if (m_AudioChannelData.m_tAudioSource.isPlaying)
            {
                m_fTimer    = m_AudioChannelData.m_tAudioSource.time;
                m_fTimerMax = m_AudioChannelData.m_tAudioSource.clip.length;
                m_AudioChannelData.m_tAudioSource.Stop();
                m_eStep = STEP.PAUSE;
            }
            else
            {
            }
            break;


        case STEP.PAUSE:
            if (bInit)
            {
                m_bLoaded = true;
                m_btnPause.gameObject.SetActive(false);
                m_btnPlay.gameObject.SetActive(true);
                //m_AudioChannelData.m_tAudioSource.pitch = 0.0f;
                m_AudioChannelData.m_tAudioSource.Stop();
                m_btnPlay.TriggerClear();
            }
            if (m_btnPlay.ButtonPushed)
            {
                m_eStep = STEP.PLAYING;
            }
            break;

        case STEP.PLAYING:
            if (bInit)
            {
                m_btnPause.gameObject.SetActive(true);
                m_btnPlay.gameObject.SetActive(false);
                m_fPitch = 1.0f;
                m_AudioChannelData.m_tAudioSource.time  = m_fTimer;
                m_AudioChannelData.m_tAudioSource.pitch = m_fPitch;
                m_AudioChannelData.m_tAudioSource.Play();
                m_btnPause.TriggerClear();
            }
            if (m_btnPause.ButtonPushed)
            {
                m_eStep = STEP.PAUSE;
            }
            m_fTimer = m_AudioChannelData.m_tAudioSource.time;

            break;

        case STEP.MAX:
        default:
            break;
        }

        float fRate = GetRate(m_fTimer, 0.0f, m_fTimerMax);

        if (bHitEvent == true)
        {
            fRate    = GetRate(m_goCursor.transform.localPosition.x, -320.0f, 320.0f);
            m_fTimer = fRate * m_fTimerMax;
            m_AudioChannelData.m_tAudioSource.time = m_fTimer;
        }
        else
        {
            m_goCursor.transform.localPosition = new Vector3(Linear(fRate, -320.0f, 320.0f), 0.0f, 0.0f);
        }
        SetTime(m_fTimer, m_fTimerMax);

        if (m_btnUp.ButtonPushed)
        {
            m_btnUp.TriggerClear();
            if (m_fPitch < 1.0f)
            {
                m_fPitch = 1.0f;
            }
            m_fPitch += 0.2f;
            m_AudioChannelData.m_tAudioSource.pitch = m_fPitch;
        }
        if (m_btnDown.ButtonPushed)
        {
            m_btnDown.TriggerClear();
            if (-0.2 <= m_fPitch)
            {
                m_fPitch = 0.0f;
            }
            m_fPitch -= 0.2f;
            m_AudioChannelData.m_tAudioSource.pitch = m_fPitch;
        }
    }
Ejemplo n.º 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.INITIALIZW:
            if (bInit)
            {
                m_iDownloadCount = 0;
                foreach (string filename in load_check)
                {
                    StartCoroutine(initialData(filename));
                }
            }
            if (m_iDownloadCount == load_check.Count)
            {
                m_eStep = STEP.CHECK_NEW_DATA;
            }
            break;

        case STEP.CHECK_NEW_DATA:
            if (bInit)
            {
                m_iNetworkSerial = EveryStudioLibrary.CommonNetwork.Instance.Recieve(string.Format("http://ad.xnosserver.com/apps/myzoo_data/ukiss/{0}/datacheck.txt", DataManagerAlarm.Instance.APP_VERSION));
            }
            if (EveryStudioLibrary.CommonNetwork.Instance.IsConnected(m_iNetworkSerial) == true)
            {
                EveryStudioLibrary.TNetworkData network_data = EveryStudioLibrary.CommonNetwork.Instance.GetData(m_iNetworkSerial);
                if (network_data.IsError())
                {
                    m_eStep = STEP.START_MAIN;
                }
                else
                {
                    string       strRead = EveryStudioLibrary.CommonNetwork.Instance.GetString(m_iNetworkSerial);
                    StringReader sr      = new StringReader(strRead);
                    strRead = sr.ReadLine();

                    m_strCsvDataVersion = m_kvs.Read("csv_data_version");

                    Debug.Log(m_strCsvDataVersion);
                    Debug.Log(strRead);

                    if (m_strCsvDataVersion.Equals(strRead) == true)
                    {
                        m_eStep = STEP.START_MAIN;
                        Debug.Log("equal");
                    }
                    else
                    {
                        Debug.Log("not equal");
                        m_eStep             = STEP.COPY_PERMISSIVE;
                        m_strCsvDataVersion = strRead;
                    }

                    /*
                     * string strRead = EveryStudioLibrary.CommonNetwork.Instance.GetString (m_iNetworkSerial);
                     * StringReader sr = new StringReader (strRead);
                     * m_strLimitTime = sr.ReadLine ();
                     * m_strTitle = sr.ReadLine ();
                     * m_lbTitle.text = m_strTitle;
                     * sr.Close ();
                     */
                }
            }
            else
            {
            }
            break;

        case STEP.COPY_PERMISSIVE:
            if (bInit)
            {
                m_iDownloadCount = 0;
                foreach (string filename in load_check)
                {
                    StartCoroutine(LoadData(filename, string.Format("http://ad.xnosserver.com/apps/myzoo_data/ukiss/{0}", DataManagerAlarm.Instance.APP_VERSION)));
                }
            }
            if (m_iDownloadCount == load_check.Count)
            {
                m_eStep = STEP.START_MAIN;

                // データを更新した場合はアセットバンドルの更新があるかも知れないので
                // キャッシュクリアをする
                Caching.CleanCache();

                m_kvs.Write("csv_data_version", m_strCsvDataVersion);
                m_kvs.Save();
            }
            break;

        case STEP.START_MAIN:
            if (bInit)
            {
                SceneManager.LoadScene("main");
            }
            break;

        case STEP.MAX:
        default:
            break;
        }
    }
Ejemplo n.º 3
0
        IEnumerator sendModule(string _strUrl, string _strJson, int _iNetworkSerial)
        {
            // 通信用に収納
            WWWForm form = new WWWForm ();
            form.AddField ("req_data", _strJson);

            Debug.Log (_strUrl + _strJson);

            string strOutput = "";

            WWW www = new WWW (_strUrl, form); //何も返ってこない場合

            // リクエストを受け取る処理(別メソッドでタイムアウト判定)
            yield return StartCoroutine (ResponseConnectJson (www, (float)m_intTimeoutTime));

            //  リクエストエラーの場合
            if (!string.IsNullOrEmpty (www.error)) {

                m_intErrorCode = UNKNOWN_ERROR_CODE;
                m_eConnect = EConnect.ERROR_UNKNOWN;

                Debug.Log (string.Format ("Fail Whale!\n{0}", www.error));
                yield break; // コルーチンを終了

                //タイムアウトエラーだった場合
            } else if (m_eConnect == EConnect.ERROR_TIMEOUT) {
                if (m_bErrorLog) {
                    Debug.Log ("timeout_error");
                }
                yield break; // コルーチンを終了

                //リクエストしたのに空で返ってきた場合
            } else if (string.IsNullOrEmpty (www.text)) {
                if (m_bErrorLog) {
                    Debug.Log ("no items");
                }
                yield break; // コルーチンを終了
            } else {

                SafeDebutLog ("success:" + www.text);

                string decodedText = "";
                strOutput = www.text;
            }
            IDictionary dictRecieveData;
            #if USE_NETWORK_MINIJSON
            dictRecieveData = (IDictionary)Json.Deserialize(strOutput);
            #else
            dictRecieveData = null;
            #endif

            m_dictRecievedData = dictRecieveData;							// これは直接利用しない
            // 受信したデータを格納する
            TNetworkData tNetworkData = new TNetworkData (_iNetworkSerial);
            tNetworkData.m_iSerial = _iNetworkSerial;
            tNetworkData.m_dictRecievedData = dictRecieveData;
            tNetworkData.m_strData = strOutput;
            tNetworkData.m_bIsError = false;
            tNetworkData.m_iErrorCode = 0;

            bool bIsError = false;
            bool bErrorCode = false;
            if (dictRecieveData != null) {
                bErrorCode = dictRecieveData.Contains (JSON_ERROR_CODE);
            }
            int iErrorCode = 0;

            if (bErrorCode) {
                iErrorCode = (int)(long)dictRecieveData [JSON_ERROR_CODE];

                if (0 < iErrorCode) {
                    bIsError = true;
                    tNetworkData.m_bIsError = true;
                    tNetworkData.m_iErrorCode = iErrorCode;
                }
            }
            m_intErrorCode = 0;

            EConnect eConnect = EConnect.CONNECTING;
            if (bIsError) {
                eConnect = EConnect.ERROR_RECIEVED;
                //Debug.Log( "m_intErrorCode=" + m_intErrorCode );
                if (m_intErrorCode == MAINTENANCE_ERROR_CODE) {
                    // 状態は変更しません
                    IsMaintenance = true;
                } else if (m_intErrorCode == SESSION_ERROR_CODE) {
                    IsSessionError = true;
                } else {
                    eConnect = EConnect.ERROR_RECIEVED;
                }
            } else {
                eConnect = EConnect.CONNECTED;
            }
            m_eConnect = eConnect;
            tNetworkData.m_eConnect = eConnect;
            m_dictNetworkData.Remove (_iNetworkSerial);
            m_dictNetworkData.Add (_iNetworkSerial, tNetworkData);

            yield break;		// コルーチン終了
        }
Ejemplo n.º 4
0
        // 共通部おいのでまとめれそう
        IEnumerator getHtml(string _strUrl, string _strJson, int _iNetworkSerial)
        {
            // 通信用に収納
            WWWForm form = new WWWForm();

            form.AddField("req_data", _strJson);

            string url = _strUrl;

            //		Debug.Log(url + _strJson);
            SafeDebutLog(url + _strJson);

            string strOutput = "";

            WWW www = new WWW(url, form);              //何も返ってこない場合

            // リクエストを受け取る処理(別メソッドでタイムアウト判定)
            yield return(StartCoroutine(ResponseConnectJson(www, (float)m_intTimeoutTime)));

            //  リクエストエラーの場合
            if (!string.IsNullOrEmpty(www.error))
            {
                m_intErrorCode = UNKNOWN_ERROR_CODE;
                m_eConnect     = EConnect.ERROR_UNKNOWN;

                Debug.Log(string.Format("Fail Whale!\n{0}", www.error));
                yield break;                 // コルーチンを終了

                //タイムアウトエラーだった場合
            }
            else if (m_eConnect == EConnect.ERROR_TIMEOUT)
            {
                if (m_bErrorLog)
                {
                    Debug.Log("timeout_error");
                }
                yield break;                 // コルーチンを終了

                //リクエストしたのに空で返ってきた場合
            }
            else if (string.IsNullOrEmpty(www.text))
            {
                if (m_bErrorLog)
                {
                    Debug.Log("no items");
                }
                yield break;                 // コルーチンを終了
            }
            else
            {
                SafeDebutLog("success:" + www.text);

                string decodedText = "";
                strOutput = www.text;
            }
            IDictionary dictRecieveData;

                        #if USE_NETWORK_MINIJSON
            dictRecieveData = (IDictionary)Json.Deserialize(strOutput);
                        #else
            dictRecieveData = null;
                        #endif
            m_dictRecievedData = dictRecieveData;                                                               // これは直接利用しない

            // 受信したデータを格納する
            TNetworkData tNetworkData = new TNetworkData(_iNetworkSerial);
            tNetworkData.m_iSerial          = _iNetworkSerial;
            tNetworkData.m_dictRecievedData = dictRecieveData;
            tNetworkData.m_strData          = strOutput;
            tNetworkData.m_bIsError         = false;
            tNetworkData.m_iErrorCode       = 0;

            bool bIsError   = false;
            bool bErrorCode = false;
            if (dictRecieveData != null)
            {
                bErrorCode = dictRecieveData.Contains(JSON_ERROR_CODE);
            }
            int iErrorCode = 0;

            if (bErrorCode)
            {
                iErrorCode = (int)(long)dictRecieveData [JSON_ERROR_CODE];
                if (0 < iErrorCode)
                {
                    bIsError = true;
                    tNetworkData.m_bIsError   = true;
                    tNetworkData.m_iErrorCode = iErrorCode;
                }
            }
            m_intErrorCode = 0;

            EConnect eConnect = EConnect.CONNECTING;
            if (bIsError)
            {
                eConnect = EConnect.ERROR_RECIEVED;
                //Debug.Log( "m_intErrorCode=" + m_intErrorCode );
                if (m_intErrorCode == MAINTENANCE_ERROR_CODE)
                {
                    // 状態は変更しません
                    IsMaintenance = true;
                }
                else if (m_intErrorCode == SESSION_ERROR_CODE)
                {
                    IsSessionError = true;
                }
                else
                {
                    eConnect = EConnect.ERROR_RECIEVED;
                }
            }
            else
            {
                eConnect = EConnect.CONNECTED;
            }
            m_eConnect = eConnect;
            tNetworkData.m_eConnect = eConnect;
            m_dictNetworkData.Remove(_iNetworkSerial);
            m_dictNetworkData.Add(_iNetworkSerial, tNetworkData);

            yield break;
        }