public void AddToLayer(int layer)
        {
            RemoveFromLayer( this.layer );

            this.layer = layer;
            priHolder.Init();
            priHolder = SpriteManager.AddPrimitiveGroupToLayer(layer, priHolder);
        }
 internal static void RemovePrimitiveGroupFromLayer(int id, SetIndexer<SpritePrimitiveGroup> group)
 {
     instance._RemovePrimitiveGroupFromLayer(id, group);
 }
 public SpritePrimitiveGroup()
 {
     priHolder = new SetIndexer<SpritePrimitiveGroup>(this);
 }
 internal static SetIndexer<SpritePrimitiveGroup> AddPrimitiveGroupToLayer(int id, SetIndexer<SpritePrimitiveGroup> group)
 {
     return instance._AddPrimitiveGroupToLayer(id, group);
 }
 void _RemovePrimitiveGroupFromLayer(int id, SetIndexer<SpritePrimitiveGroup> primitive)
 {
     SpriteLayer layer = _GetLayer(id);
     layer.Remove(primitive);
 }
 SetIndexer<SpritePrimitiveGroup> _AddPrimitiveGroupToLayer(int id, SetIndexer<SpritePrimitiveGroup> group)
 {
     SpriteLayer layer = _GetLayer(id);
     return layer.Add(group);
 }
        internal void Remove(SetIndexer<SpritePrimitiveGroup> data)
        {
            int idx = data.nodeIndex;
            baseContainer.Remove(data);

            if (idx < baseContainer.size)
                baseContainer[idx].priHolder.nodeIndex = idx;
        }
 internal SetIndexer<SpritePrimitiveGroup> Add(SetIndexer<SpritePrimitiveGroup> data)
 {
     return baseContainer.Add(data);
 }