コード例 #1
0
    public void CallbackRefresh(List <PlayerDataCenter.IllNessData> illarray)
    {
        if (null == illarray)
        {
            return;
        }
        //根据id从大到小,冒泡排序
        int length = illarray.Count;

        PlayerDataCenter.IllNessData temp = null;
        for (int i = length; i > 0; i--)
        {
            for (int j = 0; j < i - 1; j++)
            {
                if (illarray[j].ID < illarray[j + 1].ID)
                {
                    temp            = illarray[j];
                    illarray[j]     = illarray[j + 1];
                    illarray[j + 1] = temp;
                }
            }
        }


        for (int i = 0; i < illarray.Count; i++)
        {
            SpawnIllData(illarray[i]);
        }
    }
コード例 #2
0
    void AssigneEvents(PlayerDataCenter.IllNessData _data)
    {
        Text titlename = transform.Find("Text").GetComponent <Text>();

        titlename.text = _data.title;

        //点击显示/隐藏
        transform.Find("Toggle").GetComponent <Toggle>().onValueChanged.AddListener(iSon =>
        {
            titlename.text = iSon ? _data.title : "***";
        });
        //点击编辑

        transform.Find("Button").GetComponent <Button>().onClick.RemoveAllListeners();
        transform.Find("Button").GetComponent <Button>().onClick.AddListener(() =>
        {
            TTUIPage.ShowPage <CreateIllnessPopup>(_data);
        });
        //点击病例
        GetComponent <Button>().onClick.RemoveAllListeners();
        GetComponent <Button>().onClick.AddListener(() =>
        {
            PlayerDataCenter.NewSceneCame(_data);

            TTUIPage.ShowPage <UIThirdPage>(_data);
        });
    }
コード例 #3
0
    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);
        }
    }
コード例 #4
0
 public void EnterThiredPageRefresh(PlayerDataCenter.IllNessData data)
 {
     if (!infopanelcontrol)
     {
         infopanelcontrol = transform.Find("InfoPanel").gameObject.AddComponent <InfoPanelControl>();
     }
     infopanelcontrol.RefreshInfo(data);
     if (userguide)
     {
         ChoisePanel(userguide);
     }
 }
コード例 #5
0
    void SpawnIllData(PlayerDataCenter.IllNessData da)
    {
        PlayerDataCenter.IllNessData _d = da;
        GameObject go = null;

        if (!allhereilldatas.ContainsKey(_d.ID))
        {
            go = GameObject.Instantiate(illnessprefabe);
            allhereilldatas.Add(_d.ID, go);
        }
        go = allhereilldatas[_d.ID];
        go.GetComponent <IllnessButton>().Init(illnessprefabe, _d);
    }
コード例 #6
0
    void RefreshDisplay(PlayerDataCenter.IllNessData da)
    {
        currentilldata = da != null ? da : new PlayerDataCenter.IllNessData()
        {
            ID = -1,
            injury_position = "脚",
            protector_shape = PlayerDataCenter.IllNessData.ProtectorShape.Short,
            position        = PlayerDataCenter.IllNessData.Direction.RIGHT,
            title           = "",
            description     = "",
            note            = ""
        };

        currentillnessID = currentilldata.ID;
        injury_positionDropdown.value = Tool.InjuryPosition.IndexOf(currentilldata.injury_position);
        protector_shapeDropdown.value = (int)currentilldata.protector_shape;
        directionDropdown.value       = (int)currentilldata.position;
        illdatatitle.text             = currentilldata.title;
        illdatadescription.text       = currentilldata.description;
        illdatanote.text = currentilldata.note;


        //点击确定发送请求到服务器
        Commitbutton.onClick.RemoveAllListeners();
        if (null == da)
        {
            Commitbutton.onClick.AddListener(AddIllNess);
        }
        else
        {
            Commitbutton.onClick.AddListener(() =>
            {
                string url = Tool.refreshillnessdatasimplepath + currentillnessID.ToString();

                string json = JsonHelper.MergAddIllnessdataJson(currentilldata);
                MyWebRequest.Instance.Put(url, json, (success, str) =>
                {
                    if (success)
                    {
                        ShowPage <UIFirstPage>();
                        Hide();
                    }
                    else
                    {
                        ShowPage <UINotice>(str);
                    }
                });
            });
        }
    }
