Пример #1
0
        public static void PlaceInRoom(Room room, Vector3 position)
        {
            GameManager gameManager = GameManager.Instance();

            if (gameManager.FundingAmount >= 400)
            {
                gameManager.FundingAmount -= 400;
            }
            else
            {
                return;
            }
            GameObject listeningDevice   = Resources.Load <GameObject>("ListeningDevice");
            Vector3    placementPosition = new Vector3(position.x, position.y - 0.83f, position.z);

            listeningDevice = UnityEngine.Object.Instantiate(listeningDevice, placementPosition, Quaternion.identity);
            listeningDevice.GetComponent <ListeningDevice>().CurrentRoom = room;

            gameManager.ListeningDevList.Add(listeningDevice);

            ListeningDevicePlacedPacket eventPacket = new ListeningDevicePlacedPacket
            {
                Device     = listeningDevice,
                PlacedRoom = room
            };

            EventMessenger.Instance().FireEvent(Event.LISTENING_DEVICE_PLACED, eventPacket);
        }
Пример #2
0
        public void ConsumeEvent(Event subscribeEvent, object eventPacket)
        {
            switch (subscribeEvent)
            {
            case Event.LISTENING_DEVICE_PLACED:
                ListeningDevicePlacedPacket listeningDeviceData = (ListeningDevicePlacedPacket)eventPacket;
                if (listeningDeviceData.PlacedRoom == transform.GetComponent <Character2D>().CurrentRoom)
                {
                    SeenListeningDevices.Add(listeningDeviceData.Device);
                    Debug.Log(Name.FirstName + " " + Name.LastName + " spotted a listening device!");
                    UpdateTrustValue(((int)(UnityEngine.Random.value * -2)) - 1);
                }

                break;
            }
        }