// Use this for initialization void Start() { if (unitContainer) { unitMgr = unitContainer.GetComponent <SFUnitManager>(); } SFBattleController.currentBattle = this; // 加载场景 SFUtils.log("mapId:{0}", SFBattleData.instance.enterBattle_mapId); string mapName = string.Format("map_{0}", SFBattleData.instance.enterBattle_mapId); var mapPrefab = Resources.Load("Prefabs/Maps/" + mapName) as GameObject; if (mapPrefab == null) { SFUtils.log("场景加载失败:Prefabs/Maps/" + mapName); } else { GameObject.Instantiate(mapPrefab, unitContainer.transform.parent); } // 加载HUD SFSceneManager.addView("vwHUD"); // 加载角色 if (unitMgr) { unitMgr.initUnits(); } // 网络断开 SFNetworkManager.instance.dispatcher.addEventListener(this, SFEvent.EVENT_NETWORK_INTERRUPTED, onNetworkInterrupted); }
public void initWithView(SFBaseView view) { m_view = view as SFMainView; m_view.addEventListener(m_view.btnLogout, SFEvent.EVENT_UI_CLICK, onLogout); SFNetworkManager.instance.dispatcher.addEventListener(SFResponseMsgUnitLogin.pName, onLogoutResult); SFSceneManager.addView("vwPlay", m_view.imgPos.transform); m_view.lblUid.text = SFUserData.instance.uid; }
// Use this for initialization void Start() { if (SFNetworkManager.instance != null && SFNetworkManager.instance.isReady()) { SFSceneManager.addView("vwMain"); } else { SFSceneManager.addView("vwLogin"); } }
void onLogoutResult(SFEvent e) { var data = e.data as SFResponseMsgUnitLogin; if (data.retCode == 0) { SFNetworkManager.instance.uninit(); m_view.removeView(); SFSceneManager.addView("vwLogin"); } else { SFUtils.logWarning("登出失败"); } }
void onLoginResult(SFEvent e) { var data = e.data as SFResponseMsgUnitLogin; if (data.retCode == 0) { m_infoMsg = "登陆成功..."; m_view.removeView(); SFSceneManager.addView("vwMain"); } else { m_infoMsg = string.Format("登陆失败,错误码:{0}", data.retCode); m_willReset = true; } }
void onUnitAddRemove(SFEvent e) { var data = e.data as SFUnitAddRemove; if (data.addOrRemove == true) { // 添加角色 var newGO = m_view.scrLeftPlayers.AddItem(SFSceneManager.getView("vwUnitStatusItem")); if (newGO != null) { var item = newGO.GetComponent <SFUnitStatusItemView>().getPresenter(); item.init(data); } } else { // 移除角色 } }
public void updateStatus(SFMsgDataUserSyncInfo info) { bool lifeChanged = m_curLife != info.life; m_curPosX = info.posX; m_curPosY = info.posY; m_curRotation = info.rotation; m_curSpeedX = info.speedX; m_curSpeedY = info.speedY; m_curLife = info.life; m_maxLife = info.maxLife; if (info.skillId > 0) { this.skill(info.skillId, info.skillData); } if (lifeChanged) { var data = new SFUnitLifeChange(); data.uid = uid; data.curLife = m_curLife; data.maxLife = m_maxLife; SFBattleData.instance.dispatcher.dispatchEvent(SFEvent.EVENT_UNIT_LIFE_CHANGE, data); if (uid == SFUserData.instance.uid && m_curLife <= 0) { // 死亡,游戏结束 SFUtils.log("游戏结束"); m_curSpeedX = 0; m_curSpeedY = 0; body.SetActive(false); // 播放爆炸动画 explodeFX.Play(); GameObject.Destroy(gameObject, 1.5f); // 显示结束UI SFSceneManager.addView("vwGameOver"); SFBattleData.instance.isGameOver = true; } } }
/// <summary> /// 根据给定的View Name将UI添加到场景中,可指定父节点(默认uiRoot),层级 /// </summary> /// <returns>The view.</returns> /// <param name="viewName">View名称</param> /// <param name="trans">父节点,默认uiRoot</param> /// <param name="sibIdx">层级,默认最上层</param> static public GameObject addView(string viewName, Transform trans = null, int sibIdx = -1) { var prefab = getView(viewName); return(SFSceneManager.addView(prefab, trans, sibIdx)); }
public void onLogout(SFEvent e) { SFSceneManager.addView("vwTest", m_view.imgPos.transform); }
void onMenu(SFEvent e) { m_view.scrSkills.AddItem(SFSceneManager.getView("vwSkillItem")); }