/// <summary> /// 打开区域 /// </summary> /// <param name="onComplete"></param> public override void OpenDep(Action onComplete = null, bool isFocusT = true) { ShowFactory(); DisSelectLastDep(); if (isFocusT) { IsFocus = true; FocusOn(onComplete); } else { if (onComplete != null) { onComplete(); } } foreach (var building in ChildNodes) { building.HighlightOn(false); } //DepNode lastDep = FactoryDepManager.currentDep; //FactoryDepManager.currentDep = this; //SceneEvents.OnDepNodeChanged(lastDep, FactoryDepManager.currentDep); SceneEvents.OnDepNodeChanged(this); }
/// <summary> /// 打开区域 /// </summary> /// <param name="onComplete"></param> public override void OpenDep(Action onComplete = null, bool isFocusT = true) { HideFacotry(); BuildingController building = ParentNode.ParentNode as BuildingController; if (building != null) { building.LoadRoom(ParentNode, true, floor => { OnDevCreateComplete = onComplete; //DepNode lastDep = FactoryDepManager.currentDep; //FactoryDepManager.currentDep = this; //SceneEvents.OnDepNodeChanged(lastDep, this); SceneEvents.OnDepNodeChanged(this); //Todo:摄像头聚焦 if (isFocusT) { FocusOn(() => { AfterRoomFocus(true); }); } else { AfterRoomFocus(true); } }); } }
public static void SetCurrentDepNode(DepNode node) { //DepNode last = currentDep; //currentDep = node; //SceneEvents.OnDepNodeChanged(last, currentDep); SceneEvents.OnDepNodeChanged(node); }
/// <summary> /// 返回园区 /// </summary> private void BackToFactory() { IsFocus = false; HideDep(); CameraSceneManager.Instance.ReturnToDefaultAlign(); FactoryDepManager.currentDep = FactoryDepManager.Instance; SceneEvents.OnDepNodeChanged(this, FactoryDepManager.currentDep); SceneBackButton.Instance.Hide(); }
/// <summary> /// 加载机房 /// </summary> /// <param name="depNode"></param> /// <param name="isFocusRoom"></param> /// <param name="OnComplete"></param> private void RoomCreate(DepNode depNode, bool isFocusRoom, Action <FloorController> OnComplete = null) { int roomId = depNode.NodeID; Log.Info(string.Format("RoomCreate2 DepNode:{0},{1}", depNode, depNode.TopoNode != null)); GameObject roomObject = GetRoomObject(roomId); FloorController controller = roomObject.GetComponent <FloorController>(); controller.RecordPosInBuilding(depNode); //记录在大楼中的位置信息 controller.SetColliderState(false); DisplayFloor(controller);//单独展示楼层 controller.ShowFloorDev(); if (controller.TopoNode == null) { controller.SetTopoNode(depNode.TopoNode); //设置TopoNode } currentRoom = controller; if (!isFocusRoom) { SceneEvents.OnDepNodeChanged(currentRoom); if (!LocationManager.Instance.IsFocus) { //摄像头对焦完成后,开始加载设备 FocusCamera(roomObject, () => { controller.CreateFloorDev(() => { if (OnComplete != null) { OnComplete(currentRoom); } }); }); } else { controller.CreateFloorDev(() => { if (OnComplete != null) { OnComplete(currentRoom); } }); } } else { if (OnComplete != null) { OnComplete(currentRoom); } } }
//private void InitDevContainer() //{ // if (_roomDevContainer != null) return; // _roomDevContainer = new GameObject("RoomDevContainer"); // _roomDevContainer.transform.parent = transform; // FloorController floor = ParentNode as FloorController; // if (floor) // { // if (monitorRangeObject != null) // { // transform.position = monitorRangeObject.transform.position; // } // Transform parentCotainer = floor.RoomDevContainer.transform; // _roomDevContainer.transform.position = parentCotainer.position; // _roomDevContainer.transform.eulerAngles = parentCotainer.eulerAngles; // _roomDevContainer.transform.localScale = parentCotainer.lossyScale; // } //} ///// <summary> ///// 隐藏机房设备 ///// </summary> //public void HideRoomDev() //{ // RoomDevContainer.SetActive(false); //} ///// <summary> ///// 显示机房设备 ///// </summary> //public void ShowRoomDev() //{ // RoomDevContainer.SetActive(true); //} public override void FocusOn(Action onDevCreateFinish = null) { IsFocus = true; //OnDevCreateComplete = onDevCreateFinish; //DepNode lastDep = FactoryDepManager.currentDep; //FactoryDepManager.currentDep = this; //SceneEvents.OnDepNodeChanged(lastDep, this); SceneEvents.OnDepNodeChanged(this); //Todo:摄像头聚焦 AlignTarget alignTargetTemp; alignTargetTemp = monitorRangeObject != null?GetTargetInfo(monitorRangeObject.gameObject) : GetTargetInfo(gameObject); CameraSceneManager camera = CameraSceneManager.Instance; //FlashingRoom(); camera.FocusTargetWithTranslate(alignTargetTemp, AreaSize, AfterRoomFocus); }
/// <summary> /// 打开区域 /// </summary> /// <param name="onComplete"></param> public override void OpenDep(Action onComplete = null, bool isFocusT = true) { ShowFactory(); if (NodeObject == null) { if (onComplete != null) { onComplete(); } Debug.Log("DepObject is null..."); return; } else { ShowBuildingDev(true); FactoryDepManager.Instance.HideOtherBuilding(this); if (isFocusT) { FocusOn(onComplete); } else { if (onComplete != null) { onComplete(); } } //DepNode lastDep = FactoryDepManager.currentDep; //lastDep.IsFocus = false; //FactoryDepManager.currentDep = this; //SceneEvents.OnDepNodeChanged(lastDep, FactoryDepManager.currentDep); FactoryDepManager.currentDep.IsFocus = false; SceneEvents.OnDepNodeChanged(this); } }