コード例 #7
0
    public void Init(GameObject illnessprefabe, PlayerDataCenter.IllNessData data)
    {
        selfillnessdata = data;


        transform.SetParent(illnessprefabe.transform.parent);
        transform.SetAsLastSibling();
        gameObject.SetActive(true);
        transform.localScale = Vector3.one;

        transform.Find("Text (1)").GetComponent <Text>().text = selfillnessdata.note;
        transform.Find("Text (2)").GetComponent <Text>().text = selfillnessdata.illcreatetime;
        AssigneEvents(selfillnessdata);
    }
コード例 #8
0
    public override void Refresh()
    {
        //TODO ---->>> 加载用户选择模型及数据
        PlayerDataCenter.IllNessData ind = data as PlayerDataCenter.IllNessData;
        thirdpagetitlecontroller.EnterThiredPageRefresh(ind);

        ShowPage <UINotice>(Tool.ConnectingStr);
        //①加载matchingpoint在thirdpage
        string url = Tool.requestdetailillnessdatapath + PlayerDataCenter.Currentillnessdata.ID;

        MyWebRequest.Instance.Get(url, (success, str) =>
        {
            if (success)
            {
                //将获取到的matchingpoint存储到Map内
                PointHelper.GetInstance().userdataformweb = JsonHelper.ParseJsonToMatchingpointroot(str);
                //标准点
                PointHelper.GetInstance().normaldataformlocaljson = JsonHelper.LoadJsonFromFile();
                //避空位
                AvoidVacancyHelper.avoidmap = JsonHelper.ParseJsonToAvoid(str);
                //获取上次用户设置
                PlayerDataCenter.CurrentLocaluserdata = JsonHelper.ParseJsonToLocalUserData(str);
                //获取花纹
                PlayerDataCenter.Decorativepattern = JsonHelper.ParseJsonToDecorativepattern(str);
                //当前stl模型在服务器的地址
                PlayerDataCenter.stlInServerpath = JsonHelper.ParseJsonToNeed(str, Tool.datakey, Tool.stlInServerpath);

                //当前片体护具地址
                PlayerDataCenter.PieceProtectorURL = JsonHelper.ParseJsonToNeed(str, Tool.datakey, Tool.PieceProtectorURLkey);


                string message = MSGCenter.FormatMessage(PlayerDataCenter.stlInServerpath, PlayerDataCenter.md5);
                MSGCenter.Execute(Enums.ModelPath.ModelPath.ToString(), message);


                //执行加载用户保存点并自动刷新第三页UI列表
                //MSGCenter.Execute(Enums.MatchigPointGizmoControll.LoadUserData.ToString());
            }
            else
            {
                ShowPage <UINotice>(str);
            }
        });
    }
コード例 #9
0
    /// <summary>
    /// 新增病例 时,服务器所需json
    /// </summary>
    /// <param name="data"></param>
    /// <returns></returns>
    static public string MergAddIllnessdataJson(PlayerDataCenter.IllNessData data)
    {
        JObject   requestobject   = new JObject();
        JProperty title           = new JProperty("title", data.title);
        JProperty injury_position = new JProperty("injury_position", data.injury_position.ToString());
        JProperty position        = new JProperty("position", data.position);
        JProperty description     = new JProperty("description", data.description.ToString());
        JProperty note            = new JProperty("note", data.note);
        JProperty protector_shape = new JProperty("protector_shape", data.protector_shape.ToString());

        requestobject.Add(title);
        requestobject.Add(injury_position);
        requestobject.Add(position);
        requestobject.Add(description);
        requestobject.Add(note);
        requestobject.Add(protector_shape);

        return(requestobject.ToString());
    }
コード例 #10
0
    IEnumerator PostStlToPHP(string url, PlayerDataCenter.IllNessData pd, Action <bool, string> call)
    {
        byte[] bytes = Tool.AuthGetFileData(pd.Modelpath);

        WWWForm form = new WWWForm();

        form.AddField("title", pd.title);
        form.AddField("injury_position", pd.injury_position.ToString());
        //int intposition = pd.position == PlayerDataCenter.IllNessData.Direction.Left ? 0 : 1;
        form.AddField("position", pd.position.ToString().ToLower());
        form.AddField("description", pd.description.ToString());
        form.AddField("note", pd.note);
        form.AddField("protector_shape", pd.protector_shape.ToString());

        form.AddBinaryData("stl", bytes, "3.stl");

        UnityWebRequest StlRequest = UnityWebRequest.Post(url, form);

        // StlRequest.SetRequestHeader("Content-Type", "application/json");
        StlRequest.SetRequestHeader("X-Requested-With", "XMLHttpRequest");

        yield return(StlRequest.SendWebRequest());

        string result = StlRequest.downloadHandler.text;

        if (StlRequest.isNetworkError || StlRequest.isHttpError)
        {
            call(false, StlRequest.error);
        }
        else
        {
            if (StlRequest.responseCode == 200)
            {
                call(true, result);
            }
            else
            {
                call(false, result);
            }
        }
    }
