public void HandleEvent(EntityEventData <ArticleTag> eventData) { //当FArticleTag实体发生修改,立即清空它在Redis中的缓存 _cacheManager .GetCache(BlogCacheNames.CacheBlog) .Remove(BlogCacheNames.CacheArticleTag); }
private void OnVisualEvent(GameEvent e) { // Check for which entity the event is for. EntityEventData entityEventData = e.EventData as EntityEventData; if (entityEventData != null) { this.DelegateVisualEvent(entityEventData.EntityId, e); return; } Entity2Data entity2EventData = e.EventData as Entity2Data; if (entity2EventData != null) { this.DelegateVisualEvent(entity2EventData.First, e); this.DelegateVisualEvent(entity2EventData.Second, e); return; } Debug.LogError( string.Format( "Received event {0} for visual behaviour, but event data {1} wasn't derived from EntityEventData or Entity2Data to get entity id(s).", e.EventType, e.EventData.GetType())); }
protected virtual void OnNotify(EntityEventData eventData) { var componentsMatched = ActionableComponents.Count(eventData.Entity.ContainsComponent); switch (eventData.EventType) { case EntityEventType.NewEntity: break; case EntityEventType.NewComponent: if (componentsMatched == ActionableComponents.Count && !ActionableEntities.Contains(eventData.Entity)) { ActionableEntities.Add(eventData.Entity); Console.WriteLine("{0} Added {1} to actionable entities", GetType().FullName, eventData.Entity); } break; case EntityEventType.RemovedComponent: if (ActionableEntities.Contains(eventData.Entity) && componentsMatched != ActionableComponents.Count) { ActionableEntities.Remove(eventData.Entity); Console.WriteLine("{0} Removed {1} from actionable entities", GetType().FullName, eventData.Entity); } break; default: throw new ArgumentOutOfRangeException(nameof(eventData.EventType), eventData.EventType, null); } }
public void HandleEvent(EntityEventData <ArticleComment> eventData) { //当有未审核的评论时需要通知 if (eventData.Entity.ToExamine == ToExamine.Unaudited) { _cacheManager .GetCache(BlogCacheNames.CacheBlogAuditNotice) .Clear(); } }
public void HandleEvent(EntityEventData <FriendshipLink> eventData) { //当FriendshipLink实体发生修改,立即清空它在Redis中的缓存 _cacheManager .GetCache(BlogCacheNames.CacheBlog) .Remove(BlogCacheNames.CacheFriendshipLink); if (eventData.Entity.ToExamine == ToExamine.Unaudited) { _cacheManager .GetCache(BlogCacheNames.CacheBlogAuditNotice) .Clear(); } }
void PointsCollected(EntityEventData entityData) { if (entityData.currentEntityType == EntityEventData.EntityType.bonus) { if (entityData.points > 0) { //particle system FX _pointsFX1.StartParticleEmission(); _pointsFX2.StartParticleEmission(); //_pointsFX1.StopParticleEmission(); StartCoroutine(FXduration()); } } }
private object IOnSleeperStatsChange(SleeperServer sleeper, EntityEventData eventData, EntityEffectSourceData sourceData) { if (sourceData == null || !(eventData is IEventTypeEventData eventTypeEventData)) { return(null); } if (eventTypeEventData.EventType == EEntityEventType.Damaged) { // TODO: Implement OnSleeperTakeDamage hook return(null); } else if (eventTypeEventData.EventType == EEntityEventType.Die) { if (sleeper._linkedPlayer != null) { return(Interface.CallHook("OnSleeperDeath", sleeper._linkedPlayer, sourceData)); } } return(null); }
protected bool Equals(EntityEventData other) { return(this.EntityId == other.EntityId); }
protected TIndexer GetDocument(EntityEventData <TContent> eventData) { return(eventData.Entity.MapTo <TIndexer>()); }
protected bool Equals(EntityEventData other) { return this.EntityId == other.EntityId; }
public void Method_BaseEvent_BaseArg(EntityEventData<Person> data) { }
public void MethodBaseEventBaseArg(EntityEventData <Person> data) { }
internal void Method_BaseEvent_BaseArg(EntityEventData <Person> data) { }
public void HandleEvent(EntityEventData <BlogProposal> eventData) { //throw new NotImplementedException(); }
public void HandleEvent(EntityEventData <Article> eventData) { //throw new NotImplementedException(); }
public void Method_BaseEvent_DerivedArg(EntityEventData<Student> data) { }
void BonusHit(EntityEventData entityData) { Points += entityData.points; }
internal void Method_BaseEvent_DerivedArg(EntityEventData <Student> data) { }
public void MethodBaseEventDerivedArg(EntityEventData <Student> data) { }
void ReceiveBonusMalus(EntityEventData entityData) { switch (entityData.currentEntityType) { case EntityEventData.EntityType.bonus: TotalLives += entityData.lives; Credits += entityData.credits; if (entityData.health >= DeltaHealth) { CurrentHealth = MaxHealth; } if (entityData.health < DeltaHealth) { CurrentHealth += entityData.health; } if (CurrentHealth > 50) { WildUfoEvents.boolHit.Invoke(new BoolEventData(false, BoolEventData.BoolEvent.enemyZone)); } break; case EntityEventData.EntityType.malus: TotalLives -= entityData.lives; Credits -= entityData.credits; Debug.Log("Il danno è " + entityData.health.ToString()); if (entityData.health <= CurrentShield) { CurrentShield -= entityData.health; } else if (entityData.health > CurrentShield) { float deltaShield = entityData.health - CurrentShield; CurrentShield = 0; WildUfoEvents.boolHit.Invoke(new BoolEventData(false, BoolEventData.BoolEvent.shieldActivated)); if (deltaShield < CurrentHealth) { CurrentHealth -= deltaShield; // va bene per le bombe ma non con le trappole a contatto continuo perchp questo metodo viene chiamato ripetutamente WildUfoEvents.boolHit.Invoke(new BoolEventData(true, BoolEventData.BoolEvent.debris)); } else if (deltaShield >= CurrentHealth) { CurrentHealth = 0; PlayerDead = true; } } if (CurrentHealth < 60) { WildUfoEvents.boolHit.Invoke(new BoolEventData(true, BoolEventData.BoolEvent.enemyZone)); } if (CurrentHealth == 0) { if (!GameManager.GameIsOver) { WildUfoEvents.boolHit.Invoke(new BoolEventData(true, BoolEventData.BoolEvent.gameIsOver)); } } break; default: //Debug.LogError("Errore nessun caso di statistica giocatore gestita"); break; } }