示例#1
0
		public static void OnEffectEvent(shared.EffectEventType eEventType, EffectCover cEffectCover)
		{
			Logger cLogger = new Logger();
            cLogger.WriteDebug3("in [" + eEventType.ToString() + "]");
			try
			{
				if (null != cEffectCover)
				{
					shared.Effect cEffectShared = null;
					cLogger.WriteDebug4("effect:event:" + eEventType.ToString() + ":lock:before [ec hc:" + cEffectCover.GetHashCode() + " info: " + cEffectCover.sInfo + "]");
					lock (_ahEffects)
						cEffectShared = _ahEffects.FirstOrDefault(row => row.Value == cEffectCover).Key;
					cLogger.WriteDebug4("effect:event:" + eEventType.ToString() + ":lock:after [ec hc:" + cEffectCover.GetHashCode() + "]");
					if (null != cEffectShared)
					{
						cLogger.WriteDebug4("effect:event:" + eEventType.ToString() + ":raise:before [ec hc:" + cEffectCover.GetHashCode() + "][shared hc:" + cEffectShared.GetHashCode() + "]");
						cEffectShared.OnEffectEventRaised(eEventType);
						cLogger.WriteDebug4("effect:event:" + eEventType.ToString() + ":raise:after [ec hc:" + cEffectCover.GetHashCode() + "][shared hc:" + cEffectShared.GetHashCode() + "]");
					}
					else
						throw new Exception("effect:event:" + eEventType.ToString() + ": указанный экземпляр эффекта не зарегистрирован на сервере [ec hc:" + cEffectCover.GetHashCode() + "]");
				}
				else
					throw new Exception("effect:event:" + eEventType.ToString() + ": экземпляр эффекта не может быть null");
			}
			catch (Exception ex)
			{
				cLogger.WriteError(ex);
			}
			cLogger.WriteDebug4("return [" + eEventType.ToString() + "]");
		}