public void OnEnterThisPage() { transform.Find("Panel (2)").gameObject.SetActive(false); Dictionary <int, Dictionary <int, Vector3> > dic = AvoidVacancyHelper.avoidmap; foreach (KeyValuePair <int, Dictionary <int, Vector3> > item in dic) { Vector3 pos = Vector3.zero; Vector3 scaler = Vector3.zero; foreach (KeyValuePair <int, Vector3> it in item.Value) { if (it.Key == 0) { pos = it.Value; } if (it.Key == 1) { scaler = it.Value; } } Spawn(pos, scaler); } Enums.AvoidvacancyControll ac = Enums.AvoidvacancyControll.ActiveAll; MSGCenter.Execute(ac.ToString()); MSGCenter.Execute(Enums.LeftMouseButtonControl.AddAvoidGizmo.ToString(), "True"); }
public void Init(Dictionary <Enums.MatarialsUse, Material> materialmap) { selfcamera = Camera.main; fixmove.OnUpdate = MoveUpdate; fixrotate.OnUpdate = RotateUpdata; state = ido; RevertoLastSave(); MeshRenderer[] childmeshrenders = GetComponentsInChildren <MeshRenderer>(); for (int i = 0; i < childmeshrenders.Length; i++) { childmeshrenders[i].material = materialmap[Enums.MatarialsUse.UserimportModel]; childmeshrenders[i].gameObject.AddComponent <MeshCollider>(); childmeshrenders[i].tag = "Player"; } gameObject.tag = "Player"; MSGCenter.Register(Enums.LeftMouseButtonControl.Move.ToString(), LeftMouseControlMode); MSGCenter.Register(Enums.LeftMouseButtonControl.Roate.ToString(), LeftMouseControlMode); MSGCenter.Register(Enums.LeftMouseAlive.TurnOff.ToString(), LeftMouseAlive); MSGCenter.Register(Enums.LeftMouseAlive.TurnOn.ToString(), LeftMouseAlive); MSGCenter.Register(Enums.ControllTransform.Rotate.ToString(), RotateCallback); MSGCenter.Register(Enums.ControllTransform.Translate.ToString(), TranslateCallback); MSGCenter.Register(Enums.MainProcess.MainProcess_RePlay.ToString(), Replay); //MSGCenter.Register(Enums.MainProcess.MainProcess_LoadUserDataDone.ToString(), RevertoLastSave); }
void ChangeAddAvoidGizmo(string message) { Dictionary <int, string> messagemap = MSGCenter.UnFormatMessage(message); bool b = bool.Parse(messagemap[1]); canaddAvoidvacancy = b; }
public override void Refresh() { MSGCenter.Execute(Enums.CameraMode.NormalCam.ToString()); MSGCenter.Execute(Enums.CameraTarget.WithoutTarget.ToString()); MSGCenter.Execute(Enums.LeftMouseAlive.TurnOn.ToString()); //TODO ---->>> 加载用户选择模型及数据 PlayerDataCenter.IllNessData ind = data as PlayerDataCenter.IllNessData; if (null != ind) { //①根据服务器存储路径加载本地模型 string Modelpath = ind.Modelpath;//"D:/Test"; //②如果服务器没有存储则根据ID查找本地存储的模型 if (string.IsNullOrEmpty(Modelpath)) { Modelpath = Tool.LocalModelonSavePath + ind.ID.ToString() + ".obj"; } //③最终确认是否包含该路径如果没有则加载默认模型 if (!Tool.CheckFileExist(Modelpath)) { Modelpath = Tool.ModleDefaultPath; } Debug.Log(Modelpath); //MSGCenter.Execute(Enums.ModelPath.ModelPath.ToString(), Modelpath); } }
public Dictionary <int, List <Transform> > Init(Dictionary <Enums.MatarialsUse, Material> dic) { MSGCenter.Register(Enums.PointControll.All.ToString(), ShowGroupPoints); MSGCenter.Register(Enums.PointControll.Choise.ToString(), ShowGroupPoints); MSGCenter.Register(Enums.PointControll.ShutDownAll.ToString(), ShowGroupPoints); MSGCenter.Register(Enums.MatchigPointGizmoControll.Highlight.ToString(), HighLightPoint); MSGCenter.Register(Enums.ControllTransform.Scaler.ToString(), ScalerCallback); MSGCenter.Register(Enums.ControllTransform.ScalerX.ToString(), ScalerCallback); MSGCenter.Register(Enums.ControllTransform.ScalerY.ToString(), ScalerCallback); MSGCenter.Register(Enums.ControllTransform.ScalerZ.ToString(), ScalerCallback); //MSGCenter.Register(Enums.MainProcess.MainProcess_LoadUserDataDone.ToString(), RevertoLastSave); Material origin_normal = Instantiate(Resources.Load <Material>("Materials/origin_normal")); Material highlight_normal = Instantiate(Resources.Load <Material>("Materials/highlight_normal")); Material origin_userimprot = Instantiate(Resources.Load <Material>("Materials/origin_userimprot")); Material highlight_userimport = Instantiate(Resources.Load <Material>("Materials/highlight_userimport")); LoadNormalPoints(transform.position, dic); transform.localScale = Vector3.one * Tool.UserImportScaler; //RevertoLastSave(); selforiginsclaer = transform.localScale.x; return(pointmap); }
public void Init(Transform _target) { target = _target; targetoriginpos = _target.transform.position; center = target.position; up = target.transform.up * distance + center; down = -target.transform.up * distance + center; right = target.transform.right * distance + center; left = -target.transform.right * distance + center; forword = target.transform.forward * distance + center; back = -target.transform.forward * distance + center; MSGCenter.Register(Enums.ViewMode.Back.ToString(), CallBack); MSGCenter.Register(Enums.ViewMode.Down.ToString(), CallBack); MSGCenter.Register(Enums.ViewMode.Up.ToString(), CallBack); MSGCenter.Register(Enums.ViewMode.Forword.ToString(), CallBack); MSGCenter.Register(Enums.ViewMode.Left.ToString(), CallBack); MSGCenter.Register(Enums.ViewMode.Right.ToString(), CallBack); MSGCenter.Register(Enums.ViewMode.ResetView.ToString(), CallBack); MSGCenter.Register(Enums.ViewMode.ChangeTargetPos.ToString(), ChangeTargetPosCall); MSGCenter.Register(Enums.MainProcess.MainProcess_RePlay.ToString(), Replay); }
public void Start() { Assigne(); savepoint.onClick.AddListener(() => { if (PointHelper.GetInstance().CheckChoisePointer().OwnedPointer()) { MSGCenter.Execute(Enums.MatchigPointGizmoControll.SaveMatchingpoint.ToString()); } }); canceledit.onClick.AddListener(() => { transform.Find("Panel (1)").gameObject.SetActive(false); MSGCenter.Execute(Enums.MatchigPointGizmoControll.Cancle.ToString()); }); autonexe.onValueChanged.AddListener((iSon) => { MSGCenter.Execute(Enums.MatchigPointGizmoControll.AutoNextToggle.ToString(), iSon.ToString()); }); //RefreshViewByData(); MSGCenter.Register(Enums.MatchigPointGizmoControll.PointerDown.ToString(), PointerGizmoCallBack); MSGCenter.Register(Enums.MatchigPointGizmoControll.SaveMatchingpoint.ToString(), SaveToRefresh); MSGCenter.Register(Enums.MatchigPointGizmoControll.Cancle.ToString(), SaveToRefresh); MSGCenter.Register(Enums.MatchigPointGizmoControll.AutoNext.ToString(), AutoNext); MSGCenter.Register(Enums.MainProcess.MainProcess_RePlay.ToString(), ReplayRestDisplay); // MSGCenter.Register(Enums.MainProcess.MainProcess_loadedUserPointDone.ToString(), LoadUserPintdone); AssignDropdown(displaymodeDd); }
static public MSGCenter GetInstance() { if (null == instance) { instance = new MSGCenter(); } return(instance); }
public void Init(Transform targettransform) { MSGCenter.Register(Enums.MainProcess.MainProcess_RePlay.ToString(), Replay); MSGCenter.Register(Enums.ViewMode.ChangeTargetPos.ToString(), ChangeTargetPosCall); transform.position = targettransform.position; transform.forward = targettransform.forward; originpos = transform.position; }
public void OnMouseDown() { SetMaterialHighlight(); string type = Enums.MatchigPointGizmoControll.PointerDown.ToString(); string message = MSGCenter.FormatMessage(group.ToString(), index.ToString(), transform.position.ToString()); MSGCenter.Execute(type, message); }
public void Init(Action <Transform> call) { Material origin = Instantiate(Resources.Load <Material>("Materials/origin_normal")); Material highlight = Instantiate(Resources.Load <Material>("Materials/highlight_normal")); Material highlight_userimport = Instantiate(Resources.Load <Material>("Materials/highlight_userimport")); Material origin_userimport = Instantiate(Resources.Load <Material>("Materials/origin_userimprot")); Material indicatoreffect = Instantiate(Resources.Load <Material>("Materials/indicatoreffect")); Material indicatornormal = Instantiate(Resources.Load <Material>("Materials/indicatornormal")); Material Normalmodel = Instantiate(Resources.Load <Material>("Materials/NormalModel")); Material UserImportModel = Instantiate(Resources.Load <Material>("Materials/UserImportModel")); materialmap.Add(Enums.MatarialsUse.Indicator_Effect, indicatoreffect); materialmap.Add(Enums.MatarialsUse.Indicator_origin, indicatornormal); materialmap.Add(Enums.MatarialsUse.NormalModel, Normalmodel); materialmap.Add(Enums.MatarialsUse.UserimportModel, UserImportModel); materialmap.Add(Enums.MatarialsUse.NormalPoint_origin, origin); materialmap.Add(Enums.MatarialsUse.NormalPoint_hight, highlight); materialmap.Add(Enums.MatarialsUse.UserImportpoint_origin, origin_userimport); materialmap.Add(Enums.MatarialsUse.UserImportpoint_hight, highlight_userimport); #region RegistEvent MSGCenter.Register(Enums.ModelPath.ModelPath.ToString(), LoadUserImprot); MSGCenter.Register(Enums.ToggleToModel.Patient.ToString(), ToggleSetActiveModle); MSGCenter.Register(Enums.ToggleToModel.Normalpice.ToString(), ToggleSetActiveModle); MSGCenter.Register(Enums.ToggleToModel.Preservemodel.ToString(), ToggleSetActiveModle); MSGCenter.Register(Enums.ToggleToModel.Unnormal.ToString(), ToggleSetActiveModle); MSGCenter.Register(Enums.LeftMouseButtonControl.AddMatchingGizmo.ToString(), AliveAddGizmoCallBack); MSGCenter.Register(Enums.LeftMouseButtonControl.AddAvoidGizmo.ToString(), ChangeAddAvoidGizmo); MSGCenter.Register(Enums.MatchigPointGizmoControll.SaveMatchingpoint.ToString(), PointerSaveCancleCallback); MSGCenter.Register(Enums.MatchigPointGizmoControll.Cancle.ToString(), PointerSaveCancleCallback); MSGCenter.Register(Enums.MatchigPointGizmoControll.AutoNextToggle.ToString(), AutoAddToggleCallback); MSGCenter.Register(Enums.AvoidvacancyControll.Active.ToString(), AliveAddAvoidvacancy); MSGCenter.Register(Enums.AvoidvacancyControll.Add.ToString(), AliveAddAvoidvacancy); MSGCenter.Register(Enums.AvoidvacancyControll.Edit.ToString(), AliveAddAvoidvacancy); MSGCenter.Register(Enums.AvoidvacancyControll.Inactive.ToString(), AliveAddAvoidvacancy); MSGCenter.Register(Enums.AvoidvacancyControll.Remove.ToString(), AliveAddAvoidvacancy); MSGCenter.Register(Enums.AvoidvacancyControll.SaveAvoid.ToString(), AliveAddAvoidvacancy); MSGCenter.Register(Enums.AvoidvacancyControll.ActiveAll.ToString(), AliveAddAvoidvacancy); MSGCenter.Register(Enums.AvoidvacancyControll.InactiveAll.ToString(), AliveAddAvoidvacancy); //MSGCenter.Register(Enums.MatchigPointGizmoControll.LoadUserData.ToString(), LoadUserPointer); MSGCenter.Register(Enums.MainProcess.MainProcess_SaveALL.ToString(), SaveAllCall); MSGCenter.Register(Enums.MainProcess.MainProcess_RePlay.ToString(), ReleseDownloadeModel); #endregion this.setcameratargetcallback = call; }
public void OnLeveThisPage() { Replay(""); transform.Find("Panel (2)").gameObject.SetActive(false); Enums.AvoidvacancyControll ac = Enums.AvoidvacancyControll.InactiveAll; MSGCenter.Execute(ac.ToString()); MSGCenter.Execute(Enums.LeftMouseButtonControl.AddAvoidGizmo.ToString(), "False"); }
static public AvoidVacancyHelper GetInstance() { if (null == instance) { MSGCenter.Register(Enums.MainProcess.MainProcess_RePlay.ToString(), ReleseDownloadeModel); instance = new AvoidVacancyHelper(); } return(instance); }
void LoadUserImprot(string message) { SetLastInactive(); userimport = new GameObject("UserImport" + userimporottaltol); OBJLoader = userimport.AddComponent <OBJ>(); STLLoader = userimport.AddComponent <STL>(); Dictionary <int, string> map = MSGCenter.UnFormatMessage(message); //string[] s = message.Split('*'); string serverpath = map[1]; if (map.ContainsKey(2)) { string md5 = map[2]; CreatModel(md5); } if (serverpath.IsObj()) { TTUIPage.ShowPage <UINotice>("请使用stl格式的模型"); //pcpath = "file:///" + pcpath; //try //{ // OBJLoader.Load(pcpath, (result) => // { // MatchingModelNormal(userimport,v, hasposvalue); // userimport.AddComponent<MeshCollider>(); // MSGCenter.Execute(Enums.ModelPath.Result.ToString(), result ); // }); //} //catch (System.Exception e) //{ // MSGCenter.Execute(Enums.ModelPath.Result.ToString(), e.ToString() ); // throw; //} } else if (serverpath.IsStl()) { string stlpath = Tool.LocalModelonSavePath + PlayerDataCenter.Currentillnessdata.ID + ".stl";// mm.pdata.LocalUserModelPath;// if (!Tool.CheckFileExist(stlpath)) { MyWebRequest.Instance.DownloadFileFromWed(serverpath, Tool.LocalModelonSavePath, PlayerDataCenter.Currentillnessdata.ID + ".stl" , (suc, str) => { TTUIPage.ShowPage <UINotice>(Tool.DownloadDir + str); if (suc) { TTUIPage.ClosePage <UINotice>(); CreatStlInstance(stlpath); } }); } else { CreatStlInstance(stlpath); } } }
private void ChangeTargetPosCall(string message) { Vector3 v = MSGCenter.ParseToVector(message); if (v == Vector3.zero) { v = originpos; } transform.position = v; }
public void SetMaterialHighlight() { MSGCenter.Execute(Enums.ViewMode.ChangeTargetPos.ToString(), transform.position.ToString()); selfmeshrender.material = highlightmaterial; if (owendchildpointer) { InstructionsGizmo.GetComponentInChildren <MeshRenderer>().material = materialmap[Enums.MatarialsUse.Indicator_origin]; owendchildpointer.SetMaterialHighlight(); } }
void AssignDropdown(Dropdown Dd) { Dd.onValueChanged.RemoveAllListeners(); Dd.InitDropDown(new List <string>() { "分组显示", "全部显示" }); Dd.onValueChanged.AddListener(DropdownCallBack); MSGCenter.Execute(Enums.PointControll.Choise.ToString(), choiseindex.ToString()); }
/// <summary> /// 离开该页面的刷新 /// </summary> public void OnLeveThisPage() { Clear(); transform.Find("Panel (1)").gameObject.SetActive(false); MSGCenter.Execute(Enums.LeftMouseButtonControl.AddMatchingGizmo.ToString(), "False"); //TODO--->>>隐藏所有点 MSGCenter.Execute(Enums.PointControll.ShutDownAll.ToString()); //摄像机的中心点恢复 MSGCenter.Execute(Enums.ViewMode.ChangeTargetPos.ToString(), Vector3.zero.ToString()); }
/// <summary> /// 根据normalmodledata数据刷新两列button /// </summary> public void RefreshViewByNormalModleData() { Clear(); pointmap = PointHelper.GetInstance().normaldataformlocaljson;//PointHelper.GetInstance().normalmodelInSceneMap; if (null == pointmap || pointmap.Count == 0) { Debug.LogError("pointmap 为空!!!"); return; } foreach (KeyValuePair <int, Dictionary <int, Vector3> > item in pointmap) { int group = item.Key; GameObject but = SpawnChildren(Groupbuttonitem); Button b = but.GetComponent <Button>(); string groupstr = Tool.NumberToChar(group + 1).ToUpper(); b.GetComponentInChildren <Text>().text = groupstr; b.onClick.AddListener(() => { ResetLastAndSetThis(b); if (dropdownindex == 0) { MSGCenter.Execute(Enums.PointControll.Choise.ToString(), group.ToString()); } ChoisePanel(b); choiseindex = group; }); if (group == choiseindex) { ChoisePanel(b); lastchoiselistbutton = b; } Dictionary <int, Vector3> templist = item.Value; List <GameObject> tempgos = new List <GameObject>(); List <MatchingItemButton> tempbuts = new List <MatchingItemButton>(); foreach (KeyValuePair <int, Vector3> it in templist) { GameObject g = SpawnChildren(Pointbuttonitem); g.SetActive(false); int tempgroup = group; int tempindex = it.Key; g.GetComponentInChildren <Text>().text = groupstr + " " + (tempindex + 1).ToString(); MatchingItemButton Matchingitem = g.GetComponent <MatchingItemButton>(); Matchingitem.Init(tempgroup, tempindex, SetLastMatchingItem); tempgos.Add(g); tempbuts.Add(Matchingitem); } listmap.Add(b, tempgos); buttonmap.Add(group, tempbuts); buttonindex.Add(group, b); } RefreshViewByUserModelData(); }
public int AutoAddIndex() { int lenght = normalmodelInSceneMap[currentgroup].Count; if (currentindex < lenght - 1) { currentindex++; MSGCenter.Execute(Enums.MatchigPointGizmoControll.AutoNext.ToString()); } return(currentindex); }
void Start() { MSGCenter.Register(Enums.CameraMode.NormalCam.ToString(), RefreshCameraRect); MSGCenter.Register(Enums.CameraMode.SmallerCam.ToString(), RefreshCameraRect); MSGCenter.Register(Enums.CameraTarget.WithTarget.ToString(), RefreshCameraTarget); MSGCenter.Register(Enums.CameraTarget.WithoutTarget.ToString(), RefreshCameraTarget); selfcam = GetComponentInChildren <Camera>(); Transform light = GameObject.FindObjectOfType <Light> ().transform; light.SetParent(transform); }
/// <summary> /// 点击按钮选择panel之后,父类回调 /// </summary> /// <param name="bu"></param> protected override void ChoiseEnd(Button bu) { toolpaneltitle.text = bu.GetComponentInChildren <Text>().text; //只有点击重调角度才可以打开左键控制 if (bu == ResetRotationbutton) { MSGCenter.Execute(Enums.LeftMouseAlive.TurnOn.ToString()); } else { MSGCenter.Execute(Enums.LeftMouseAlive.TurnOff.ToString()); } }
void ChangeTargetPosCall(string message) { Vector3 v = MSGCenter.ParseToVector(message); if (v == Vector3.zero) { v = targetoriginpos; } target.transform.position = v; //Vector3 vv = new Vector3(center.x, v.y, center.z); //Vector3 cameraendpos = vv + (v - vv).normalized * 2; //MoveTo(center,cameraendpos,1); }
void PointerGizmoCallBack(string message) { Dictionary <int, string> map = MSGCenter.UnFormatMessage(message); string type = map[0]; string strGroupindex = map[1]; string strindex = map[2]; int Groupindex = int.Parse(strGroupindex); int index = int.Parse(strindex); buttonindex[Groupindex].onClick.Invoke(); ResetLastAndSetThis(buttonindex[Groupindex]); buttonmap[Groupindex][index].OnEditHit(); }
void ActiveAddGizmo(bool active) { string act = "False"; if (active) { act = "True"; } int group = PointHelper.GetInstance().currentgroup; int index = PointHelper.GetInstance().currentindex; string message = MSGCenter.FormatMessage(act, group.ToString(), index.ToString()); MSGCenter.Execute(Enums.LeftMouseButtonControl.AddMatchingGizmo.ToString(), message); }
public void OnEditHit() { if (null == selfstatetext) { CheckChildAssigne(); } callback(this); DotweenColor(transform.GetComponent <Image>(), new Color(1, 1, 1, 0.4f), Color.red); selfstatetext.text = matchingstr; selfstatetext.color = matchingcolor; selfbutton.GetComponent <Image>().color = Color.black; MSGCenter.Execute(Enums.LeftMouseButtonControl.AddMatchingGizmo.ToString(), "True*" + group + "*" + index); MSGCenter.Execute(Enums.MatchigPointGizmoControll.Highlight.ToString()); }
void AliveAddGizmoCallBack(string message) { Dictionary <int, string> messagemap = MSGCenter.UnFormatMessage(message); if (!messagemap.ContainsKey(2)) { return; } string type = messagemap[1]; string strGroupindex = messagemap[2]; string strindex = messagemap[3]; currentgroup = int.Parse(strGroupindex); currentindex = int.Parse(strindex); }
void Spawn(Vector3 pos, Vector3 scaler) { GameObject prefab = transform.Find("Panel/Scroll View/Viewport/Content/AvoidvacancyItem").gameObject; Transform parent = prefab.transform.parent; GameObject go = SpawnChildren(prefab); int index = go.transform.parent.childCount - 2; //添加 childmap.Add(index, go); string message = MSGCenter.FormatMessage(index.ToString(), pos.ToString(), scaler.ToString()); MSGCenter.Execute(Enums.AvoidvacancyControll.Add.ToString(), message); go.GetComponentInChildren <Text>().text = "第" + (index + 1) + "个避空位"; //删除 go.transform.Find("Button").GetComponent <Button>().onClick.AddListener(() => { Destroy(go); childmap.Remove(index); MSGCenter.Execute(Enums.AvoidvacancyControll.Remove.ToString(), index.ToString()); }); //编辑 go.transform.Find("Button (1)").GetComponent <Button>().onClick.AddListener(() => { transform.Find("Panel (2)").gameObject.SetActive(true); MSGCenter.Execute(Enums.AvoidvacancyControll.Edit.ToString(), index.ToString()); if (lastchoise == index) { return; } go.GetComponent <Image>().color = Color.green; if (childmap.ContainsKey(lastchoise)) { childmap[lastchoise].GetComponent <Image>().color = Color.gray; } lastchoise = index; }); //显示/隐藏 go.transform.Find("Toggle").GetComponent <Toggle>().onValueChanged.AddListener((iSon) => { Enums.AvoidvacancyControll ac = Enums.AvoidvacancyControll.Active; if (!iSon) { ac = Enums.AvoidvacancyControll.Inactive; } MSGCenter.Execute(ac.ToString(), index.ToString()); }); }
/// <summary> /// 进入该页面的刷新 /// </summary> public void OnEnterThisPage() { Assigne(); RefreshViewByNormalModleData(); transform.Find("Panel (1)").gameObject.SetActive(false); MSGCenter.Execute(Enums.LeftMouseButtonControl.AddMatchingGizmo.ToString(), "True"); //TODO--->>>根据之前选择的[分组显示or全部显示]再次显示出对应点 if (displaymodeDd) { displaymodeDd.onValueChanged.Invoke(dropdownindex); } if (lastchoiselistbutton) { lastchoiselistbutton.onClick.Invoke(); } }
public override void Awake(GameObject go) { AssignDropDown(); this.transform.Find("btn_skill").GetComponent <Button>().onClick.AddListener(() => { ShowPage <UISkillPage>(); }); this.transform.Find("btn_battle").GetComponent <Button>().onClick.AddListener(() => { ShowPage <UIBattle>(); }); this.transform.Find("CommitButton").GetComponent <Button> ().onClick.AddListener(() => { MSGCenter.Execute(Enums.LeftMouseAlive.TurnOff.ToString()); // ShowPage<UIThirdPage>(); }); }