当前位置: 首页>>代码示例>>C#>>正文


C# Effect.GetHashCode方法代码示例

本文整理汇总了C#中Effect.GetHashCode方法的典型用法代码示例。如果您正苦于以下问题:C# Effect.GetHashCode方法的具体用法?C# Effect.GetHashCode怎么用?C# Effect.GetHashCode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Effect的用法示例。


在下文中一共展示了Effect.GetHashCode方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: _cRoll_EffectIsOffScreen

			void _cRoll_EffectIsOffScreen(Effect cContainer, Effect cEffect)
			{
				try
				{
					if (null != cEffect && null != cEffect.oTag)
					{
						SMS cSMS = null;
						if (cEffect.oTag is SMS)
						{
							cSMS = (SMS)cEffect.oTag;
							lock (_aqMessageIDsDisplayed)
							{
								(new Logger()).WriteDebug3("SMS displayed: " + cSMS.ID);
								_aqMessageIDsDisplayed.Enqueue(cSMS.ID);
								cSMS.Dispose();
							}
							if (SMS.Type.Photo == cSMS.eType && null != OnPhotoHide)
								OnPhotoHide();
						}
						if (cEffect is Composite)
						{
							Composite cC = (Composite)cEffect;
							if (cC.eStatus == EffectStatus.Running)
								cC.Stop();
							cC.Dispose();
							(new Logger()).WriteDebug3("composite disposing: " + cEffect.GetHashCode());
						}
					}
				}
				catch (Exception ex)   // замена пустого кетча
				{
					(new Logger()).WriteError(ex);
				}
			}
开发者ID:ratsil,项目名称:bethe.ingenie,代码行数:34,代码来源:SMSChat.cs

示例2: EventSend

        static public void EventSend(EventDelegate dEvent, Effect cSender, Effect cEffect)
        {
			(new Logger()).WriteDebug3("in [hc = " + cEffect.GetHashCode() + "]");
			_aqEvents.Enqueue(new Tuple<EventDelegate, Effect, Effect>(dEvent, cSender, cEffect));
        }
开发者ID:ratsil,项目名称:bethe.btl,代码行数:5,代码来源:ContainerVideoAudio.cs

示例3: OnEffectStopped

        virtual protected void OnEffectStopped(Effect cSender)
        {
			(new Logger()).WriteDebug3("in [hc = " + cSender.GetHashCode() + "][" + (null == EffectStopped ? "null" : "ok") + "]");
			if (null != EffectStopped)
                EventSend(EffectStopped, this, cSender);
        }
开发者ID:ratsil,项目名称:bethe.btl,代码行数:6,代码来源:ContainerVideoAudio.cs

示例4: Skip

		public bool Skip(bool bLast, ushort nNewTransDur, Effect cEffect, ushort nDelay)
        {
			/*вот такие у нас случаи тут могут быть: 
			 * 1. нам НЕ дали эффект
			 * 1.1 у нас есть текущий эффект (в _aItemsOnAir)
			 * 1.2 у нас нет текущего эффекта (в _aItemsOnAir), но есть эффект в очереди (в _aItemsQueue), т.е. пропускаем ближайший
			 * 1.3 у нас нет эффектов вообще (ни в _aItemsOnAir, ни в _aItemsQueue)
			 * 2. нам дали эффект
			 * 2.1 и он лежит в _aItemsOnAir, а значит текущий
			 * 2.2 и он лежит в _aItemsQueue
			 * 2.3 у нас нет такого эффекта вообще (ни в _aItemsOnAir, ни в _aItemsQueue)
			*/
			(new Logger()).WriteDebug("playlist:skipping in [l:" + bLast + "][t:" + nNewTransDur + "][a.c:" + _aItemsOnAir.Count + "][q.c:" + _aItemsQueue.Count + "][pl:" + GetHashCode() + "][ef:" + (null == cEffect ? "NULL" : cEffect.GetHashCode().ToString()) + "][ef_frames:" + (null == cEffect ? "" : cEffect.nFramesTotal.ToString()) + "]");
			Dictionary<IEffect, ContainerAction> aCAs = new Dictionary<IEffect, ContainerAction>();
            bool bCurrent = false;
			Item cItem;
			lock (_aItemsQueue)
			{
				lock (_aItemsOnAir)
				{
					(new Logger()).WriteDebug2("locking _aItemsQueue in Skip");
					if (null == cEffect)
					{ //случаи 1.*
						if (null == (cItem = _aItemsOnAir.FirstOrDefault(o => o.bIsActive && o.iEffect.eType != EffectType.Transition)))
						{
							if(1 > _aItemsQueue.Count)
							{ //случай 1.3
								(new Logger()).WriteDebug2("playlist:skipping out because pl is empty [false][p.h:" + GetHashCode() + "][e.h:NULL]");
								return false;
							}
							//случай 1.2
							cItem = _aItemsQueue[0];
						}
						else //случай 1.1
							bCurrent = true;
						cEffect = (Effect)cItem.iEffect;
					}
					else
					{
						if (null == (cItem = _aItemsOnAir.FirstOrDefault(o => o.iEffect == cEffect)))
						{
							if (null == (cItem = _aItemsQueue.FirstOrDefault(o => o.iEffect == cEffect)))
							{ //случай 2.3
								(new Logger()).WriteDebug2("playlist:skipping out because no such effect in pl [false][p.h:" + GetHashCode() + "][e.h:" + cEffect.GetHashCode() + "]");
								return false;
							}
							//случай 2.2
						}
						else //случай 2.1
							bCurrent = true;
					}
					if (!bLast && (1 > _aItemsQueue.Count || (2 > _aItemsQueue.Count && 2 > _aItemsOnAir.Count))) //тут я подразумеваю, что в _aItemsOnAir ВСЕГДА есть транзишн... если это не так, нужно переписывать условие// v да! он всегда есть!
					{
						(new Logger()).WriteDebug2("playlist:skipping out [false][p.h:" + GetHashCode() + "][e.h:" + cEffect.GetHashCode() + "]");
						return false;
					}
					if (!bCurrent || !SkipCurrent(nNewTransDur, nDelay))
					{ //либо случаи 1.1 и 2.1 и мы опоздали, либо случаи 1.2 и 2.2
						if (1 < _aItemsQueue.Count && cItem == _aItemsQueue[0])
							_aqPrepareQueue.Enqueue(_aItemsQueue[1].iEffect);
						if (!bCurrent)
							_aItemsQueue.Remove(cItem);
					}
					(new Logger()).WriteDebug3("playlist:skipping out [true][p.h:" + GetHashCode() + "][e.h:" + cEffect.GetHashCode() + "]");
				}
			}
			(new Logger()).WriteDebug4("playlist:skipping out [true][hc:" + cEffect + "]");
            return true;
        }
开发者ID:ratsil,项目名称:bethe.btl,代码行数:69,代码来源:Playlist.cs


注:本文中的Effect.GetHashCode方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。