public void Init() { ScaleCenter = FindObjectOfType <AssembleController>().transform.position; RotaAngleCenter = FindObjectOfType <AssembleController>().transform.position; RotaLeftBut = GameObject.Find("Canvas/BG/WorkAreaControl/PartPanel/Contrarotate").GetComponent <Button>(); RotaRightBut = GameObject.Find("Canvas/BG/WorkAreaControl/PartPanel/ClockwiseRotation").GetComponent <Button>(); _Slider = GameObject.Find("Canvas/BG/WorkAreaControl/SliderPlane/Slider").GetComponent <Slider>(); _SliderText = GameObject.Find("Canvas/BG/WorkAreaControl/SliderPlane/SliderText").GetComponent <Text>(); _ChangeModeBtn = GameObject.Find("Canvas/BG/WorkAreaControl/PartPanel/SwitchMode").GetComponent <Button>(); _LastNode = GameObject.Find("Canvas/BG/WorkAreaControl/PartPanel/Backspace").GetComponent <Button>(); _AddWorkSpaceBtn = GameObject.Find("Canvas/BG/WorkAreaControl/PartPanel/AddWordArea").GetComponent <Button>(); _DelWorkSpaceBtn = GameObject.Find("Canvas/BG/WorkAreaControl/PartPanel/DelWordArea").GetComponent <Button>(); if (AssembleModel.StudyModel == EntryMode.GetAssembleModel()) { _Skip = GameObject.Find("Canvas/BG/WorkAreaControl/PartPanel/Skip").GetComponent <Button>(); } _UIPartsPanelClass = GameObject.Find("Canvas/BG/PartsPanel/PartsClassPanel").GetComponent <UIPartsPanelClass>(); _UIPartsPage = GameObject.Find("Canvas/BG/PartsPanel/SinglePartPanel").GetComponent <UIPartsPage>(); _MainWorkSpace = GameObject.Find("Canvas/Floor/MainWorkSpace"); PartInfo = GameObject.Find("Canvas/BG/InfoPanel/Panel/Info").GetComponent <Text>(); //零件信息内容 NextParts = GameObject.Find("Canvas/BG/InfoPanel/Panel/Tips").GetComponent <Text>(); //下一步该零件零件提示内容 RotaLeftBut.onClick.AddListener(RotaLeftBtnClick); RotaRightBut.onClick.AddListener(RotaRightBtnClick); _ChangeModeBtn.onClick.AddListener(ChangeModeClick); _LastNode.onClick.AddListener(LastNodeClick); if (AssembleModel.StudyModel == EntryMode.GetAssembleModel()) { _Skip.onClick.AddListener(SkipClick); _AddWorkSpaceBtn.onClick.AddListener(AddWorkSpace); _DelWorkSpaceBtn.onClick.AddListener(DelWorkSpace); } #region Test InstalledNodeList.Add(NodesController.Instance.GetNodeList()[0]); NextInstallNode = _DependencyGraph.GetNextSteps(InstalledNodeList[InstalledNodeList.Count - 1]).Cast <Node>(); if (null != NextInstallNode && EntryMode.GetAssembleModel() == AssembleModel.StudyModel) //学习模式文字提示 { string err = ""; int index = 1; foreach (Node node in NextInstallNode) { node.SetInstallationState(InstallationState.NextInstalling); //跳转页面 //_UIPartsPage.SetIndex(node); index = _UIPartsPage.GetIndex(node); err += node.name + "(第" + index + "页)" + "/"; NextInstallNodeList.Add(node); } NextParts.text = err; } #endregion //菜单控件添加事件 _Slider.onValueChanged.AddListener(SlideTheSlider); }
void IManipulationHandler.OnManipulationUpdated(ManipulationEventData eventData) { if (null != gameObject.GetComponent <HandDraggable>()) { if (null != gameObject.GetComponent <Node>()) //0.03 { if (1 == gameObject.GetComponent <Node>().WorkSpaceID&& InstallationState.Step1Installed == NodesCommon.Instance.GetInstallationState(gameObject.GetComponent <Node>().nodeId) && 9f >= Vector3.Distance(gameObject.transform.position, gameObject.GetComponent <Node>().EndPos)) { if (EntryMode.GetAssembleModel() != AssembleModel.ExamModel) { NodesCommon.Instance.SetInstallationState(gameObject.GetComponent <Node>().nodeId, InstallationState.Installed); AssembleManager.Instance.SetInstalledNodeListStatus(gameObject.GetComponent <Node>(), InstallationState.Installed); Destroy(gameObject.GetComponent <HandDraggable>()); bool installatFlag = false; gameObject.transform.position = gameObject.GetComponent <Node>().EndPos; foreach (Node node in NodesController.Instance.GetNodeList()) { if (InstallationState.NextInstalling == node.GetInstallationState() || InstallationState.Step1Installed == node.GetInstallationState()) { installatFlag = true; break; } } if (false == installatFlag) //说明这一步所有的零件都已经被安装了,那么该下一步了 { AssembleManager.Instance.NextInstall(gameObject.GetComponent <Node>()); } gameObject.GetComponent <Node>().PlayAnimations(); Destroy(GameObject.Find("Canvas/BG/PartsPanel/SinglePartPanel/Button 1/Text" + gameObject.GetComponent <Node>().nodeId).gameObject); Destroy(GameObject.Find("RuntimeObject/Nodes/" + gameObject.GetComponent <Node>().name + gameObject.GetComponent <Node>().nodeId)); Destroy(gameObject.GetComponent <BoxCollider>()); gameObject.AddComponent <MeshCollider>(); if (!gameObject.GetComponent <Node>().hasAnimation) { AssembleManager.Instance.Recovery(); } } else { bool flag = false; foreach (Node no in AssembleManager.Instance.GetNextInstallNode()) { if (gameObject.GetComponent <Node>().nodeId == no.nodeId) { NodesCommon.Instance.SetInstallationState(gameObject.GetComponent <Node>().nodeId, InstallationState.Installed); AssembleManager.Instance.SetInstalledNodeListStatus(gameObject.GetComponent <Node>(), InstallationState.Installed); Destroy(gameObject.GetComponent <HandDraggable>()); bool installatFlag = false; gameObject.transform.position = gameObject.GetComponent <Node>().EndPos; foreach (Node node in NodesController.Instance.GetNodeList()) { if (InstallationState.NextInstalling == node.GetInstallationState() || InstallationState.Step1Installed == node.GetInstallationState()) { installatFlag = true; break; } } if (false == installatFlag) //说明这一步所有的零件都已经被安装了,那么该下一步了 { AssembleManager.Instance.NextInstall(gameObject.GetComponent <Node>()); } gameObject.GetComponent <Node>().PlayAnimations(); Destroy(GameObject.Find("Canvas/BG/PartsPanel/SinglePartPanel/Button 1/Text" + gameObject.GetComponent <Node>().nodeId).gameObject); Destroy(gameObject.GetComponent <BoxCollider>()); gameObject.AddComponent <MeshCollider>(); flag = true; } } if (false == flag) { Destroy(gameObject.GetComponent <HandDraggable>()); Destroy(gameObject.GetComponent <BoxCollider>()); gameObject.transform.position = gameObject.GetComponent <Node>().EndPos; AssembleManager.Instance.ReMoveInstalledNodeList(gameObject.GetComponent <Node>()); NodesCommon.Instance.SetInstallationState(gameObject.GetComponent <Node>().nodeId, InstallationState.NotInstalled); AssembleManager.Instance.SetTipCanvasStatus(true); AssembleManager.Instance.GetTipErrBtn().onClick.AddListener(OnMovesIEnumerator); Destroy(GameObject.Find("Canvas/BG/PartsPanel/SinglePartPanel/Button 1/Text" + gameObject.GetComponent <Node>().nodeId).gameObject); } } } //else if (2 == gameObject.GetComponent<Node>().WorkSpaceID && InstallationState.Step1Installed == NodesCommon.Instance.GetInstallationState(gameObject.GetComponent<Node>().nodeId) && gameObject.GetComponent<Node>().HaulingDistance >= Vector3.Distance(gameObject.transform.position, gameObject.GetComponent<Node>().WorSpaceRelativePos)) //{ // NodesCommon.Instance.SetInstallationState(gameObject.GetComponent<Node>().nodeId, InstallationState.WorkSpaceInstalled); // gameObject.transform.position = gameObject.GetComponent<Node>().WorSpaceRelativePos; // Destroy(gameObject.GetComponent<HandDraggable>()); // Destroy(gameObject.GetComponent<BoxCollider>()); // gameObject.transform.parent = GameObject.Find("RuntimeObject/SecondWorkSpace").transform; // Destroy(GameObject.Find("Canvas/BG/PartsPanel/SinglePartPanel/Button 1/Text" + gameObject.GetComponent<Node>().nodeId).gameObject); // Destroy(GameObject.Find("RuntimeObject/Nodes/" + gameObject.GetComponent<Node>().name + "Sec" + gameObject.GetComponent<Node>().nodeId)); // bool flag = false; // foreach (Transform trans in GameObject.Find("RuntimeObject/SecondWorkSpace").transform) // { // if (InstallationState.WorkSpaceInstalled != NodesCommon.Instance.GetInstallationState(trans.gameObject.GetComponent<Node>().nodeId)) // { // flag = true; // break; // } // } // if (false == flag) //第二工作区全部安装完毕 // { // if (null == GameObject.Find("RuntimeObject/SecondWorkSpace").GetComponent<BoxCollider>()) // { // GameObject.Find("RuntimeObject/SecondWorkSpace").AddComponent<BoxCollider>(); // } // if (null == GameObject.Find("RuntimeObject/SecondWorkSpace").GetComponent<HandDraggable>()) // { // GameObject.Find("RuntimeObject/SecondWorkSpace").AddComponent<HandDraggable>(); // } // if (null == GameObject.Find("RuntimeObject/SecondWorkSpace").GetComponent<NodeManager>()) // { // GameObject.Find("RuntimeObject/SecondWorkSpace").AddComponent<NodeManager>(); // } // } //} else { GameObject.Find("Canvas/BG/PartsPanel/SinglePartPanel/Button 1/Text" + gameObject.GetComponent <Node>().nodeId).transform.position = gameObject.transform.position; } } //if ("SecondWorkSpace" == gameObject.name && gameObject.GetComponent<Node>().HaulingDistance >= Vector3.Distance(gameObject.transform.position, GameObject.Find("Canvas/Floor/MainWorkSpace").transform.position)) //{ // for (int i = 0; i < NodesCommon.Instance.GetWorkSpaceNodes(2).Count; i++) // { // NodesCommon.Instance.SetInstallationState(NodesCommon.Instance.GetWorkSpaceNodes(2)[i].GetComponent<Node>().nodeId, InstallationState.Installed); // } // gameObject.transform.position = GameObject.Find("Canvas/Floor/MainWorkSpace").transform.position; // Destroy(gameObject.GetComponent<HandDraggable>()); // Destroy(gameObject.GetComponent<BoxCollider>()); // Destroy(gameObject.GetComponent<NodeManager>()); //} } }