using UnityEngine; using UnityEngine.UI; using TMPro; using System.Linq; using System.Collections.Generic; public class PreferenceSetting : MonoBehaviour { public GameObject Switch; //public GameObject Value; public GameObject Drop; public GameObject list; public GameObject TitleLine; public GameObject BtnToServer; public void StartPNL() // used by Global , Sett { print("Preference start PNL===="+_G.User); _G.PON = "PreferenceSetting"; DOIT. DELETEAllObjectChild(list); BtnToServer.SetActive(false); // if(_P.ListSwitch["ALLOW_RESIZE_CABINET"]){ // AddTextLine(list,"GENERAL");//TITLE LINE----------------------------GENERAL // AddInput(list,"ROTATION_ANGLE"); // AddInput(list,"COUNTER_HEIGHT"); // AddInput(list,"COUNTER_FRONT_PROJECTION"); // AddSwitch("COUNTER_ON_MESURE"); // AddSwitch("FILLER_ON_MESURE"); // AddSwitch("CAB_INSTALLATION_CEILING"); // AddInput(list,"CAB_FROM_CEILING"); // AddTextLine(list,"CABINET DIMENSIONS");//TITLE LINE---------------------------CABINET DIMENSIONS // AddInput(list,"KICK_HEIGHT"); // AddInput(list,"DOOR_GAP"); // AddInput(list,"BASE_HEIGHT"); // AddInput(list,"WALL_HEIGHT"); // AddInput(list,"TALL_HEIGHT"); // AddInput(list,"BASE_DEPTH"); // AddInput(list,"WALL_DEPTH"); // AddInput(list,"TALL_DEPTH"); // } if(_G.User=="User" ){ AddTextLine(list,"GENERAL");//TITLE LINE----------------------------GENERAL AddInput(list,"ROTATION_ANGLE"); AddInput(list,"COUNTER_HEIGHT"); AddInput(list,"COUNTER_FRONT_PROJECTION"); AddSwitch("COUNTER_ON_MESURE"); AddSwitch("FILLER_ON_MESURE"); AddSwitch("CAB_INSTALLATION_CEILING"); AddInput(list,"CAB_FROM_CEILING"); if(_P.ListSwitch["ALLOW_RESIZE_CABINET"]){ AddTextLine(list,"CABINET DIMENSIONS");//TITLE LINE---------------------------CABINET DIMENSIONS AddInput(list,"KICK_HEIGHT"); AddInput(list,"DOOR_GAP"); AddInput(list,"BASE_HEIGHT"); AddInput(list,"WALL_HEIGHT"); AddInput(list,"TALL_HEIGHT"); AddInput(list,"BASE_DEPTH"); AddInput(list,"WALL_DEPTH"); AddInput(list,"TALL_DEPTH"); AddTextLine(list,"SIDE PANEL");//TITLE LINE---------------------------SIDE PANEL AddSwitch("RECOVER_UP_TO_FLOOR"); } } else if(_G.User=="Admin"){ AddTextLine(list,"GENERAL");//TITLE LINE---------------------------GENERAL AddInput(list,"KICK_HEIGHT"); AddInput(list,"ROTATION_ANGLE"); AddInput(list,"COUNTER_HEIGHT"); AddInput(list,"COUNTER_FRONT_PROJECTION"); AddSwitch("COUNTER_ON_MESURE"); AddSwitch("FILLER_ON_MESURE"); AddSwitch("CAB_INSTALLATION_CEILING"); AddInput(list,"CAB_FROM_CEILING"); AddTextLine(list,"FEATURES");//TITLE LINE---------------------------FEATURES AddSwitch("CAB_CREATOR"); AddSwitch("MEASURE_METRIC"); AddSwitch("MEASURE_IMPERIAL"); AddSwitch("CATHEDRAL_CEILING"); AddTextLine(list,"CABINET DIMENSIONS");//TITLE LINE---------------------------CABINET DIMENSIONS AddSwitch("ALLOW_RESIZE_CABINET"); AddInput(list,"DOOR_GAP"); AddInput(list,"BASE_HEIGHT"); AddInput(list,"WALL_HEIGHT"); AddInput(list,"TALL_HEIGHT"); AddInput(list,"BASE_DEPTH"); AddInput(list,"WALL_DEPTH"); AddInput(list,"TALL_DEPTH"); AddSwitch("NO_DOOR"); AddSwitch("ALLOW_PROJECTION_SINK"); AddSwitch("ALLOW_SIDES_SELECTION"); AddSwitch("ALLOW_DOORPATTERN_RESIZE"); AddTextLine(list,"KICK");//TITLE LINE---------------------------KICK AddSwitch("ALLOW_SUSPENDED"); AddSwitch("ALLOW_LEG_ONLY"); AddSwitch("ALLOW_KICK_ONLY"); AddSwitch("ALLOW_KICK&LEG"); AddSwitch("ALLOW_RETRACTION"); AddInput(list,"RETRACTION_STD"); AddSwitch("ALLOW_KICK_RETRACTION"); AddTextLine(list,"SIDE PANEL");//TITLE LINE---------------------------SIDE PANEL AddSwitch("ALLOW_SIDE_OVER"); AddSwitch("ALLOW_SIDE_NOTCH"); AddSwitch("ALLOW_SIDE_STD"); AddSwitch("ALLOW_UNDER_FINISH"); AddTextLine(list,"RECOVER PANEL");//TITLE LINE---------------------------RECOVER PANEL AddSwitch("ALLOW_RECOVER_OVER"); AddSwitch("ALLOW_RECOVER_NOTCH"); AddSwitch("ALLOW_RECOVER_STD"); AddSwitch("ALLOW_RECOVER_RESIZE"); AddSwitch("RECOVER_UP_TO_FLOOR"); AddTextLine(list,"GLOBAL ADJUSTMENT PANEL");//TITLE LINE---------------------------GLOBAL PANEL AddDropdown("GLOBAL_QTY"); AddSwitch("DOOR_SELECT"); AddSwitch("DOOR_SHOW_UNIQUE_NAME"); AddSwitch("EXTERIOR_MATCH_DOOR"); AddSwitch("KICK_MATCH_DOOR"); AddSwitch("INTERIOR_SELECT"); AddSwitch("EXTERIOR_SELECT"); AddSwitch("KICK_SELECT"); AddSwitch("OGEE_SELECT"); AddSwitch("FASCIA_SELECT"); AddSwitch("CORNICE_SELECT"); AddSwitch("VALANCE_SELECT"); AddSwitch("CABS_HAS_ALL_DOORS"); AddSwitch("SHOW_ALL_LIBRARY"); AddSwitch("COUNTERTOP_SUPPLIER"); AddSwitch("PLAN2D_HIDE_COUNTERTOP"); AddTextLine(list,"EDITING");//TITLE LINE---------------------------EDITING AddSwitch("ALLOW_EDIT_KICK"); AddSwitch("ALLOW_EDIT_SIDE"); AddSwitch("ALLOW_EDIT_RECOVER"); AddSwitch("ALLOW_EDIT_DOOR"); AddSwitch("ALLOW_EDIT_OGEE"); AddSwitch("ALLOW_EDIT_FASCIA"); AddSwitch("ALLOW_EDIT_VALANCE"); AddTextLine(list,"PRICE");//TITLE LINE---------------------------PRICE AddSwitch("SHOPIFY"); AddSwitch("SHOW_PRICE"); AddSwitch("MAGENTO"); AddSwitch("FILLER_BY_ITEMS"); AddSwitch("DOOR_BY_MODEL_COLOR"); AddSwitch("CABINET_BY_MODEL_DOOR"); AddSwitch("CABINET_BY_FINISH_BOX"); AddSwitch("CABINET_DOOR_RECIPE"); AddSwitch("DOOR_BY_GROUP"); AddSwitch("PANEL_BY_GROUP"); AddSwitch("MOLDING_BY_GROUP"); AddSwitch("PANEL_BY_MODEL_COLOR"); AddSwitch("FILLER_BY_MODEL_COLOR"); AddSwitch("MOLDING_BY_MODEL_COLOR"); AddSwitch("STORE_SELECTION"); AddSwitch("PDF_SHOW_ECOMMERCE_CODE"); AddSwitch("ADD_ITEM_LIST"); AddTextLine(list,"LANGUAGE");//TITLE LINE---------------------------LANGUAGE AddSwitch("ENGLISH"); AddSwitch("FRENCH"); AddSwitch("SPANISH"); AddTextLine(list,"OTHERS");//TITLE LINE---------------------------OTHERS AddSwitch("LOGO2"); AddSwitch("AI"); BtnToServer.SetActive(true); } } public static void AddTextLine(GameObject List,string T){ int index = System.Array.IndexOf(_P.HEADER, T); T=_P.HEADER[index+_G.L-1]; GameObject TL=Instantiate(Get.o2("HIDER/BaseInputs","TitleLine")); TL.SetActive(true); TL.transform.SetParent(List.transform); TL.transform.Find("T").GetComponent().text=T; TL.transform.localScale=new(1,1,1); TL.name="Text Title"; } public void AddSwitch(string T){ if(!_P.List.ContainsKey(T)){ _P.List.Add(T,"n"); _P.ListSwitch.Add(T,false); } print("switch T===="+T+" value is "+_P.List[T]); GameObject S=Instantiate(Switch); S.SetActive(true); S.transform.SetParent(list.transform); S.transform.Find("T").GetComponent().text=_P.Dictionary[T][_G.L]; S.transform.localScale=new(1,1,1); S.transform.Find("S").GetComponent().isOn=_P.ListSwitch[T];//VALANCE_SELECT value====nnSEL S.name=T; } public static void AddInput(GameObject List,string T){ if(!_P.List.ContainsKey(T)){ _P.List.Add(T,"0"); } string value=_P.List[T]; GameObject I =Instantiate(Get.o2("HIDER/BaseInputs","Value")); I.SetActive(true); I.transform.Find("T").GetComponent().text=_P.Dictionary[T][_G.L]; I.transform.SetParent(List.transform); I.transform.localScale=new(1,1,1); I.transform.Find("I").GetComponent().text=DOIT.CSss(value);//DOIT.CNsWithoutSymbol(value); I.name=T; } public void AddDropdown(string T){ string[] Option=_P.Dictionary[T][4].Split('_');//VALANCE_SELECT value====nVALANCE_SELECT value====n List m_DropOptions=new(); for(int i=0; i().text=_P.Dictionary[T][_G.L]; D.transform.localScale=new(1,1,1); D.transform.Find("D").GetComponent().ClearOptions(); D.transform.Find("D").GetComponent().AddOptions(m_DropOptions); if(!_P.List.ContainsKey(T)){ _P.List.Add(T,"0"); } string GlobalQty=_P.List[T];//2 int indValue=0; for (int k = 0; k < Option.Length; k++){ if(Option[k]==GlobalQty)indValue=k; } D.transform.Find("D").GetComponent().value=indValue; D.name=T;///_P.Dictionary[T][1+_G.L]; } public void SetfromPNL() // used by Add« { AddToDictionary(); DOIT.CloseALLPNL(); } public void ToServer() // used bu SaveToServer« { AddToDictionary(); SaveToServer.SaveWEB(); } public void AddToDictionary(){ //GENERAL //AddValueInput("KICK_HEIGHT"); AddValueInput("ROTATION_ANGLE"); AddValueInput("COUNTER_HEIGHT"); AddValueInput("COUNTER_FRONT_PROJECTION"); AddBoolSwitch("COUNTER_ON_MESURE"); AddBoolSwitch("FILLER_ON_MESURE"); AddBoolSwitch("CAB_INSTALLATION_CEILING"); AddValueInput("CAB_FROM_CEILING"); if(_P.ListSwitch["ALLOW_RESIZE_CABINET"]){ AddValueInput("KICK_HEIGHT"); AddValueInput("DOOR_GAP"); AddValueInput("BASE_HEIGHT"); AddValueInput("WALL_HEIGHT"); AddValueInput("TALL_HEIGHT"); AddValueInput("BASE_DEPTH"); AddValueInput("WALL_DEPTH"); AddValueInput("TALL_DEPTH"); AddBoolSwitch("RECOVER_UP_TO_FLOOR"); } if (_G.User == "Admin") { //FEATURES AddBoolSwitch("CAB_CREATOR"); AddBoolSwitch("MEASURE_METRIC"); AddBoolSwitch("MEASURE_IMPERIAL"); AddBoolSwitch("CATHEDRAL_CEILING"); //CABINET DIMENSIONS AddBoolSwitch("ALLOW_RESIZE_CABINET"); AddValueInput("DOOR_GAP"); AddValueInput("BASE_HEIGHT"); AddValueInput("WALL_HEIGHT"); AddValueInput("TALL_HEIGHT"); AddValueInput("BASE_DEPTH"); AddValueInput("WALL_DEPTH"); AddValueInput("TALL_DEPTH"); AddBoolSwitch("NO_DOOR"); AddBoolSwitch("ALLOW_PROJECTION_SINK"); AddBoolSwitch("ALLOW_SIDES_SELECTION"); AddBoolSwitch("ALLOW_DOORPATTERN_RESIZE"); //KICKS AddBoolSwitch("ALLOW_SUSPENDED"); AddBoolSwitch("ALLOW_LEG_ONLY"); AddBoolSwitch("ALLOW_KICK_ONLY"); AddBoolSwitch("ALLOW_KICK&LEG"); AddBoolSwitch("ALLOW_RETRACTION"); AddValueInput("RETRACTION_STD"); AddBoolSwitch("ALLOW_KICK_RETRACTION");//Kick side retraction //SIDES AddBoolSwitch("ALLOW_SIDE_OVER"); AddBoolSwitch("ALLOW_SIDE_NOTCH"); AddBoolSwitch("ALLOW_SIDE_STD"); AddBoolSwitch("ALLOW_UNDER_FINISH"); //RECOVERS AddBoolSwitch("ALLOW_RECOVER_OVER"); AddBoolSwitch("ALLOW_RECOVER_NOTCH"); AddBoolSwitch("ALLOW_RECOVER_STD"); AddBoolSwitch("ALLOW_RECOVER_RESIZE"); AddBoolSwitch("RECOVER_UP_TO_FLOOR"); //GLOBALS AddDropDownSelection("GLOBAL_QTY"); AddBoolSwitch("DOOR_SELECT"); AddBoolSwitch("DOOR_SHOW_UNIQUE_NAME"); AddBoolSwitch("EXTERIOR_MATCH_DOOR"); AddBoolSwitch("KICK_MATCH_DOOR"); AddBoolSwitch("INTERIOR_SELECT"); AddBoolSwitch("EXTERIOR_SELECT"); AddBoolSwitch("KICK_SELECT"); AddBoolSwitch("OGEE_SELECT"); AddBoolSwitch("FASCIA_SELECT"); AddBoolSwitch("CORNICE_SELECT"); AddBoolSwitch("VALANCE_SELECT"); AddBoolSwitch("CABS_HAS_ALL_DOORS"); AddBoolSwitch("SHOW_ALL_LIBRARY"); AddBoolSwitch("COUNTERTOP_SUPPLIER"); AddBoolSwitch("PLAN2D_HIDE_COUNTERTOP"); //EDITING AddBoolSwitch("ALLOW_EDIT_KICK"); AddBoolSwitch("ALLOW_EDIT_SIDE"); AddBoolSwitch("ALLOW_EDIT_RECOVER"); AddBoolSwitch("ALLOW_EDIT_DOOR"); AddBoolSwitch("ALLOW_EDIT_OGEE"); AddBoolSwitch("ALLOW_EDIT_FASCIA"); AddBoolSwitch("ALLOW_EDIT_VALANCE"); //PRICE AddBoolSwitch("SHOPIFY"); AddBoolSwitch("SHOW_PRICE"); AddBoolSwitch("MAGENTO"); AddBoolSwitch("FILLER_BY_ITEMS"); AddBoolSwitch("DOOR_BY_MODEL_COLOR"); AddBoolSwitch("CABINET_BY_MODEL_DOOR"); AddBoolSwitch("CABINET_BY_FINISH_BOX"); AddBoolSwitch("CABINET_DOOR_RECIPE"); AddBoolSwitch("DOOR_BY_GROUP"); AddBoolSwitch("PANEL_BY_GROUP"); AddBoolSwitch("MOLDING_BY_GROUP"); AddBoolSwitch("PANEL_BY_MODEL_COLOR"); AddBoolSwitch("FILLER_BY_MODEL_COLOR"); AddBoolSwitch("MOLDING_BY_MODEL_COLOR"); AddBoolSwitch("STORE_SELECTION"); AddBoolSwitch("PDF_SHOW_ECOMMERCE_CODE"); AddBoolSwitch("ADD_ITEM_LIST"); //LANGUAGE AddBoolSwitch("ENGLISH"); AddBoolSwitch("FRENCH"); AddBoolSwitch("SPANISH"); //OTHERS AddBoolSwitch("LOGO2"); AddBoolSwitch("AI"); } foreach(var item in _P.List){ if(item.Value=="y"){_P.ListSwitch[item.Key]=true;} if(item.Value=="n"){_P.ListSwitch[item.Key]=false;} } foreach(var item in _P.List){ if( _P.Listfloat.ContainsKey(item.Key) )_P.Listfloat[item.Key]=DOIT.ConvertStringToNumber(_P.List[item.Key]); } } //ADD SELECTIONS public void AddBoolSwitch(string Name) { print("Name====s="+Name); string yn="n"; bool isOn=Get.o2("SETTINGPNL/List/Viewport/Content/"+Name, "S").GetComponent().isOn; if(isOn) {yn="y";} _P.List[Name] = yn; _P.ListSwitch[Name] = isOn; } public void AddValueInput(string Name){ print("Name====="+Name); _P.List[Name] = DOIT.CSs(Get.o2("SETTINGPNL/List/Viewport/Content/"+Name, "I").GetComponent().text); } public void AddDropDownSelection(string Name){ int ind=Get.o2("SETTINGPNL/List/Viewport/Content/"+Name, "D").GetComponent().value; _P.List[Name] = Get.o2("SETTINGPNL/List/Viewport/Content/"+Name, "D").GetComponent().options[ind].text; } }