Пример #1
0
        protected override void ProcessMsg(int key, QMsg msg)
        {
            switch (msg.msgId)
            {
            case (ushort)AudioEvent.SoundSwitch:
                AudioMsgWithBool soundSwitchMsg = msg as AudioMsgWithBool;
                mSoundOn = soundSwitchMsg.on;
                break;

            case (ushort)AudioEvent.MusicSwitch:
                AudioMsgWithBool musicSwitchMsg = msg as AudioMsgWithBool;
                mMusicOn = musicSwitchMsg.on;
                if (!mMusicOn)
                {
                    StopMusic();
                }
                break;

            case (ushort)AudioEvent.PlayMusic:
                Debug.LogFormat("play music msg: {0}, is musicOn: ", AudioEvent.PlayMusic.ToString(), mMusicOn);
                PlayMusic(msg as AudioMsgPlayMusic);
                break;

            case (ushort)AudioEvent.StopMusic:
                StopMusic();
                break;

            case (ushort)AudioEvent.PlaySound:
                AudioMsgPlaySound audioMsgPlaySound = msg as AudioMsgPlaySound;
                PlaySound(audioMsgPlaySound);
                break;

            case (ushort)AudioEvent.PlayVoice:
                PlayVoice(msg as AudioMsgPlayVoice);
                break;

            case (ushort)AudioEvent.StopVoice:
                StopVoice();
                break;

            case (ushort)AudioEvent.PlayNode:
                ICoroutineCmdNode msgPlayNode = (msg as AudioMsgWithNode).Node;

                StartCoroutine(msgPlayNode.Execute());
                break;
            }
        }
Пример #2
0
        public IEnumerator Execute()
        {
            if (null != OnBeganCallback)
            {
                OnBeganCallback();
            }

            for (int i = 0; i < RepeatCount; i++)
            {
                yield return(mNode.Execute());
            }

            if (null != OnEndedCallback)
            {
                OnEndedCallback();
            }

            Completed = true;
        }
Пример #3
0
        public IEnumerator ExecuteNode(ICoroutineCmdNode node)
        {
            yield return(node.Execute());

            mExecutedNodeCount++;
        }