public void RetrieveObjectsFromFile(FileInfo file, ObjectDict <OraObject> dict) { StreamReader streamReader = new StreamReader(file.FullName, Encoding.GetEncoding("Windows-1251")); string script = streamReader.ReadToEnd(); RetrieveObjectsFromSQL(script, file, dict as OraObjectDict); }
public void FromString(string Objects) { using var Trace = new Trace(); //This c# 8.0 using feature will auto dispose when the function is done. try { //take anything before the first semicolon: if (Objects.Contains(";")) { Objects = Objects.GetWord("", ";"); } this.EnabledCount = 0; int order = 0; List <string> lst = Objects.SplitStr(","); List <string> deflst = AppSettings.Settings.ObjectPriority.ToLower().SplitStr(","); foreach (var obj in lst) { ClsRelevantObject ro = new ClsRelevantObject(obj); if (!ObjectDict.Contains(ro.Name.ToLower())) { if (ro.Enabled) { this.EnabledCount++; } order = deflst.IndexOf(ro.Name.ToLower()); if (order > -1) { ro.Priority = order + 1; } ObjectDict.Add(ro.Name.ToLower(), ro); } } AddDefaults(); } catch (Exception ex) { AITOOL.Log("Error: " + ex.Msg()); } }
public bool TryDelete(ClsRelevantObject ro) { bool ret = false; if (ro.IsNull()) { return(false); } if (ObjectDict.Contains(ro.Name.ToLower())) { ObjectDict.Remove(ro.Name.ToLower()); ret = true; } return(ret); }
public void AddDefaults() { //Make sure the default objects are always in the list List <string> deflst = AppSettings.Settings.ObjectPriority.SplitStr(","); bool AlreadyHasItems = ObjectDict.Count > 0; for (int i = 0; i < deflst.Count; i++) { ClsRelevantObject ro = new ClsRelevantObject(deflst[i]); if (!ObjectDict.Contains(ro.Name.ToLower())) { //if no items are currently in the dictionary, assume we want to ENABLE all the objects // Otherwise, Disable objects so that existing lists from old versions dont suddenly have everything enabled that shouldnt be if (!AlreadyHasItems) { ro.Enabled = true; } else { ro.Enabled = false; } if (ro.Enabled) { this.EnabledCount++; } ro.Priority = i + 1; ObjectDict.Add(ro.Name.ToLower(), ro); } else { if (!AlreadyHasItems) { ro.Priority = i + 1; } } } }
public void RetrieveObjectsFromFile(List <FileInfo> files, ObjectDict <OraObject> dict) { StartOfCheck(); foreach (FileInfo file in files) { if (file.Extension.Equals(extension, StringComparison.CurrentCultureIgnoreCase)) { if (file.Exists) { RetrieveObjectsFromFile(file, dict); ProgressChanged(); } else { dict.notFoundFiles.Add(file); } } } EndOfCheck(); }
public bool TryAdd(ClsRelevantObject ro, bool Enable) { bool ret = false; if (ro.IsNull()) { return(false); } if (!ObjectDict.Contains(ro.Name.ToLower())) { ro.Priority = ObjectDict.Count + 1; ro.Enabled = Enable; if (ro.Enabled) { this.EnabledCount++; } ObjectDict.Add(ro.Name.ToLower(), ro); ret = true; } return(ret); }
public void CreateTask() //create all objects for the current task { Vector3 targHolder_scale = new Vector3(1.2f * 0.07f, 0.0001f, 1.2f * 0.07f); for (int i = 0; i < objNumber; i++) { GameObject oriObj = objects[i]; //orignal object has shape,color,transform oriObj.AddComponent <Rigidbody>(); oriObj.GetComponent <Rigidbody>().isKinematic = true; GameObject targHolder = GameObject.CreatePrimitive(PrimitiveType.Cube);//target holder to hold the object, its a plane targHolder.transform.position = targetPosition[i]; targHolder.transform.localScale = targHolder_scale; //Material tmp = Resources.Load<Material>("c1"); //give a color to the holder //tmp.color = new Color(0.5f,1,1); //targHolder.GetComponent<Renderer>().material = tmp; GameObject grabHolder = GameObject.CreatePrimitive(PrimitiveType.Cube); //the position for agent to grab the object grabHolder.transform.position = new Vector3(oriObj.transform.position.x, oriObj.transform.position.y + 0.08f, oriObj.transform.position.z); grabHolder.transform.rotation = oriObj.transform.rotation; grabHolder.transform.localScale = oriObj.transform.localScale; Destroy(grabHolder.GetComponent <MeshRenderer>()); GameObject releaseHolder = GameObject.CreatePrimitive(PrimitiveType.Cube); //the position for agent to release the object releaseHolder.transform.localScale = oriObj.transform.localScale; releaseHolder.transform.position = new Vector3(targetPosition[i].x, oriObj.transform.position.y + 0.08f, targetPosition[i].z); Destroy(releaseHolder.GetComponent <MeshRenderer>()); //ObjDict od = new ObjDict((i+1).ToString(),materials.Count,prefabs.Count,oriObj,targObj,targHolder,false);//now fill the dictionary ObjectDict od = gameObject.AddComponent <ObjectDict>(); //od.Initialize(oriObj, targHolder, grabHolder, releaseHolder, false); dict.Add(i, od); } }
void Awake() { obj = this; }
public void CreateTask() { //level = lev - 1; // levle from 0->3==> lev 1->4 //for (int i = 0; i < dict.Count; i++) //{ // dict[i].oriObject.SetActive(false); //} if (dict != null) { for (int i = 0; i < dict.Count; i++) { Destroy(dict[i]); } dict.Clear(); //sortID.Clear(); //clear to store the new values usedMaterial.Clear(); } for (int i = 0; i < objNumber; i++) { //usedMaterial.Add(matNum[i]); } //for (int i = 0; i < objNumber; i++) //{ // int index = UniqueRandomInt(0, mixedLevel[level].Count); // usedMaterial.Add(index); // //objects[i].transform.Find("Top").GetComponent<Renderer>().material = mat[index]; // //SortIDnum(lev, usedMaterial); //} // SortIndex(usedMaterial); //here the material pictures has been sorted in an increased sortID order for (int j = 0; j < objNumber; j++) { //objects[j].gameObject.transform.position = new Vector3(0f,0f,0f); //objects[j].transform.GetChild(5).GetComponent<Renderer>().material = mat[usedMaterial[j]]; for (int i = 0; i < 6; i++) { objects[j].transform.GetChild(i).GetComponent <Renderer>().material = matFlags[j];//mixedLevel[level][usedMaterial[j]]; //here only attach material to the top face of the cube } //SortIDnum(level, usedMaterial); } for (int i = 0; i < objNumber; i++) { //objects[i].transform.position = InitPosition();// new Vector3(InitPosition().x,InitPosition().y,InitPosition().z); //targHolder[i].transform.position = targetPosition[i]; //grabHolder[i].transform.position = new Vector3(objects[i].transform.position.x, objects[i].transform.position.y + 0.08f, objects[i].transform.position.z); //grabHolder[i].transform.rotation = objects[i].transform.rotation; //releaseHolder[i].transform.position = new Vector3(targetPosition[i].x, objects[i].transform.position.y + 0.08f, targetPosition[i].z); ObjectDict od = gameObject.AddComponent <ObjectDict>(); od.Initialize(i, objects[i], targHolder[i], grabHolder[i], releaseHolder[i], false); dict.Add(i, od); } for (int i = 0; i < objNumber; i++) { dict[i].oriObject.SetActive(false); dict[i].targHolder.SetActive(false); } }
public string Recurse(string pattern, ObjectDict dict) { m_dict = dict; return(HelperRecurse(pattern)); }