예제 #1
0
 public Graphic Get(VEntity owner, string id)
 {
     if (!this._pool.TryGetValue(id, out GraphicPool pool))
     {
         pool           = new GraphicPool(id);
         this._pool[id] = pool;
     }
     return(pool.Get(owner));
 }
    public static int Clear(IntPtr l)
    {
        int result;

        try
        {
            GraphicPool graphicPool = (GraphicPool)LuaObject.checkSelf(l);
            graphicPool.Clear();
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int Destroy(IntPtr l)
    {
        int result;

        try
        {
            GraphicPool    graphicPool = (GraphicPool)LuaObject.checkSelf(l);
            GenericGraphic g;
            LuaObject.checkType <GenericGraphic>(l, 2, out g);
            graphicPool.Destroy(g);
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int SetDefaultParent(IntPtr l)
    {
        int result;

        try
        {
            GraphicPool graphicPool = (GraphicPool)LuaObject.checkSelf(l);
            GameObject  defaultParent;
            LuaObject.checkType <GameObject>(l, 2, out defaultParent);
            graphicPool.SetDefaultParent(defaultParent);
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int constructor(IntPtr l)
    {
        int result;

        try
        {
            bool isFx;
            LuaObject.checkType(l, 2, out isFx);
            GraphicPool o = new GraphicPool(isFx);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, o);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int Create(IntPtr l)
    {
        int result;

        try
        {
            GraphicPool graphicPool = (GraphicPool)LuaObject.checkSelf(l);
            string      assetName;
            LuaObject.checkType(l, 2, out assetName);
            GenericGraphic o = graphicPool.Create(assetName);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, o);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
예제 #7
0
        public void Release(Graphic graphic)
        {
            GraphicPool pool = this._pool[graphic.id];

            pool.Release(graphic);
        }