コード例 #1
0
    static int LookAround(IntPtr L)
    {
        try
        {
            ToLua.CheckArgsCount(L, 2);
            DP_CameraTrackObjectManage obj = (DP_CameraTrackObjectManage)ToLua.CheckObject(L, 1, typeof(DP_CameraTrackObjectManage));
            System.Action arg0             = null;
            LuaTypes      funcType2        = LuaDLL.lua_type(L, 2);

            if (funcType2 != LuaTypes.LUA_TFUNCTION)
            {
                arg0 = (System.Action)ToLua.CheckObject(L, 2, typeof(System.Action));
            }
            else
            {
                LuaFunction func = ToLua.ToLuaFunction(L, 2);
                arg0 = DelegateFactory.CreateDelegate(typeof(System.Action), func) as System.Action;
            }

            obj.LookAround(arg0);
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
コード例 #2
0
 static int OnInterruptLookAround(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         DP_CameraTrackObjectManage obj = (DP_CameraTrackObjectManage)ToLua.CheckObject(L, 1, typeof(DP_CameraTrackObjectManage));
         obj.OnInterruptLookAround();
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
コード例 #3
0
 static int CancelTrackActor(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         DP_CameraTrackObjectManage obj = (DP_CameraTrackObjectManage)ToLua.CheckObject(L, 1, typeof(DP_CameraTrackObjectManage));
         int arg0 = (int)LuaDLL.luaL_checknumber(L, 2);
         obj.CancelTrackActor(arg0);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
コード例 #4
0
    static int _CreateDP_CameraTrackObjectManage(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 0)
            {
                DP_CameraTrackObjectManage obj = new DP_CameraTrackObjectManage();
                ToLua.PushObject(L, obj);
                return(1);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to ctor method: DP_CameraTrackObjectManage.New"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
コード例 #5
0
    //游戏逻辑初始化
    public static IEnumerator InitLogic()
    {
        // Debug.logger.logEnabled = false;

        Application.targetFrameRate = 30;//限定帧率

        m_logicInitProgress = 0.3f;
        yield return(null);

        {
            bool sc_main_loadComplate = false;

            //增量装载场景公共资源 LoadSceneMode.Additive 加载场景的时候不关闭上一个场景
            SceneManage.Single.Load(
                "sc_main", null, LoadSceneMode.Additive,
                () => sc_main_loadComplate = true,//装载完成通知
                null
                );

            //等待主场景装载完成
            while (!sc_main_loadComplate)
            {
                yield return(null);
            }

            m_logicInitProgress = 0.35f;
            yield return(null);

            m_logicInitProgress = 0.4f;
            yield return(null);
        }

        //实例化服务器虚机
        QKNodeSDK_CLR.Node.AutoInstance();

        DataManager.AutoInstance();
        DisplayerManager.AutoInstance();
        m_logicInitProgress = 0.58f;
        yield return(null);

        SData_mapdata.AutoInstance();
        m_logicInitProgress = 0.9f;
        yield return(null);

        AI_Single.AutoInstance();

        //设置场景滚动限制参数
        {
            var scrollAreaLimiterObj = GameObject.Find("/ScrollAreaLimiter");
            var scrollAreaLimiter    = scrollAreaLimiterObj.GetComponent <ScrollAreaLimiter>();

            var mapData = SData_mapdata.Single.GetDataOfID(1);
            var xmin    = mapData.FreeCameraXmin;
            var xmax    = mapData.FreeCameraXmax;

            var zmin = mapData.FreeCameraZmin;
            var zmax = mapData.FreeCameraZmax;

            var halfBoxw = (xmax - xmin) / 2;
            var halfBoxh = (zmax - zmin) / 2;

            var centerX = xmin + halfBoxw;
            var centerZ = zmin + halfBoxh;

            scrollAreaLimiter.Area.center      = new Vector3(centerX, 300, centerZ);
            scrollAreaLimiter.Area.extents     = new Vector3(halfBoxw, 1000, halfBoxh);
            scrollAreaLimiter.SoftArea.center  = new Vector3(centerX, 300, centerZ);
            scrollAreaLimiter.SoftArea.extents = new Vector3(
                halfBoxw + 5 * DiamondGridMap.wxs * mapData.terrain_cell_bianchang,
                4000,
                halfBoxh + 5 * DiamondGridMap.VerticalSpacingFactor
                );
        }

        //实例化相机追随物管理器
        DP_CameraTrackObjectManage.AutoInstance();

        m_logicInitProgress = 1.0f;
        yield return(null);
    }