/// <summary> /// 主角移动,小地图移动 /// </summary> /// <param name="_old"></param> /// <param name="_new"></param> protected void OnMainPlayerPositionChange(GameStage.Sector _old, GameStage.Sector _new) { mapCtrl.localPosition = new Vector3(mapCtrlOriginPos.x - _new.c * Mathf.PI + mapFrameScale.x / 2.0f, mapCtrlOriginPos.y - _new.r * Mathf.PI + mapFrameScale.y / 2.0f, 0); LimitMapCtr(); // RefreshPos(_new.c, _new.r); }
protected void OnPositionChange(GameStage.Sector _old, GameStage.Sector _new) { if (this == null || target == null || target.isDummy || transform == null) { return; } transform.localPosition = new Vector3(_new.c * Mathf.PI, _new.r * Mathf.PI, 0); }
protected void RefreshPos(GameStage.Sector _old, GameStage.Sector _new) { GameStage.Sector curSector = GameCenter.curMainPlayer.curSector; if (mainplayerPos != null) { posTexter = new StringBuilder(32); posTexter.Append(curSector.c.ToString()); posTexter.Append(","); posTexter.Append(curSector.r.ToString()); mainplayerPos.text = posTexter.ToString(); } if (mainPlayerPoint != null) { mainPlayerPoint.localPosition = new Vector3(posXRate * curSector.c, posYRate * curSector.r, 0); initMap(); } }
/// <summary> /// 根据距离变化,检测是否到达神圣晶石活动区域 /// </summary> void RefreshHolyInfo(GameStage.Sector sector1,GameStage.Sector sector2) { if(GameCenter.activityMng.GetActivityState(ActivityType.HOLYSPAR) == ActivityState.ONGOING) { List<SceneItem> itemList = GameCenter.curGameStage.GetSceneItems(); SceneItem holyStone = null; for (int i = 0,max=itemList.Count; i < max; i++) { if(itemList[i].MySceneFunctionType == SceneFunctionType.HOLYSTONE) { holyStone = itemList[i]; break; } } if(holyStone == null) { CloseHolyWnd();//活动结束 return; }else { int distance = (int)((GameCenter.curMainPlayer.transform.position - holyStone.transform.position).sqrMagnitude); if(distance < 144)//要客户端判断真是醉了(隐藏bug:在0~144范围内选择队伍toggle也会切到神圣晶石显示界面) { if(GameCenter.taskMng.CurSelectToggle != ToggleType.HOLYSTONE) { GameCenter.activityMng.C2S_ReqHolyInfo(); GameCenter.uIMng.CloseGUI(GUIType.TASK); GameCenter.taskMng.SetCurSelectToggle(ToggleType.HOLYSTONE); GameCenter.uIMng.GenGUI(GUIType.TASK,true); } }else if(distance < 169 && distance > 144)//要客户端判断真是醉了(隐藏bug:在神在144~169范围内选择队伍toggle也会切到任务显示界面) { if(GameCenter.taskMng.CurSelectToggle != ToggleType.TASK) { GameCenter.uIMng.CloseGUI(GUIType.TASK); GameCenter.taskMng.SetCurSelectToggle(ToggleType.TASK); GameCenter.uIMng.GenGUI(GUIType.TASK,true); } } } } }