Exemple #1
0
    public override void DoAnimtor()
    {
        //展示天气信息
        GameObject  weatherGameObject = GameObject.Find("ui/weather_show");
        WeatherEdit weather           = weatherGameObject.GetComponent <WeatherEdit>();

        try{
            Weather weatherData = JsonUtility.FromJson <RequestData <Weather> >(data).data;

            weather.time           = weatherData.time;
            weather.wind_direction = weatherData.wind_direction;
            weather.temperature    = weatherData.temperature;
            weather.weather        = weatherData.weather;
            weather.air_quality    = weatherData.air_quality;
            string bgName = weatherData.weather_bg;
            weather.weather_bg = Resources.Load("weather/bg/" + bgName) as Texture;
            string iconName = weatherData.weather_icon;
            weather.weather_icon = Resources.Load("weather/icon/" + iconName) as Texture;
            //weather.wind_direction = weatherData.data.wind.deg;
        }catch (Exception e)
        {
            FeedBackError(e.Message, "parse weather error");
        }

        ControlAnim.Instance().ShowWeather();
    }
Exemple #2
0
    // message 需要合成的message emotion表情 action 动作
    protected void SpeechSynthesis(string message, string emotion, string action)
    {
        client.StartCoroutine(client.tts.Synthesis(message.Trim(), s =>
        {
            if (s.Success)
            {
                _audioSource.clip = s.clip;
                _audioSource.Play();
                _animator.SetLayerWeight(1, 1);
                //_animator.CrossFade("angry@sd_hmd", 0.1f);
                //_animator.CrossFade("Walking@loop", 0.2f);
                //_animator.SetBool("thinking_00", true);
                if (emotion != null)
                {
                    _animator.CrossFade(emotion, 0.1f);
                }
                if (action != null)
                {
                    _animator.CrossFade(action, 0.25f);
                }

                _startPlaying = true;
                Debug.Log("合成成功,正在播放,共" + _audioSource.clip.length + "s");

                DoAnimtor();                              // 执行ui 伴随动画
                ControlAnim.Instance().ShowTips(message); // 显示顶端字幕
            }
            else
            {
                FeedBackError(s.err_msg, GetErrorStateType());
            }
        }));
    }
 // Update is called once per frame
 void Update()
 {
     if (Input.GetKeyDown(KeyCode.Space))
     {
         ControlAnim.Instance().ShowTips(" ");
     }
 }
Exemple #4
0
 public static ControlAnim Instance()
 {
     if (_instance == null)
     {
         lock (_lock)
         {
             if (_instance == null)
             {
                 _instance = new ControlAnim();
             }
         }
     }
     return(_instance);
 }
Exemple #5
0
    // Use this for initialization
    void Start()
    {
        play_foot = false;
        prev_foot = play_foot;
        sounds.PlaySound("wind");
        spawn_pos   = transform.position + new Vector3(0, 10, 0);
        spawn_angle = transform.eulerAngles;

        last_angle = transform;

        UI            = UI_obj.GetComponent <UI>();
        UI_components = UI_obj.GetComponentsInChildren <RectTransform>(true);

        other_player    = other_player_obj.GetComponent <PlayerOnTick>();
        swimming        = false;
        swim_first_time = false;
        playing         = false;
        at_canon        = false;
        show_canon      = false;
        exited          = true;
        entered         = false;
        jumpable        = true;
        boosting        = false;
        trash_count     = 0;
        boost_timer     = 40;

        land_speed  = walk_default;
        water_speed = swim_default;

        cam_cam     = GetComponentInChildren <Camera>();
        default_fov = cam_cam.fieldOfView;

        anim      = GetComponentInChildren <ControlAnim>();
        cam       = GetComponentInChildren <CameraMech>();
        cam_trans = cam.gameObject.transform;
        body_rb   = GetComponent <Rigidbody>();
        feet      = GetComponentInChildren <Grounded>();
        start_pos = transform;

        canon       = canon_obj.GetComponent <CanonMech>();
        canon_trans = canon_obj.GetComponentsInChildren <Transform>(true);

        canon_cam     = canon_trans[6].gameObject;
        canon_cam_cam = canon_cam.GetComponent <Camera>();

        spawn_cam_angle = cam_cam.gameObject.transform.eulerAngles;

        water_level = Water_Layer.transform.position.y;
    }
Exemple #6
0
    //说完message 话之后执行
    protected override void AfterVoiceEnd()
    {
        // 说完话之后 如果舞蹈还没执行
        if (!isPlayDance)
        {
            AudioClip lamusic = Resources.Load <AudioClip>(musicResId);
            _danceAudioSource.clip = lamusic;
            _danceAudioSource.Play();

            ControlAnim.Instance().Dismiss6();
            Debug.Log("开始跳舞");
            _animator.CrossFade(danceResId, 0.2f);
            isPlayDance = true;
        }
    }
