Пример #1
0
    public IEnumerator Init()
    {
        MonoEX.Debug.LogoutHandle = MonoEXLogout;//设定日志输出回调

        //初始化数据表管理器
        new TabReaderManage(new U3dTabFactory());

        //挂载协程管理组件
        CoroutineManage.AutoInstance();
        yield return(null);//等待携程管理器初始化完成

        //资源引用管理器
        //new ResourceRefManage();

        //挂载TimeLine组件
        UROMSystem.Single.AddComponent <UTimeLine>();


        //挂载场景管理组件
        //UROMSystem.Single.AddComponent<SceneManage>();


        //挂载UI景深渲染组件

        /*
         * GameObject UIForegroundCameraObj = GameObject.Find("/UIRoot/UICameras/Camera_UIForeground");
         * UIForegroundScreenTexture cmUIForegroundScreenTexture = UIForegroundCameraObj.AddComponent<UIForegroundScreenTexture>();
         * cmUIForegroundScreenTexture.m_camera = UIForegroundCameraObj.GetComponent<Camera>();
         * cmUIForegroundScreenTexture.m_targetUITexture =  GameObject.Find("/UIRoot/UIForegroundLayer/UIForegroundTexture");
         */

        //装载rom资源
        {
            List <string> packs = new List <string>();
            packs.Add("packets");
            packs.Add("rom_upd");   //更新界面所需要资源
            packs.Add("rom_share"); //更新界面和逻辑公共资源
            PacketLoader loader = new PacketLoader();
            loader.Start(PackType.Res, packs, null);

            //等待资源装载完成
            while (loader.Result == PacketLoader.ResultEnum.Loading)
            {
                yield return(null);
            }
        }


        //初始化romcfg
        GameObject gameConfig = GameObjectExtension.InstantiateFromPacket("rom_share", "GameConfig", null);

        GameObject.DontDestroyOnLoad(gameConfig);
        yield return(null);
    }
Пример #2
0
    // -------------------------------技能执行----------------------------------


    /// <summary>
    /// 执行方程式
    /// </summary>
    /// <param name="formula">方程式对象</param>
    /// <param name="callback">完成回调</param>
    public void DoFormula(IFormula formula, Action callback = null)
    {
        if (formula == null)
        {
            Debug.Log("方程式对象为空.");
            return;
            //throw new Exception("方程式对象为空.");
        }

        CoroutineManage.AutoInstance();
        CoroutineManage.Single.StartCoroutine(LoopDoFormula(formula, callback));
    }
Пример #3
0
    /// <summary>
    /// 初始化Manager
    /// </summary>
    private void InitClusterManager()
    {
        var map = new int[MapHeight][];

        for (var i = 0; i < map.Length; i++)
        {
            map[i] = new int[MapWidth];
        }
        ClusterManager.Single.ClearAll();
        ClusterManager.Single.Init(0, 0, MapWidth, MapHeight, UnitWidth, map);
        LoadMap.Single.Init(map, UnitWidth);
        DisplayerManager.AutoInstance();
        // 启动携程器
        CoroutineManage.AutoInstance();
    }
Пример #4
0
    private IEnumerator InitFunc(Action OnLoadStep, Action loadOver)
    {
        GameObject gameMgr = GameObject.Find("GameManager");

        if (gameMgr != null)
        {
            gameMgr.AddComponent <AppView>();
            CoroutineManage.AutoInstance();
            //gameMgr.AddComponent<CMShowFPS>();
        }

        //-----------------关联命令-----------------------
        AppFacade.Instance.RegisterCommand(NotiConst.DISPATCH_MESSAGE, typeof(SocketCommand));

        AppFacade.Instance.AddManager <LuaManager>();
        ResourceManager resMgr = AppFacade.Instance.AddManager <ResourceManager>();

        AppFacade.Instance.AddManager <NetworkManager>();
        AppFacade.Instance.AddManager <ThreadManager>();
        AppFacade.Instance.AddManager <SimpleTimerManager>();

        //bool canNext = false;
        //resMgr.LoadAssetPacker("ui_login", "icon", delegate(UnityEngine.Object[] objs)
        //{
        //    if (objs.Length == 0) return;
        //    GameResFactory.Instance().mAssetPacker = objs[0] as AssetPacker;
        //    canNext = true;
        //});

        //while (canNext == false) yield return null;

        if (OnLoadStep != null)
        {
            OnLoadStep();
        }

        AppFacade.Instance.AddManager <GameManager>();

        if (loadOver != null)
        {
            loadOver();
        }
        yield return(null);
    }
Пример #5
0
    void Start()
    {
        // 启动TriggerTicker
        TriggerTicker.Single.Start();
        // 设定帧数
        Application.targetFrameRate = 60;
        var loadMapPos = LoadMap.GetCenter();

        ClusterManager.Single.Init(loadMapPos.x + LoadMap.MapWidth * LoadMap.UnitWidth, loadMapPos.z + LoadMap.MapHeight * LoadMap.UnitWidth, MapWidth, MapHeight, UnitWidth, null);

        // 启动显示管理器
        DisplayerManager.AutoInstance();
        // 启动携程器
        CoroutineManage.AutoInstance();
        // 启动数据管理器
        DataManager.AutoInstance();
        // 初始化资源
        InitPack();
        // 初始化lua
        InitLua();
        // 初始化技能
        InitSkill();
    }
Пример #6
0
 void OnEnable()
 {
     CoroutineManage.AutoInstance();
     CoroutineManage.Single.RegComponentUpdate(IUpdate);
 }
Пример #7
0
 void Awake()
 {
     CoroutineManage.AutoInstance();
 }
Пример #8
0
 //void OnEnable()
 public CoroutineManage()
 {
     Single = this;
 }