示例#1
0
        public static int registerMask(int _ClipInstanceID, uint _ObjectID, IGAFMaskObjectImpl _Mask)
        {
            int stencilID = 0;

            if (stencilMasks.ContainsKey(_ClipInstanceID))
            {
                if (stencilMasks[_ClipInstanceID].ContainsKey(_ObjectID))
                {
                    stencilID = stencilMasks[_ClipInstanceID][_ObjectID].getStencilID();
                }
                else
                {
                    stencilID = availableIDs[0];
                    availableIDs.RemoveAt(0);
                    stencilMasks[_ClipInstanceID].Add(_ObjectID, _Mask);
                }
            }
            else
            {
                stencilMasks.Add(_ClipInstanceID, new Dictionary <uint, IGAFMaskObjectImpl>());
                stencilID = availableIDs[0];
                availableIDs.RemoveAt(0);
                stencilMasks[_ClipInstanceID].Add(_ObjectID, _Mask);
            }

            return(stencilID);
        }
		public static int registerMask(int _ClipInstanceID, uint _ObjectID, IGAFMaskObjectImpl _Mask)
		{
			int stencilID = 0;
			if (stencilMasks.ContainsKey(_ClipInstanceID))
			{
				if (stencilMasks[_ClipInstanceID].ContainsKey(_ObjectID))
				{
					stencilID = stencilMasks[_ClipInstanceID][_ObjectID].getStencilID();
				}
				else
				{
					stencilID = availableIDs[0];
					availableIDs.RemoveAt(0);
					stencilMasks[_ClipInstanceID].Add(_ObjectID, _Mask);
				}
			}
			else
			{
				stencilMasks.Add(_ClipInstanceID, new Dictionary<uint, IGAFMaskObjectImpl>());
				stencilID = availableIDs[0];
				availableIDs.RemoveAt(0);
				stencilMasks[_ClipInstanceID].Add(_ObjectID, _Mask);
			}

			return stencilID;
		}
		public static void unregisterMask(int _ClipInstanceID, uint _ObjectID, IGAFMaskObjectImpl _Mask)
		{
			if (stencilMasks.ContainsKey(_ClipInstanceID) &&
				stencilMasks[_ClipInstanceID].ContainsKey(_ObjectID))
			{
				availableIDs.Add(_Mask.getStencilID());
				stencilMasks[_ClipInstanceID].Remove(_ObjectID);
				if (stencilMasks[_ClipInstanceID].Count == 0)
					stencilMasks.Remove(_ClipInstanceID);
			}
		}
示例#4
0
 public static void unregisterMask(int _ClipInstanceID, uint _ObjectID, IGAFMaskObjectImpl _Mask)
 {
     if (stencilMasks.ContainsKey(_ClipInstanceID) &&
         stencilMasks[_ClipInstanceID].ContainsKey(_ObjectID))
     {
         availableIDs.Add(_Mask.getStencilID());
         stencilMasks[_ClipInstanceID].Remove(_ObjectID);
         if (stencilMasks[_ClipInstanceID].Count == 0)
         {
             stencilMasks.Remove(_ClipInstanceID);
         }
     }
 }