Exemple #7
0
    public override void DoBeforeLeaving()
    {
        base.DoBeforeLeaving();
        ControlAnim.Instance().Show6();

        isPlayDance = false;


        _animator.CrossFade("stand", 0.1f);
        _animator.CrossFade("default", 0.15f);
        _danceAudioSource.Stop();
        //GameObject.Find("SD_unitychan_humanoid").transform.position = new Vector3(0,0,0);
        //GameObject.Find("SD_unitychan_humanoid").transform.localScale = new Vector3(1,1,1);
        //GameObject.Find("SD_unitychan_humanoid").transform.rotation  =Quaternion.Euler(0, 180, 0);
    }
Exemple #8
0
    public override void Act(GameObject gameObject, GameObject npc)
    {
        if (_startPlaying)
        {
            if (!_audioSource.isPlaying)
            {
                _startPlaying = false;

                _animator.CrossFade("stand", 0.25f);
                _animator.CrossFade("default", 0.15f);
                //ws.Send(System.Text.Encoding.UTF8.GetBytes("Duration: " + _audioSource.clip.length + "s"));

                Debug.Log("播放完毕");
                ControlAnim.Instance().ShowTips("");
                AfterVoiceEnd();
            }
        }
    }
Exemple #9
0
    public override void DoAnimtor()
    {
        base.DoAnimtor();

		//展示天气信息
        GameObject constellationGameObject = GameObject.Find("ui/constellations_luck");
		if(constellationGameObject!=null){
			ConstellationEdit constellationEdit = constellationGameObject.GetComponent<ConstellationEdit>();

            try
            {
				 
				Constellation constellation = JsonUtility.FromJson<RequestData<Constellation>>(data).data;
				constellationEdit.loveLuckStar = constellation.loveLuckStar;
				constellationEdit.careerLuckStar = constellation.careerLuckStar;
				constellationEdit.moneyLuckStar = constellation.loveLuckStar;
				constellationEdit.totalLuckStar = constellation.totalLuckStar;
				constellationEdit.title = constellation.title;
				constellationEdit.type = constellation.type;
				constellationEdit.luckNumber = constellation.luckNumber;
				constellationEdit.luckColor = constellation.luckColor;
				constellationEdit.starConstellation = constellation.starConstellation;
				constellationEdit.constellationName = constellation.name;
				constellationEdit.constellationDate = constellation.date;
				constellationEdit.descriptionText = constellation.descriptionText;
           
				ControlAnim.Instance().ShowConstellation();
            }
            catch (Exception e)
            {
                FeedBackError(e.Message, "error");
				Debug.LogError(e.Message);
            }

            
		}
    }
Exemple #10
0
 public override void DoBeforeLeaving()
 {
     base.DoBeforeLeaving();
     ControlAnim.Instance().DissmissWeather();
 }
Exemple #11
0
    void ProcessRequest(string data)
    {
        ExecuteOnMainThread.Enqueue(() =>
        {
            var reqType = JSON.Parse(data)["type"].Value;

            checkOptions(data);

            if ("server_state".Equals(reqType))
            {
                RequestData <ServerStateData> mSerStateData = JsonUtility.FromJson <RequestData <ServerStateData> >(data);
                if (ServerStateData.Order_Listening.Equals(mSerStateData.data.state))
                {
                    ControlAnim.Instance().ShowMicrophone();
                }
                else
                {
                    ControlAnim.Instance().DismissMicrophone();
                }
            }
            else if ("stt".Equals(reqType))
            {
                RequestData <STTData> mStt = JsonUtility.FromJson <RequestData <STTData> >(data);
                ControlAnim.Instance().ShowTips(mStt.data.text);
            }
            else if (FSMSystem.Instance().CurrentStateID == StateID.SleepStateId && reqType != "awake")
            {
                var response     = new ResponseData();
                response.message = "can not do " + reqType + " when unity sleep";
                response.type    = "sleep";
                ws.Send(JsonUtility.ToJson(response));
                return;
            }
            else               //状态改变
            {
                switch (reqType)
                {
                case "weather":
                    FSMSystem.Instance().PerformTransition(PersonState.ShowWeather, data);
                    break;

                case "horoscope":
                    FSMSystem.Instance().PerformTransition(PersonState.ShowConstellation, data);
                    break;

                case "awake":
                    FSMSystem.Instance().PerformTransition(PersonState.Awake, data);
                    break;

                case "chat":
                    FSMSystem.Instance().PerformTransition(PersonState.Chat, data);
                    break;

                case "music":
                    FSMSystem.Instance().PerformTransition(PersonState.Music, data);
                    break;

                case "stop":
                    FSMSystem.Instance().PerformTransition(PersonState.Stop, data);
                    break;

                case "sleep":
                    FSMSystem.Instance().PerformTransition(PersonState.Sleep, data);
                    break;

                case "dance":
                    FSMSystem.Instance().PerformTransition(PersonState.Dance, data);
                    break;

                default:
                    FSMSystem.Instance().PerformTransition(PersonState.Idle, data);
                    var response     = new ResponseData();
                    response.message = "can not parse state";
                    response.type    = "error";
                    ws.Send(JsonUtility.ToJson(response));
                    break;
                }
            }
        });
    }
Exemple #12
0
 public override void DoBeforeLeaving()
 {
     base.DoBeforeLeaving();
     ControlAnim.Instance().DismissConstellation();
 }