/// <summary> /// Send the Augmenta event of corresponding type, according to the desired object. /// </summary> /// <param name="eventType"></param> /// <param name="augmentaObject"></param> public void SendAugmentaEvent(AugmentaEventType eventType, AugmentaObject augmentaObject = null, AugmentaDataType augmentaDataType = AugmentaDataType.Main) { switch (eventType) { case AugmentaEventType.AugmentaObjectEnter: augmentaObjectEnter?.Invoke(augmentaObject, augmentaDataType); break; case AugmentaEventType.AugmentaObjectUpdate: augmentaObjectUpdate?.Invoke(augmentaObject, augmentaDataType); break; case AugmentaEventType.AugmentaObjectLeave: augmentaObjectLeave?.Invoke(augmentaObject, augmentaDataType); break; case AugmentaEventType.SceneUpdated: sceneUpdated?.Invoke(); break; case AugmentaEventType.FusionUpdated: fusionUpdated?.Invoke(); break; } }
public void SendAugmentaEvent(AugmentaEventType type, AugmentaPerson person = null) { if (ActualPointType == AugmentaPointType.Oldest && type != AugmentaEventType.SceneUpdated) { var askedOldest = GetOldestPoints(AskedPoints); if (!askedOldest.Contains(person)) { type = AugmentaEventType.PersonWillLeave; } } if (ActualPointType == AugmentaPointType.Newest && type != AugmentaEventType.SceneUpdated) { var askedNewest = GetNewestPoints(AskedPoints); if (!askedNewest.Contains(person)) { type = AugmentaEventType.PersonWillLeave; } } switch (type) { case AugmentaEventType.PersonEntered: if (personEntered != null) { personEntered(person); } break; case AugmentaEventType.PersonUpdated: if (personUpdated != null) { personUpdated(person); } break; case AugmentaEventType.PersonWillLeave: if (personLeaving != null) { personLeaving(person); } break; case AugmentaEventType.SceneUpdated: if (sceneUpdated != null) { sceneUpdated(augmentaScene); } break; } }