List <string> GetInintModelList(string db_path) { DbRepository <AcupointInfo> local_db = new DbRepository <AcupointInfo>(); // local_db.CreateDb(AppOpera.sign_ssp_path+"StartStop.db"); local_db.CreateDb(db_path); var tmpssp = local_db.Select <AcupointInfo>((mod_name) => { if (mod_name != null) { return(true); } else { return(false); } }); List <string> sspInfoList = new List <string>(); foreach (AcupointInfo tmp in tmpssp) { if (tmp != null) { sspInfoList.Add(tmp.sm_name); } } return(sspInfoList); }
//读取贴图相关列表 void ReadTexTable() { tex_db = new DbRepository <StartStopTex>(); tex_db.CreateDb(db_path); var tmpssp = tex_db.Select <StartStopTex>((ss_id) => { if (ss_id != null) { //DebugLog.DebugLogInfo(ss_id.bone_name+" "+ss_id.main_tex+" "+ ss_id.mask_tex); return(true); } else { return(false); } }); texInfoList = new List <StartStopTex>(); foreach (StartStopTex tmp in tmpssp) { if (tmp.bone_name != null) { texInfoList.Add(tmp); } } tex_db.Close(); }
public void setCache_dbPath(string r, string path, bool is_append = false) { var repository = new RemoteRepository <GetStruct>(); repository.Get <Response <T> >(r, (response) => { Debug.Log(JsonConvert.SerializeObject(response)); if (response.List != null && response.List.Count != 0) { Debug.Log("============读取数据库缓存更新,从远程拉取数据,更新版本号=================== "); var db = new DbRepository <T>(); db.CreateDb(path); if (!is_append) { db.DropTable(); } db.CreateTable(); db.InsertAll(response.List);//更新远程数据源 db.Close(); } else { Debug.Log("Struct List data is null "); } }); }
public static void opera_condition(string db_path, Action <List <T> > ac) { DbRepository <T> temp_db = new DbRepository <T>(); temp_db.CreateDb(db_path); temp_db.CreateTable(); //db 原数据 List <T> mask_name_list = new List <T>(); var tmpssp = temp_db.Select <T>((ss_id) => { if (ss_id != null) { return(true); } else { return(false); } }); foreach (var item in tmpssp) { mask_name_list.Add(item); } Debug.Log("写入mask texture 数据成功"); temp_db.Close(); ac(mask_name_list); }
//创建db库 public void openDb() { closeDb(); errQa = new DbRepository<ErrorQa>(); errQa.CreateDb(PublicClass.filePath+"ErrQa.db"); #if UNITY_EDITOR errQa.DropTable(); #endif errQa.CreateTable(); }
//贴图记录工具 public static void SetTextureDataToDB(string texture_path, string db_fullname) { print("<Color=#00ff00> db路径 :" + db_fullname + " </color>"); List <string> list = new List <string>(); list.AddRange(Vesal_DirFiles.GetAllDirInfoFromPath(texture_path)); print("<Color=#00ff00> 贴图列表长度 :" + list.Count + "</color>"); DbRepository <texture_mask> temp_db = new DbRepository <texture_mask>(); // temp_db.DataService("StartStop.db"); temp_db.CreateDb(db_fullname); temp_db.CreateTable(); //db 原数据 List <string> mask_name_list = new List <string>(); var tmpssp = temp_db.Select <texture_mask>((ss_id) => { if (ss_id != null) { return(true); } else { return(false); } }); for (int i = 0; i < list.Count; i++) { texture_mask temp_mask = new texture_mask { id = i + 1, name = Vesal_DirFiles.get_file_name_from_full_path(list[i]), tex_data = File.ReadAllBytes(list[i]),// Vesal_DirFiles.Object2Bytes(new SceneModelState()), }; bool has_record = false; foreach (texture_mask tmp in tmpssp) { if (temp_mask.name == tmp.name) { temp_db.Update(temp_mask); has_record = true; print("update : " + temp_mask.name); } } if (has_record == false) { temp_db.Insert(temp_mask); } } Debug.Log("写入mask texture 数据成功"); temp_db.Close(); }
public static void update_condition(List <T> struct_lsit, string db_path) { DbRepository <T> temp_db = new DbRepository <T>(); temp_db.CreateDb(db_path); foreach (var item in struct_lsit) { temp_db.Update(item); } Debug.Log("写入mask texture 数据成功"); temp_db.Close(); }
//从数据库中读取起止点相关信息,并将起点颜色信息,止点颜色信息提取出来 void ReadSSPTable() { Model[] models = SceneModels.instance.Get_scope_models(); local_db = new DbRepository <StartStopInfo>(); local_db.CreateDb(db_path); var tmpssp = local_db.Select <StartStopInfo>((mod_name) => { if (mod_name != null) { //DebugLog.DebugLogInfo(string.Format("起点({0},{1},{2}),止点({3},{4},{5})", mod_name.qr, mod_name.qg, mod_name.qb, mod_name.zr, mod_name.zg, mod_name.zb)); return(true); } else { return(false); } }); sspInfoList = new List <StartStopInfo>(); foreach (StartStopInfo tmp in tmpssp) { for (int i = 0; i < models.Length; i++) { if (tmp.mod_name == models[i].name) { sspInfoList.Add(tmp); } } } local_db.Close(); for (int i = 0; i < sspInfoList.Count; i++) { StartStopPoint point = new StartStopPoint(sspInfoList[i]); sspList.Add(point); GameObject tempMark = Instantiate(Resources.Load <GameObject>("Prefab/SSPElement")); // DebugLog.DebugLogInfo("读取下方菜单预制体"); tempMark.transform.SetParent(Parent.transform); tempMark.transform.localScale = Vector3.one; tempMark.transform.localPosition = new Vector3(tempMark.transform.localPosition.x, tempMark.transform.localPosition.y, 1); // Debug.Log(tempMark); tempMark.GetComponent <StartStopElement>().SetData(sspInfoList[i]); tempMark.GetComponentInChildren <Text>().text = sspInfoList[i].ch_name; sspEleList.Add(tempMark.GetComponent <StartStopElement>()); //muscleList.Add(sspInfoList[i].ch_name); } }
void ReadTextureAB(string filepath) { //read db return texture name DbRepository <texture_table> temp_db = new DbRepository <texture_table>(); temp_db.CreateDb(filepath + "Sign_old.db"); IEnumerable <texture_table> aculist = temp_db.Select <texture_table>((tmp) => { if (tmp != null) { return(true); } else { return(false); } }); foreach (var item in aculist) { if (!name_texture_dic.ContainsKey(item.model_name)) { name_texture_dic.Add(item.model_name, item.tex_name); } } print("name_texture_dic list " + name_texture_dic.Count); temp_db.Close(); //load ab --find texture with name -- AssetBundle texture_bundle = null; AssetBundle texture_bundle2 = null; #if UNITY_EDITOR || UNITY_STANDALONE_WIN texture_bundle = AssetBundle.LoadFromFile(filepath + "bonetex.pc"); texture_bundle2 = AssetBundle.LoadFromFile(filepath + "hearttex.pc"); #elif UNITY_IOS texture_bundle = AssetBundle.LoadFromFile(filepath + "bonetex.ios"); #else texture_bundle = AssetBundle.LoadFromFile(filepath + "bonetex.android"); #endif texture_list = texture_bundle.LoadAllAssets <Texture>(); texture_list2 = texture_bundle2.LoadAllAssets <Texture>(); print("texture_list count : " + texture_list.Length); if (texture_bundle != null) { texture_bundle.Unload(false); texture_bundle2.Unload(false); } }
public MarkNoun getMarkNoun(string name) { db_path = PublicClass.vesal_db_path + "/vesali.db";//AppOpera.acu_path+"SignAcu.db"; getMarkNoun_db.CreateDb(db_path); var tmpsssss = getMarkNoun_db.SelectOne <MarkNoun>((tmp) => { if (tmp.mark_noun_no == name) { return(true); } else { return(false); } }); return(tmpsssss); }
void ReadAcuTable() { local_db = new DbRepository <AcupointInfo>(); local_db.CreateDb(db_path); var tmpssp = local_db.Select <AcupointInfo>((tmp) => { if (tmp.sm_type != null) { //DebugLog.DebugLogInfo(ss_id.bone_name+" "+ss_id.main_tex+" "+ ss_id.mask_tex); return(true); } else { return(false); } }); acuInfoList = new List <AcupointInfo>(); jingluoInfoList = new List <AcupointInfo>(); foreach (AcupointInfo tmp in tmpssp) { if (tmp.sm_type == "XW") { acuInfoList.Add(tmp); } else if (tmp.sm_type == "JL") { jingluoInfoList.Add(tmp); } } local_db.Close(); List <string> jingmaiList = new List <string>(); string[] ids_array = null; DbRepository <AcuListInfo> temp_db = new DbRepository <AcuListInfo>(); temp_db.CreateDb(db_path); IEnumerable <AcuListInfo> aculist = temp_db.Select <AcuListInfo>((tmp) => { if (tmp != null) { return(true); } else { return(false); } }); foreach (var item in aculist) { if (item.noun_no == PublicClass.app.app_id) { ids_array = item.ids.Split(','); string[] temp_str = item.line_list.Split(','); for (int i = 0; i < temp_str.Length; i++) { jingmaiList.Add(temp_str[i]); } break; } } print("jingmai list " + jingmaiList.Count); temp_db.Close(); acuPosList = new List <Transform>(); SetSecondchildActived(PublicClass.Transform_temp, jingmaiList); List <string> jingmai_name_list = new List <string>(); for (int i = 0; i < jingmaiList.Count; i++) { Transform tmp_trans = GameObject.Find(jingmaiList[i]).transform; int[] temp_trans = new int[tmp_trans.childCount]; for (int j = 0; j < temp_trans.Length; j++) { jingmai_name_list.Add(tmp_trans.GetChild(j).name); } } for (int i = 0; i < acuInfoList.Count; i++) { if (jingmai_name_list.Contains(acuInfoList[i].sm_name)) { //读取小球位置生成小球 Transform tran = GameObject.Find(acuInfoList[i].sm_name).transform; acuPosList.Add(tran); GameObject gobj = Instantiate(sphere, tran); gobj.transform.localPosition = Vector3.zero; gobj.transform.localScale = gobj.transform.localScale * 0.35f; gobj.GetComponent <SphereCollider>().radius = 0.7f; acpoint_dic.Add(tran.position, acuInfoList[i].sm_ch_name); //读取下方菜单预制体生成菜单 GameObject tempMark = Instantiate(Resources.Load <GameObject>("Prefab/ACUElement")); // DebugLog.DebugLogInfo("读取下方菜单预制体"); tempMark.transform.SetParent(acuParent.transform); tempMark.transform.localScale = Vector3.one; tempMark.transform.localPosition = new Vector3(tempMark.transform.localPosition.x, tempMark.transform.localPosition.y, 1); Debug.Log(tempMark); tempMark.GetComponent <AcuElement>().SetData(acuInfoList[i]); tempMark.GetComponentInChildren <Text>().text = acuInfoList[i].sm_ch_name; acuEleList.Add(tempMark.GetComponent <AcuElement>()); } } for (int j = 0; j < jingluoInfoList.Count; j++) { GameObject tempMark = Instantiate(Resources.Load <GameObject>("Prefab/MerElement")); // DebugLog.DebugLogInfo("读取下方菜单预制体"); tempMark.transform.SetParent(merParent.transform); tempMark.transform.localScale = Vector3.one; tempMark.transform.localPosition = new Vector3(tempMark.transform.localPosition.x, tempMark.transform.localPosition.y, 1); Debug.Log(tempMark); tempMark.GetComponent <MerElement>().SetData(jingluoInfoList[j]); tempMark.GetComponentInChildren <Text>().text = jingluoInfoList[j].sm_ch_name; merEleList.Add(tempMark.GetComponent <MerElement>()); } Debug.Log(merEleList.Count); }
// Update is called once per frame void Update() { if (PublicClass.app.app_type != "sign_acu") { return; } #if UNITY_DEBUG if (Input.GetKeyDown(KeyCode.T)) { MakeStaticDBTable <AcupointInfo> .SetTextureDataToDB(PublicClass.filePath + "StartStop", db_path); } if (Input.GetKeyDown(KeyCode.F1)) { //http://118.24.119.234:8083/vesal-jiepao-test/v1/app/xml/getTempAcupoint // MakeStaticDBTable<AcupointInfo>.sign_UpdateTable(PublicClass.server_ip + "v1/app/xml/getTempAcupoint", db_path); // http://118.24.119.234:8083/vesal-jiepao-test/v1/app/xml/getTempAcupoint?type=acu // http://118.24.119.234:8083/vesal-jiepao-test/v1/app/xml/getTempAcupoint?type=noun // MakeStaticDBTable<AcupointInfo>.sign_UpdateTable(PublicClass.server_ip + "v1/app/xml/getTempAcupoint?type=acu", db_path,true); // MakeStaticDBTable<AcuListInfo>.sign_UpdateTable(PublicClass.server_ip + "v1/app/xml/getTempAcupoint?type=noun", db_path,true); string db_path = PublicClass.filePath + "sign_ssp_path/StartStop_1.db"; MakeStaticDBTable <StartStopInfo> .opera_condition(db_path, (list) => { //list startstopinfo List <string> opera_list = new List <string>(); foreach (var item in list) { if (item.qr == "0") { opera_list.Add(item.mod_name); print(item.mod_name + " info missing "); } } }); } if (Input.GetKeyDown(KeyCode.R)) { Debug.Log("r已被按下"); for (int i = 0; i < acuEleList.Count; i++) { Debug.Log("进入循环,查找目前记录的物体"); if (acuEleList[i].gameObject.GetComponent <Image>().color == new Color(33 / 255.0f, 167 / 255.0f, 212 / 255.0f, 85 / 255.0f)) { camera_params str = new camera_params(); str.camera_pos = new vector3(); str.camera_pos.x = Camera.main.transform.position.x; str.camera_pos.y = Camera.main.transform.position.y; str.camera_pos.z = Camera.main.transform.position.z; str.camera_parent_rot = new vector3(); str.camera_parent_rot.x = Camera.main.transform.parent.transform.eulerAngles.x; str.camera_parent_rot.y = Camera.main.transform.parent.transform.eulerAngles.y; str.camera_parent_rot.z = Camera.main.transform.parent.transform.eulerAngles.z; str.camera_parent_pos = new vector3(); str.camera_parent_pos.x = Camera.main.transform.parent.transform.position.x; str.camera_parent_pos.y = Camera.main.transform.parent.transform.position.y; str.camera_parent_pos.z = Camera.main.transform.parent.transform.position.z; acuInfoList[i].camera_params = JsonConvert.SerializeObject(str); // sspInfoList[i].app_id="SA0C01001"; Debug.Log("记录摄像机数据成功"); } } } if (Input.GetKeyDown(KeyCode.W)) { // local_db.DataService("StartStop.db"); local_db.CreateDb(db_path); UpdateSSPTable(); Debug.Log("写入摄像机数据成功"); local_db.Close(); } #endif //将显示框的位置设置为物体位置的屏幕坐标 //Debug.Log(objPos); //showinfoBG.transform.position = Camera.main.WorldToScreenPoint(objPos); txtPos = Camera.main.WorldToScreenPoint(objPos); showinfoBG.rectTransform.anchoredPosition = new Vector2(txtPos.x / Screen.width * ScreenData.instance.high, txtPos.y / Screen.height * ScreenData.instance.width) + new Vector2(100, 50); //Debug.Log(showinfoBG.rectTransform.localPosition); // Debug.Log(showinfoBG.rectTransform.anchoredPosition); //Debug.Log(txtPos); //showinfoBG.rectTransform.pivot = new Vector2(0.5f, 0.5f); //Debug.Log(showinfoBG.transform.position); if (ChooseModel.CheckGuiRaycastObjects()) { return; } if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit)) { if (acpoint_dic.ContainsKey(hit.transform.position)) { ExpPanel.SetActive(true); MenuPanel.SetActive(false); isListOpen = false; //for (int i = 0; i < acuInfoList.Count; i++) // { // if(GameObject.Find(acuInfoList[i].sm_name)!=null) // ToNormalState(GameObject.Find(acuInfoList[i].sm_name).GetComponentInChildren<MeshRenderer>().material); // } if (lastSphere != null) { ToNormalState(lastSphere.GetComponentInChildren <MeshRenderer>().material); //test.lastMuscle.SetActive(false); } //lastTrans = currentTrans; //currentTrans = hit.transform; objPos = hit.transform.position; showinfoBG.gameObject.SetActive(true); showTxt.text = acpoint_dic[hit.transform.position]; //ToSelectState(currentTrans.GetComponent<MeshRenderer>().material); currentSphere = hit.transform.gameObject; ToSelectState(hit.transform.GetComponent <MeshRenderer>().material); lastSphere = currentSphere; //if(lastTrans!=null) //ToNormalState (lastTrans.GetComponent<MeshRenderer>().material); for (int i = 0; i < acuInfoList.Count; i++) { if (acuInfoList[i].sm_ch_name == acpoint_dic[hit.transform.position]) { //print(acuInfoList[i].sm_ch_name); acuChName.text = acuInfoList[i].sm_ch_name; acuCode.text = acuInfoList[i].iso_code; acuDes.text = string.Format("<size=48><color=#00FFFF>定位</color></size>:\r\n{0}\r\n<size=48><color=#00FFFF>主治</color></size>:\r\n{1}\r\n<size=48><color=#00FFFF>操作</color></size>:\r\n{2}", acuInfoList[i].position, acuInfoList[i].cure, acuInfoList[i].handle); } } } } else { for (int i = 0; i < acuInfoList.Count; i++) { if (GameObject.Find(acuInfoList[i].sm_name) != null) { ToNormalState(GameObject.Find(acuInfoList[i].sm_name).GetComponentInChildren <MeshRenderer>().material); } } showinfoBG.gameObject.SetActive(false); } } }
public void Should_CreateDbAndSchema_IfNotExist() { _dbRepository.CreateDb(); }
void Update() { if (PublicClass.app.app_type != "sign_ssp") { return; } if (Input.GetKeyDown(KeyCode.T)) { MakeStaticDBTable <StartStopInfo> .SetTextureDataToDB(PublicClass.filePath + "StartStop", db_path); } #if UNITY_DEBUG if (Input.GetKeyDown(KeyCode.F1)) { MakeStaticDBTable <StartStopInfo> .sign_UpdateTable(PublicClass.server_ip + "v1/app/xml/getAllStartStop", db_path, true); } if (Input.GetKeyDown(KeyCode.R)) { Debug.Log("r已被按下"); for (int i = 0; i < sspEleList.Count; i++) { Debug.Log("进入循环,查找目前记录的物体"); if (sspEleList[i].gameObject.GetComponent <Image>().color == new Color(33 / 255.0f, 167 / 255.0f, 212 / 255.0f, 85 / 255.0f)) { camera_params str = new camera_params(); str.camera_pos = new vector3(); str.camera_pos.x = Camera.main.transform.position.x; str.camera_pos.y = Camera.main.transform.position.y; str.camera_pos.z = Camera.main.transform.position.z; str.camera_parent_rot = new vector3(); str.camera_parent_rot.x = Camera.main.transform.parent.transform.eulerAngles.x; str.camera_parent_rot.y = Camera.main.transform.parent.transform.eulerAngles.y; str.camera_parent_rot.z = Camera.main.transform.parent.transform.eulerAngles.z; str.camera_parent_pos = new vector3(); str.camera_parent_pos.x = Camera.main.transform.parent.transform.position.x; str.camera_parent_pos.y = Camera.main.transform.parent.transform.position.y; str.camera_parent_pos.z = Camera.main.transform.parent.transform.position.z; sspInfoList[i].camera_params = JsonConvert.SerializeObject(str); // sspInfoList[i].app_id="SA0C01001"; Debug.Log("记录摄像机数据成功"); } } } if (Input.GetKeyDown(KeyCode.W)) { // local_db.DataService("StartStop.db"); local_db.CreateDb(db_path); UpdateSSPTable(); Debug.Log("写入摄像机数据成功"); local_db.Close(); } #endif if (ChooseModel.CheckGuiRaycastObjects()) { return; } if (Input.GetMouseButtonDown(0)) { List <Ray> ray_list = new List <Ray>(); List <RaycastHit> hit_list = new List <RaycastHit>(); Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); ray_list.Add(ray); Ray ray1 = Camera.main.ScreenPointToRay(Input.mousePosition + new Vector3(0, 2, 0)); ray_list.Add(ray1); Ray ray2 = Camera.main.ScreenPointToRay(Input.mousePosition + new Vector3(0, -2, 0)); ray_list.Add(ray2); Ray ray3 = Camera.main.ScreenPointToRay(Input.mousePosition + new Vector3(2, 0, 0)); ray_list.Add(ray3); Ray ray4 = Camera.main.ScreenPointToRay(Input.mousePosition + new Vector3(-2, 0, 0)); ray_list.Add(ray4); for (int k = 0; k < ray_list.Count; k++) { RaycastHit hit; if (Physics.Raycast(ray_list[k], out hit)) { hit_list.Add(hit); //for (int i = 0; i < sspInfoList.Count; i++) //{ //dic[sspInfoList[i].mod_name].gameObject.SetActive(false); //} if (model_maskTex_dic.ContainsKey(hit.transform.gameObject.GetComponent <Model>())) { maskTexPNG = model_maskTex_dic[hit.transform.gameObject.GetComponent <Model>()]; } Vector2 pixelUV = hit.textureCoord2; pixelUV.x *= maskTexPNG.width; pixelUV.y *= maskTexPNG.height; chosCol = maskTexPNG.GetPixel((int)pixelUV.x, (int)pixelUV.y); if (chosCol == Color.black) { continue; } clickTimes++; for (int i = 0; i < sspList.Count; i++) { ExpPanel.SetActive(true); MenuPanel.SetActive(false); isListOpen = false; if (sspList[i].startCol == new Vector3(chosCol.r, chosCol.g, chosCol.b)) { ShowInfo(sspInfoList[i]); objPa.BroadcastMessage("ChangeChoseColor", chosCol); if (new Color(sspList[i].stopCol.x, sspList[i].stopCol.y, sspList[i].stopCol.z, 1) != Color.black) { objPa.BroadcastMessage("ChangeResColor", new Color(sspList[i].stopCol.x, sspList[i].stopCol.y, sspList[i].stopCol.z, 1)); } else { objPa.BroadcastMessage("ChangeResColor", Color.magenta); } ShowMuscle(sspInfoList[i]); return; } else if (sspList[i].stopCol == new Vector3(chosCol.r, chosCol.g, chosCol.b)) { ShowInfo(sspInfoList[i]); objPa.BroadcastMessage("ChangeResColor", chosCol); if (new Color(sspList[i].startCol.x, sspList[i].startCol.y, sspList[i].startCol.z, 1) != Color.black) { objPa.BroadcastMessage("ChangeChoseColor", new Color(sspList[i].startCol.x, sspList[i].startCol.y, sspList[i].startCol.z, 1)); } else { objPa.BroadcastMessage("ChangeChoseColor", Color.magenta); } ShowMuscle(sspInfoList[i]); return; } } } else { ExpPanel.SetActive(false); MenuPanel.SetActive(false); } } } }