コード例 #11
0
    public void RefreshInfo(PlayerDataCenter.IllNessData data)
    {
        if (!title)
        {
            Init();
        }
        //名字
        title.text = data.title;
        //受伤部位
        injury_position.text = data.injury_position;
        //方向
        int direction = (int)data.position;

        position.text = Tool.Illposition[direction];
        //护具外形
        int shape = (int)data.protector_shape;

        protector_shape.text = Tool.protector_shape[shape];
        //病情简述
        description.text = data.description;
        //备注
        note.text = data.note;
    }
コード例 #12
0
 public override void Refresh()
 {
     PlayerDataCenter.IllNessData da = data as PlayerDataCenter.IllNessData;
     RefreshDisplay(da);
 }
コード例 #13
0
 public void PostStl(string url, PlayerDataCenter.IllNessData Pd, Action <bool, string> call)
 {
     StartCoroutine(PostStlToPHP(url, Pd, call));
 }
コード例 #14
0
    static public string MergMatchingpointChangeNeed(PlayerDataCenter.IllNessData pd)
    {
        JObject   requestobject     = new JObject();
        JProperty md5               = new JProperty("md5", PlayerDataCenter.md5);
        JProperty decorativepattern = new JProperty("pattern", "花纹" + PlayerDataCenter.Decorativepattern);
        JProperty caseid            = new JProperty("case_id", pd.ID);

        Dictionary <int, Dictionary <int, Vector3> > points = PointHelper.GetInstance().userdataformweb;

        //匹配点
        string  key          = Tool.matchingpointskey;
        JObject groupjobject = new JObject();

        foreach (KeyValuePair <int, Dictionary <int, Vector3> > item in points)
        {
            JObject pointsjobject = new JObject();
            string  groupstr      = Tool.NumberToChar(item.Key + 1);
            foreach (KeyValuePair <int, Vector3> it in item.Value)
            {
                string indexstr = (it.Key + 1).ToString();
                var    jx       = new JProperty("x", it.Value.x);
                var    jy       = new JProperty("y", it.Value.y);
                var    jz       = new JProperty("z", it.Value.z);

                JProperty pointproper = new JProperty(indexstr, new JObject(jx, jy, jz));
                pointsjobject.Add(pointproper);
            }
            JProperty groupproper = new JProperty(groupstr, new JObject(pointsjobject));
            groupjobject.Add(groupproper);
        }
        JProperty jend = new JProperty(key, groupjobject);

        //用户设置 + 避空位
        JObject   userdata      = new JObject();
        JProperty localuserdata = new JProperty(Tool.Localuserdatakey, ParseObjectToJson(PlayerDataCenter.CurrentLocaluserdata));

        Dictionary <int, Dictionary <int, Vector3> > avoidmap = AvoidVacancyHelper.avoidmap;

        //JObject avoidjobj = new JObject();
        if (null != avoidmap)
        {
            string  avoidkey   = Tool.Avoidkey;
            JObject avoidindex = new JObject();
            foreach (KeyValuePair <int, Dictionary <int, Vector3> > item in avoidmap)
            {
                JObject pointsjobject = new JObject();
                string  groupstr      = Tool.NumberToChar(item.Key + 1);
                foreach (KeyValuePair <int, Vector3> it in item.Value)
                {
                    string indexstr = (it.Key + 1).ToString();
                    var    jx       = new JProperty("x", it.Value.x);
                    var    jy       = new JProperty("y", it.Value.y);
                    var    jz       = new JProperty("z", it.Value.z);

                    JProperty pointproper = new JProperty(indexstr, new JObject(jx, jy, jz));
                    pointsjobject.Add(pointproper);
                }
                JProperty groupproper = new JProperty(groupstr, new JObject(pointsjobject));
                avoidindex.Add(groupproper);
            }
            JProperty avoidjend = new JProperty(avoidkey, avoidindex);
            //avoidjobj.Add(avoidjend);
            userdata.Add(new JProperty(avoidjend));
        }
        userdata.Add(new JProperty(localuserdata));
        JProperty moldinfo = new JProperty(Tool.alllocaldatakey, userdata);



        requestobject.Add(jend);
        requestobject.Add(moldinfo);
        requestobject.Add(md5);
        requestobject.Add(caseid);
        requestobject.Add(decorativepattern);

        return(requestobject.ToString());
    }