public void LoadLevel(int nSceneID, NFMsg.AckMiningTitle strData) { mnSceneID = nSceneID; NFRender.Instance.SetMainRoleAgentState(false); mnProgress = 0; NFrame.NFIElement xElement = NFrame.NFCKernelModule.Instance.GetElementModule().GetElement(nSceneID.ToString()); if (null != xElement) { string strName = xElement.QueryString("SceneName"); string strUIName = xElement.QueryString("LoadingUI"); UnityEngine.SceneManagement.Scene xSceneInfo = SceneManager.GetActiveScene(); if (xSceneInfo.name == strName) { //Debug.LogWarning ("begin the same scene" + strSceneID); //SceneManager.LoadScene (xSceneInfo.buildIndex); //Debug.LogWarning ("end the same scene" + strSceneID); //load a empty scene then load this scene asy SceneManager.LoadScene("EmptyScene"); } StartCoroutine(LoadLevel(strName, strUIName, strData)); } else { Debug.LogError("LoadLevel error: " + nSceneID); } //NFRender.Instance.SetMainRoleAgentState(true); }
private IEnumerator LoadLevel(string strSceneID, string strUI, NFMsg.AckMiningTitle strData) { asy = SceneManager.LoadSceneAsync(strSceneID); DirectoryInfo mydir = new DirectoryInfo(strUI); if (mydir.Exists) { //xTexture = GameObject.Instantiate(Resources.Load(strUI)) as Texture; } int nIndex = Random.Range(0, xTextureList.Length); Sprite xSprite = xTextureList [nIndex]; Image xImage = GUIHolder.GetComponent <Image> (); xImage.overrideSprite = xSprite; GUIHolder.SetActive(true); NFStart.Instance.SetJoyEnable(false); NFCWindowManager.Instance.HideWindows(NFCWindows.UI_WIN_STATE.UI_WIN_SEARCH_OPPNENT); while (!asy.isDone) { int nProgress = CpPercentage(); if (nProgress >= 100) { break; } yield return(new WaitForEndOfFrame()); } if (!bInitSend) { bInitSend = true; NFNetController.Instance.mxNetSender.RequireEnterGameFinish(NFNetController.Instance.xMainRoleID); } GUIHolder.SetActive(false); //joy will show if this scene is a flighting scene RemoveTile(strData); NFCWindowManager.Instance.HideWindows(NFCWindows.UI_WIN_STATE.UI_WIN_SEARCH_OPPNENT); bool bEnable = NFCWindowManager.Instance.GetGameWindowEnable(NFCWindows.UI_WIN_STATE.UI_WIN_MAIN_SKILL); NFStart.Instance.SetJoyEnable(bEnable); }
private void RemoveTile(NFMsg.AckMiningTitle strData) { if (null == strData) { return; } for (int i = 0; i < strData.tile.Count; ++i) { NFMsg.TileState xTileState = strData.tile [i]; if (xTileState.opr == 0) { //挖 } else if (xTileState.opr == 1) { //补 //NFCTileMng.Instance.AddTile(xTileState.x, xTileState.y); } } }
public void LoadScene(int nSceneID, float fX, float fY, float fZ, NFMsg.AckMiningTitle strData) { mbLoadedScene = true; mnScene = nSceneID; mvSceneBornPos.x = fX; mvSceneBornPos.y = fY; mvSceneBornPos.z = fZ; //NFLoadingMgr.Instance.SendMessage("LoadLevel", mnScene, (object)strData); NFLoadingMgr.Instance.LoadLevel(mnScene, strData); if (null == NFNetController.Instance || !mhtObject.ContainsKey(NFNetController.Instance.xMainRoleID)) { return; } //主角贴地,出生点 GameObject xGameObject = (GameObject)mhtObject[NFNetController.Instance.xMainRoleID]; if (null != xGameObject) { xGameObject.transform.position = mvSceneBornPos; } }