示例#1
0
    private void Sense()
    {
        if (AllSenses == null || AllSenses.Length == 0)
        {
            AllSenses = GetComponents <ISense>();
        }

        int targetId;
        int reaction;

        foreach (ISense sense in AllSenses)
        {
            print("Has Sense and is searching");
            if (sense.SensedTarget(out targetId, out reaction))
            {
                print("Sensed Target");
                //Send as message for everyone to listen to.
                AiSensoryMessage data = new AiSensoryMessage();
                data.SensoryStrength = reaction;
                data.PlayerId        = targetId;

                MessageBus.SendMessage(MessageBus.MessageType.AiSensoryMessage, data);
            }
        }
    }
示例#2
0
    public void RecieveMessage <T>(T data)
    {
        AiSensoryMessage incomingMessage = data as AiSensoryMessage;

        _playerSensed.RunTimeValue += incomingMessage.SensoryStrength;

        Debug.Log($"Recieved message with sensed increase of {incomingMessage.SensoryStrength} and updating player sensed to {_playerSensed.RunTimeValue}");
    }