예제 #1
0
        //todo..
        //음성 인식 처리 부분.. 추후 음성 추가에 따라 처리
        private void STTReceive(STTReceiveMsg msg)
        {
            int index = 0;

            try
            {
                index = int.Parse(msg.intent);
            }
            catch (Exception E)
            {
                Debug.Log(E.ToString());
            }

            BluetoothData data = new BluetoothData();

            data.msg       = "";
            data.dataType  = SENDMSGTYPE.MENU;
            data.musicInfo = MUSICINFO.None;
            string dataMsg;

            //홀로스타
            if (index == 10000)//메인 메뉴
            {
                Message.Send <InfoMsg>(new InfoMsg("메인 메뉴로 이동합니다."));
                Debug.Log("메인");
                data.menu = Menu.Main;
                dataMsg   = JsonUtility.ToJson(data);
                Message.Send <TabletMotionMsg>(new TabletMotionMsg(dataMsg));
                Message.Send <RunMenuMsg>(new RunMenuMsg(Menu.None));
                MenuMoveResponse();
            }
            else if (index == 10001)//메인 메뉴
            {
                Message.Send <InfoMsg>(new InfoMsg("최상위 메뉴로 이동합니다."));
                Debug.Log("메인");
                data.menu = Menu.Main;
                dataMsg   = JsonUtility.ToJson(data);
                Message.Send <TabletMotionMsg>(new TabletMotionMsg(dataMsg));
                Message.Send <RunMenuMsg>(new RunMenuMsg(Menu.None));
                MenuMoveResponse();
            }
            else if (index == 11000)//시계
            {
                Debug.Log("시계");
                Message.Send <InfoMsg>(new InfoMsg("탁상시계 화면으로 이동합니다."));
                data.menu = Menu.Watch;
                dataMsg   = JsonUtility.ToJson(data);
                Message.Send <TabletMotionMsg>(new TabletMotionMsg(dataMsg));
                Message.Send <RunMenuMsg>(new RunMenuMsg(Menu.Watch));
                MenuMoveResponse();
            }
            else if (index == 13200 || index == 13000)//게임
            {
                Debug.Log("게임");
                //Message.Send<InfoMsg>(new InfoMsg(" 이동합니다."));
                data.dataType = SENDMSGTYPE.GAME;
                data.msg      = GameType.RhythmGame.ToString();;
                dataMsg       = JsonUtility.ToJson(data);
                Message.Send <TabletMotionMsg>(new TabletMotionMsg(dataMsg));

                MenuMoveResponse();
            }
            else if (index == 12000)//음악
            {
                //검지 중지 음악재생
                Message.Send <InfoMsg>(new InfoMsg("음악재생으로 이동합니다."));
                Debug.Log("음악재생");
                data.menu = Menu.Music;
                dataMsg   = JsonUtility.ToJson(data);
                Message.Send <TabletMotionMsg>(new TabletMotionMsg(dataMsg));
                Message.Send <RunMenuMsg>(new RunMenuMsg(Menu.Music));
                MenuMoveResponse();
            }
            else if (index == 14000)//홀로스타
            {
                //검지 중지 약지 새끼 홀로스타
                Message.Send <InfoMsg>(new InfoMsg("홀로스타 모드로 이동합니다."));
                Debug.Log("홀로스타");
                data.menu = Menu.HoloStar;
                dataMsg   = JsonUtility.ToJson(data);
                Message.Send <TabletMotionMsg>(new TabletMotionMsg(dataMsg));
                Message.Send <RunMenuMsg>(new RunMenuMsg(Menu.HoloStar));
                MenuMoveResponse();
            }
            else if (index == 15000)//옵션
            {
                //엄지 검지 중지 약지 새끼 옵션
                Message.Send <InfoMsg>(new InfoMsg("환경설정으로 이동합니다."));
                Debug.Log("옵션");
                data.menu = Menu.Option;
                dataMsg   = JsonUtility.ToJson(data);
                Message.Send <TabletMotionMsg>(new TabletMotionMsg(dataMsg));
                Message.Send <RunMenuMsg>(new RunMenuMsg(Menu.Option));
                MenuMoveResponse();
            }
            else if (index == 12100 || index == 12200)//음악재생
            {
                Message.Send <InfoMsg>(new InfoMsg("음악재생으로 이동합니다."));
                //검지 중지 음악재생
                Debug.Log("음악재생");
                data.menu = Menu.Music;
                dataMsg   = JsonUtility.ToJson(data);
                Message.Send <TabletMotionMsg>(new TabletMotionMsg(dataMsg));
                Message.Send <RunMenuMsg>(new RunMenuMsg(Menu.Music));
                MenuMoveResponse();
            }
            else if (index == 20003 && settingModel.NowMenu == Menu.Option)//음소거
            {
                MenuMoveResponse();
                Message.Send <InfoMsg>(new InfoMsg("음소거 되었습니다."));
                holostarSettingModel.HoloOptionSetting.isMute = true;
                //사용
            }
            else if (index == 20004 && settingModel.NowMenu == Menu.Option)//음소거 해제
            {
                MenuMoveResponse();
                Message.Send <InfoMsg>(new InfoMsg("음소거가 해제되었습니다."));
                holostarSettingModel.HoloOptionSetting.isMute = false;
            }
            else if (index == 20005 && settingModel.NowMenu == Menu.Option)//볼륨 업
            {
                holostarSettingModel.HoloOptionSetting.TabletVolume += 0.2f;
                if (holostarSettingModel.HoloOptionSetting.TabletVolume > 1)
                {
                    holostarSettingModel.HoloOptionSetting.TabletVolume = 1f;
                }
                Message.Send <InfoMsg>(new InfoMsg("현재 볼륨은 " + holostarSettingModel.HoloOptionSetting.TabletVolume + " 입니다."));
            }
            else if (index == 20006 && settingModel.NowMenu == Menu.Option)//볼륨 다운
            {
                holostarSettingModel.HoloOptionSetting.TabletVolume -= 0.2f;
                if (holostarSettingModel.HoloOptionSetting.TabletVolume < 0)
                {
                    holostarSettingModel.HoloOptionSetting.TabletVolume = 0;
                }
                Message.Send <InfoMsg>(new InfoMsg("현재 볼륨은 " + holostarSettingModel.HoloOptionSetting.TabletVolume + " 입니다."));
            }
            else if (index == 31011)
            {
                //날씨
                Message.Send <WeatherRequestMsg>(new WeatherRequestMsg(playerInventoryModel.NowCharacter));
            }
            else if (index == 31021)
            {
                //시간
                string time = string.Format("현재 시간은 {0}시 {1}분 입니다.", DateTime.Now.ToString("HH"), DateTime.Now.ToString("mm"));
                Message.Send <TTSSendMsg>(new TTSSendMsg("", time, playerInventoryModel.NowCharacter));
            }
            else if (index == 31031)
            {
                string dateEvent = string.Format("오늘은 {0}개의 일정이 있습니다.", calendarModel.GetTodayEvent());
                Message.Send <InfoMsg>(new InfoMsg(dateEvent));
                Message.Send <TTSSendMsg>(new TTSSendMsg("", dateEvent, playerInventoryModel.NowCharacter));
                //오늘 일정
            }
            else if (index == 31032)
            {
                //내일 일정
                string dateEvent = string.Format("내일은 {0}개의 일정이 있습니다.", calendarModel.GetTomorrowEvent());
                Message.Send <InfoMsg>(new InfoMsg(dateEvent));
                Message.Send <TTSSendMsg>(new TTSSendMsg("", dateEvent, playerInventoryModel.NowCharacter));
            }

            else if (index == 0)
            {
                Message.Send <TTSSendMsg>(new TTSSendMsg("", "다시 말씀해 주시겠어요?", playerInventoryModel.NowCharacter));
            }
            else
            {
                if (playerInventoryModel.NowCharacter == Character.Girl)
                {
                    SoundManager.Instance.PlaySound(index);
                }
                else
                {
                    index = index + 10000;
                    SoundManager.Instance.PlaySound(index);
                }
                Message.Send <EmotionAniMationMsg>(new EmotionAniMationMsg(index));
            }

            if (settingModel.UseWakeUp)
            {
                Message.Send <WakeUpMsg>(new WakeUpMsg(true));
            }

            Message.Send <STTBtnSetMsg>(new STTBtnSetMsg(true));

            string receive = string.Format("STT 수신 Intent : {0} text : {1}", msg.intent, msg.text);

            Log.Instance.log(receive);
        }