public void TriggerEvent(RoomWall designator, Vector3 velocity) { RoomUnityEvent evt = null; if (m_eventDatabase.TryGetValue(designator, out evt)) { evt.Invoke(designator, velocity); } }
protected virtual void Awake() { // gather all pickableobjects in a room FinishedEvent = new RoomUnityEvent(); InitializeEvent = new RoomUnityEvent(); PickableObjects = new List <PickableObject>(); PickablePickedObjectIDs = new List <uint>(); PickableUsableObjects = new List <PickableUsableObject>(); }
public void UnSubscribeEvent(RoomWall eventDesignator) { if (!m_instance) { return; } RoomUnityEvent evt = null; if (m_eventDatabase.TryGetValue(eventDesignator, out evt)) { evt.RemoveListener(RoomRotationTrigger); } }
public void Subscribe(RoomWall eventDesignator) { RoomUnityEvent evt = null; if (m_eventDatabase.TryGetValue(eventDesignator, out evt)) { Debug.Log("Can't add multiple events to one object"); return; } else { evt = new RoomUnityEvent(); evt.AddListener(RoomRotationTrigger); m_eventDatabase.Add(eventDesignator, evt); } }