示例#1
0
        public override void Start()
        {
            base.Start();
            List <int> no_message = new List <int> {
                0, 0
            };
            VoiceStruct noStruct = new VoiceStruct(0, no_message);

            CentralBus.HeardMessage.Invoke(noStruct);
            InnerBus.Global.VoiceChannel.AddListener(MessageHeard);
            this.transform.parent.GetMessageBus().VoiceArrived.AddListener(MessageHeard);
        }
示例#2
0
        private List <int> MockProcess(InputInfo inputInfo)
        {
            Debug.LogFormat("MessageHeard like a threat {0}", inputInfo.HeardMessage.SequenceEqual(new List <int> {
                0, 1
            }) || inputInfo.HeardMessage.SequenceEqual(new List <int> {
                1, 1
            }));
            if (inputInfo.CurrentHealth < transform.parent.GetComponent <Health>().maxHealth || inputInfo.HeardMessage.SequenceEqual(new List <int> {
                0, 1
            }) || inputInfo.HeardMessage.SequenceEqual(new List <int> {
                1, 1
            }))
            {
                List <int> outputArray = new List <int>(new int[] { 1, 0, 1 });
                CentralBus.WeaponFire.Invoke();

                //Debug.LogFormat("weapon fired at {0}",Time.time);

                //clear thread message
                inputInfo.HeardMessage = new List <int>(new int[] { 0, 0 });;

                List <int> talk_message = new List <int>(new int[] { 0, 1 });
                //carry ID with it
                VoiceStruct talkStruct = new VoiceStruct(MyId, talk_message);

                CentralBus.TalkMessage.Invoke(talkStruct);

                Debug.LogFormat("talking threat {0}", talkStruct.ToString());
                return(outputArray);
            }
            else
            {
                List <int> outputArray = new List <int>(new int[] { 0, 0, 0 });
                return(outputArray);
            }
        }
示例#3
0
 //pass message to brain through central bus
 private void MessageHeard(VoiceStruct message)
 {
     Debug.LogFormat("message from ear {0}", message.ToString());
     CentralBus.HeardMessage.Invoke(message);
 }
示例#4
0
 private void HeardMessage(VoiceStruct msg)
 {
     inputInfo.HeardMessage = msg.voiceMessage;
 }
示例#5
0
 void Talk(VoiceStruct messageFromBrain)
 {
     InnerBus.Global.VoiceChannel.Invoke(messageFromBrain);
     Debug.LogFormat("sent threat voiceChannel {0}", messageFromBrain.ToString());
 }