예제 #1
0
    // 創建場景
    private void CreateScene()
    {
        SceneImageRes imgRes = this.ImageRes;

        if (imgRes == null || m_Config == null || !m_Config.IsVaild)
        {
            return;
        }
        var bgCfg = m_Config.BgCfg;

        if (bgCfg == null)
        {
            return;
        }
        InitCamera();
        for (int i = 0; i < bgCfg.BgCount; ++i)
        {
            IBg bg = bgCfg.GetBg(i);
            if (bg == null)
            {
                continue;
            }
            CreateSceneLayer(bg);
        }

        var cam = AppConfig.GetInstance().m_Camera;

        if (cam != null)
        {
            var pt = cam.ScreenToWorldPoint(Vector3.zero);
            pt.y = 0;
            pt.z = 0;
            this.transform.position = pt;
        }
    }
예제 #2
0
    // 进入当前场景
    public bool EnterCurrentScene()
    {
        SceneImageRes imgRes = this.ImageRes;

        if (imgRes == null || m_Config == null || !m_Config.IsVaild)
        {
            return(false);
        }
        var bgCfg = m_Config.BgCfg;

        if (bgCfg == null)
        {
            return(false);
        }
        var bgDef = m_Config.bgDef;

        if (bgDef == null || string.IsNullOrEmpty(bgDef.spr))
        {
            return(false);
        }
        var name = bgDef.spr;

        name = GlobalConfigMgr.GetConfigFileNameNoExt(name);
        if (string.IsNullOrEmpty(name))
        {
            return(false);
        }
        string sceneRoot;

        if (string.IsNullOrEmpty(DefaultSceneRoot))
        {
            sceneRoot = string.Format("{0}@{1}/{2}", AppConfig.GetInstance().SceneRootDir, DefaultSceneName, name);
        }
        else
        {
            sceneRoot = string.Format("{0}{1}/@{2}/{3}", AppConfig.GetInstance().SceneRootDir, DefaultSceneRoot, DefaultSceneName, name);
        }
        string fileName = string.Format("{0}.sff.bytes", sceneRoot);

        if (!imgRes.LoadScene(fileName, m_Config))
        {
            Debug.LogErrorFormat("[sff] {0} is not found~!!!", fileName);
            return(false);
        }

        m_LoadedSceneName     = this.DefaultSceneName;
        m_LoadedSceneFileName = sceneRoot;
        // 創建場景
        CreateScene();
        AppConfig.GetInstance().StartFollow();
        PlayCurrSceneAudio();

        return(true);
    }
예제 #3
0
    // 創建場景
    private void CreateScene()
    {
        SceneImageRes imgRes = this.ImageRes;

        if (imgRes == null || m_Config == null || !m_Config.IsVaild)
        {
            return;
        }
        var bgCfg = m_Config.BgCfg;

        if (bgCfg == null)
        {
            return;
        }
        for (int i = 0; i < bgCfg.BgCount; ++i)
        {
            IBg bg = bgCfg.GetBg(i);
            if (bg == null)
            {
                continue;
            }
            CreateSceneLayer(bg);
        }
    }