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); }
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; } }