示例#1
0
        public void AddBufferMark(PoolObjHandle <ActorRoot> _originator, int _markID, uint _markType, SkillUseContext inUseContext)
        {
            if (!_originator)
            {
                return;
            }
            uint objID = _originator.get_handle().ObjID;

            if (!this.CheckDependMark(objID, _markID))
            {
                return;
            }
            ulong      num = (ulong)objID | (ulong)((ulong)((long)_markID) << 32);
            BufferMark bufferMark;

            if (this.buffMarkSet.TryGetValue(num, ref bufferMark))
            {
                bufferMark.AutoTrigger(_originator, inUseContext);
            }
            else
            {
                bufferMark = new BufferMark(_markID);
                if (bufferMark.cfgData != null)
                {
                    bufferMark.Init(this.buffHolder, _originator, _markType);
                    this.buffMarkSet.Add(num, bufferMark);
                }
            }
        }
示例#2
0
 public void Clear()
 {
     DictionaryView <ulong, BufferMark> .Enumerator enumerator = this.buffMarkSet.GetEnumerator();
     while (enumerator.MoveNext())
     {
         KeyValuePair <ulong, BufferMark> current = enumerator.get_Current();
         BufferMark value = current.get_Value();
         value.SetCurLayer(0);
     }
     this.buffMarkSet.Clear();
 }
示例#3
0
 public void ClearBufferMark(int _typeMask)
 {
     DictionaryView <ulong, BufferMark> .Enumerator enumerator = this.buffMarkSet.GetEnumerator();
     while (enumerator.MoveNext())
     {
         KeyValuePair <ulong, BufferMark> current = enumerator.get_Current();
         BufferMark value    = current.get_Value();
         int        markType = (int)value.GetMarkType();
         if ((_typeMask & 1 << markType) > 0)
         {
             value.SetCurLayer(0);
         }
     }
 }
示例#4
0
 public void ClearBufferMark(int _typeMask)
 {
     DictionaryView <int, BufferMark> .Enumerator enumerator = this.buffMarkSet.GetEnumerator();
     while (enumerator.MoveNext())
     {
         KeyValuePair <int, BufferMark> current = enumerator.Current;
         BufferMark mark     = current.Value;
         int        markType = (int)mark.GetMarkType();
         if ((_typeMask & (((int)1) << markType)) > 0)
         {
             mark.SetCurLayer(0);
         }
     }
 }
示例#5
0
        public void AddBufferMark(PoolObjHandle <ActorRoot> _originator, int _markID)
        {
            BufferMark mark;

            if (this.buffMarkSet.TryGetValue(_markID, out mark))
            {
                mark.AddLayer(1);
                mark.AddTrigger(_originator);
            }
            else
            {
                mark = new BufferMark(_markID);
                if (mark.cfgData != null)
                {
                    mark.Init(this.buffHolder);
                    this.buffMarkSet.Add(_markID, mark);
                }
            }
        }
示例#6
0
 public void AddBufferMark(PoolObjHandle <ActorRoot> _originator, int _markID, uint _markType)
 {
     if (this.CheckDependMark(_markID))
     {
         BufferMark mark;
         if (this.buffMarkSet.TryGetValue(_markID, out mark))
         {
             mark.AutoTrigger(_originator);
         }
         else
         {
             mark = new BufferMark(_markID);
             if (mark.cfgData != null)
             {
                 mark.Init(this.buffHolder, _originator, _markType);
                 this.buffMarkSet.Add(_markID, mark);
             }
         }
     }
 }