Esempio n. 1
0
        private static void F_Load(ref LoadParameter param)
        {
            var L = param.L;

            LuaProto proto;
            var      c = param.LoadInfo.PeekByte();

            if (c == LuaConf.LUA_SIGNATURE[0])
            {
                L.CheckMode(param.Mode, "binary");
                proto = Undump.LoadBinary(L, param.LoadInfo, param.Name);
            }
            else
            {
                L.CheckMode(param.Mode, "text");
                proto = Parser.Parse(L, param.LoadInfo, param.Name);
            }

            var cl = new LuaLClosureValue(proto);

            Utl.Assert(cl.Upvals.Length == cl.Proto.Upvalues.Count);

            L.Top.V.SetClLValue(cl);
            L.IncrTop();
        }
Esempio n. 2
0
 /// <summary>
 /// Compares two ModuleLoadInfos to determine they are pretty much the same or not
 /// </summary>
 /// <param name="mli"></param>
 /// <returns></returns>
 public bool Same(ModuleLoadInfo mli)
 {
     return(ViewName == mli.ViewName &&
            LoadCommand == mli.LoadCommand &&
            ((LoadParameter == null && mli.LoadParameter == null) ||
             (LoadParameter != null && LoadParameter.Equals(mli.LoadParameter))));
 }
Esempio n. 3
0
        void Start()
        {
            if (Parameter == null)
            {
                Parameter = new LoadParameter {
                    MusicTitle = titleAtError
                };
            }
            var loader = GetComponent <MusicAndChartLoader>();

            loader.Load(Parameter.MusicTitle);
        }
Esempio n. 4
0
        ThreadStatus ILuaAPI.Load(ILoadInfo loadinfo, string name, string mode)
        {
            var param  = new LoadParameter(this, loadinfo, name, mode);
            var status = D_PCall(DG_F_Load, ref param, Top.Index, ErrFunc);

            if (status == ThreadStatus.LUA_OK)
            {
                var below = Stack[Top.Index - 1];
                Utl.Assert(below.V.TtIsFunction() && below.V.ClIsLuaClosure());
                var cl = below.V.ClLValue();
                if (cl.Upvals.Length == 1)
                {
                    var gt = G.Registry.V.HValue().GetInt(LuaDef.LUA_RIDX_GLOBALS);
                    cl.Upvals[0].V.V.SetObj(ref gt.V);
                }
            }

            return(status);
        }
Esempio n. 5
0
    IEnumerator DoLoad(string path, System.Action <Object> callback)
    {
        ResourceRequest req = Resources.LoadAsync <Object>(path);

        yield return(req);

        if (null != callback)
        {
            callback.Invoke(req.asset);
        }
        //
        if (m_list.Count > 0)
        {
            LoadParameter lp = m_list [0];
            m_list.RemoveAt(0);
            StartCoroutine(DoLoad(lp.path, lp.callback));
        }
        else
        {
            m_isLoading = false;
            m_imageBG.SetActive(false);
        }
    }
Esempio n. 6
0
        public override int GetHashCode()
        {
            var hash = 0;

            if (ModuleName != null)
            {
                hash ^= ModuleName.GetHashCode();
            }

            if (ViewName != null)
            {
                hash ^= ViewName.GetHashCode();
            }

            hash ^= LoadCommand.GetHashCode();

            if (LoadParameter != null)
            {
                hash ^= LoadParameter.GetHashCode();
            }

            return(hash);
        }
Esempio n. 7
0
        ThreadStatus ILuaAPI.Load( ILoadInfo loadinfo, string name, string mode )
        {
            var param  = new LoadParameter(this, loadinfo, name, mode);
            var status = D_PCall( DG_F_Load, ref param, Top.Index, ErrFunc );

            if( status == ThreadStatus.LUA_OK ) {
                var below = Stack[Top.Index-1];
                Utl.Assert(below.V.TtIsFunction() && below.V.ClIsLuaClosure());
                var cl = below.V.ClLValue();
                if(cl.Upvals.Length == 1) {
                    var gt = G.Registry.V.HValue().GetInt(LuaDef.LUA_RIDX_GLOBALS);
                    cl.Upvals[0].V.V.SetObj(ref gt.V);
                }
            }

            return status;
        }
Esempio n. 8
0
        private static void F_Load(ref LoadParameter param)
        {
            var L = param.L;

            LuaProto proto;
            var c = param.LoadInfo.PeekByte();
            if( c == LuaConf.LUA_SIGNATURE[0] )
            {
                L.CheckMode( param.Mode, "binary" );
                proto = Undump.LoadBinary(L, param.LoadInfo, param.Name);
            }
            else
            {
                L.CheckMode( param.Mode, "text" );
                proto = Parser.Parse(L, param.LoadInfo, param.Name);
            }

            var cl = new LuaLClosureValue( proto );
            Utl.Assert(cl.Upvals.Length == cl.Proto.Upvalues.Count);

            L.Top.V.SetClLValue(cl);
            L.IncrTop();
        }
Esempio n. 9
0
        ThreadStatus ILuaAPI.Load( ILoadInfo loadinfo, string name, string mode )
        {
            var param  = new LoadParameter( loadinfo, name, mode );
            var status = D_PCall( F_Load, param, Top, ErrFunc );

            if( status == ThreadStatus.LUA_OK )
            {
                var cl = (Top-1).Value as LuaLClosure;
                if( cl.Upvals.Count == 1 )
                {
                    cl.Upvals[0].V.Value = G.Registry.GetInt(
                        LuaDef.LUA_RIDX_GLOBALS );
                }
            }

            return status;
        }