using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TMPro; using System; public class PRICE : MonoBehaviour { public static void Calprice() { if(_P.ListSwitch[Pref.SHOW_PRICE]){ //rint("-----------------------------PASSE Calprice()-----------------------"); CalpriceNow(); } } public static void CalpriceNow() { //print("calculate now ==="+SceneModeManager.Scene); CameraAround.Show(); _G.PriceTotal=CalpriceByItems(); Get.o2("DASH/PriceShow","PS").GetComponent().text = _G.PriceTotal; Camera.main.GetComponent().Hide(); } public static float Caldoor(int nO) { //print("_G.OBJs[nO][25] ==="+_G.OBJs[nO][25] ); float price = 0; string[] code = _G.OBJs[nO][25].Split('_'); int cl = code.Length; for (int i = 2; i < code.Length; i += 4) { //print("code[i] ==="+code[i] ); if (code[i] == "p") { float w = DOIT.ConvertStringToNumber(code[i + 1]); float h = DOIT.ConvertStringToNumber(code[i + 2]); price += ((w * h) / 144) * _P.DF; } if (code[i] == "t") { float w = DOIT.ConvertStringToNumber(code[i + 1]); float h = DOIT.ConvertStringToNumber(code[i + 2]); price += ((w * h) / 144) * _P.DD; price += ((w * h) / 144) * _P.DR1; } } return price; } public static float Callength(int nO) { float price = 0; if (_G.OBJs[nO][4] == "B1") price += _P.CB * DOIT.ConvertStringToNumber(_G.OBJs[nO][6]) / 12; if (_G.OBJs[nO][4] == "W1") price += _P.CW * DOIT.ConvertStringToNumber(_G.OBJs[nO][6]) / 12; if (_G.OBJs[nO][4] == "T1") price += _P.CT * DOIT.ConvertStringToNumber(_G.OBJs[nO][6]) / 12; if (_G.OBJs[nO][4] == "B2") price += _P.CCB * (DOIT.ConvertStringToNumber(_G.OBJs[nO][6]) + DOIT.ConvertStringToNumber(_G.OBJs[nO][8])) / 12; if (_G.OBJs[nO][4] == "B3") price += _P.CCB * (DOIT.ConvertStringToNumber(_G.OBJs[nO][6]) + DOIT.ConvertStringToNumber(_G.OBJs[nO][8])) / 12; if (_G.OBJs[nO][4] == "B4") price += _P.CCB * (DOIT.ConvertStringToNumber(_G.OBJs[nO][6]) + DOIT.ConvertStringToNumber(_G.OBJs[nO][8])) / 12; if (_G.OBJs[nO][4] == "B5") price += _P.CCB * (DOIT.ConvertStringToNumber(_G.OBJs[nO][6]) + DOIT.ConvertStringToNumber(_G.OBJs[nO][8])) / 12; if (_G.OBJs[nO][4] == "B9") price += _P.CCB * (DOIT.ConvertStringToNumber(_G.OBJs[nO][6]) + DOIT.ConvertStringToNumber(_G.OBJs[nO][8])) / 12; if (_G.OBJs[nO][4] == "B10") price += _P.CCB * (DOIT.ConvertStringToNumber(_G.OBJs[nO][6]) + DOIT.ConvertStringToNumber(_G.OBJs[nO][8])) / 12; if (_G.OBJs[nO][4] == "W2") price += _P.CCW * (DOIT.ConvertStringToNumber(_G.OBJs[nO][6]) + DOIT.ConvertStringToNumber(_G.OBJs[nO][8])) / 12; if (_G.OBJs[nO][4] == "W3") price += _P.CCW * (DOIT.ConvertStringToNumber(_G.OBJs[nO][6]) + DOIT.ConvertStringToNumber(_G.OBJs[nO][8])) / 12; if (_G.OBJs[nO][4] == "W4") price += _P.CCW * (DOIT.ConvertStringToNumber(_G.OBJs[nO][6]) + DOIT.ConvertStringToNumber(_G.OBJs[nO][8])) / 12; if (_G.OBJs[nO][4] == "W5") price += _P.CCW * (DOIT.ConvertStringToNumber(_G.OBJs[nO][6]) + DOIT.ConvertStringToNumber(_G.OBJs[nO][8])) / 12; if (_G.OBJs[nO][4] == "W9") price += _P.CCW * (DOIT.ConvertStringToNumber(_G.OBJs[nO][6]) + DOIT.ConvertStringToNumber(_G.OBJs[nO][8])) / 12; if (_G.OBJs[nO][4] == "W10") price += _P.CCW * (DOIT.ConvertStringToNumber(_G.OBJs[nO][6]) + DOIT.ConvertStringToNumber(_G.OBJs[nO][8])) / 12; return price; } public static string CalpriceToHere() { //_G.SM = "calcule"; CameraAround.Show(); _G.price = 0; float Price = 0; List CABSint = DOLIST.CABLISTint(); //DOORS foreach (int nO in CABSint) { Price += Caldoor(nO);// //print("Price door===" + Caldoor(nO)); } //CASES foreach (int nO in CABSint) { Price += Callength(nO); //print("Price door===" + Callength(nO)); } //KICKS /* Dictionary KICKdict = MakeList.KICKLISTQTY(); foreach (KeyValuePair pair in KICKdict) { float qty = Mathf.Ceil(pair.Value / _P.MKL); Price += _P.MK * qty; } //PANELS Dictionary PNLdict = MakeList.PNLLISTQTY(); foreach (KeyValuePair pair in PNLdict) { //Qty int IN_ = pair.Key.IndexOf("_"); int INM = pair.Key.IndexOf("/"); int SS=INM-IN_; string sizes = pair.Key.Substring(IN_ + 1, SS-1); int inW = sizes.IndexOf("W"); int inH = sizes.IndexOf("H"); int inD = sizes.IndexOf("D"); string Ds = sizes.Substring(inD + 1, sizes.Length - inD - 1); float D = DOIT.ConvertStringToNumber(Ds); float H = DOIT.ConvertStringToNumber(sizes.Substring(inH + 1, inD - inH - 1)); float Asq = D * H / 144; float priceU = _P.P12; float T = DOIT.ConvertStringToNumber(sizes.Substring(1, inH - 1)); if (T >= 0.5) priceU = _P.P12; if (T >= 0.625) priceU = _P.P58; if (T >= 0.75) priceU = _P.P34; if (T >= 1) priceU = _P.P1; if (T >= 1.5) priceU = _P.P112; if (T >= 2) priceU = _P.P2; Price += priceU * Asq; } //OGEE Dictionary OGEEdict = MakeList.OGEELISTQTY(); foreach (KeyValuePair pair in OGEEdict) { float qty = Mathf.Ceil(pair.Value / _P.MOL); Price += _P.MO * qty; } //UNDER Dictionary UNDERdict = MakeList.UNDERLISTQTY(); foreach (KeyValuePair pair in UNDERdict) { float qty = Mathf.Ceil(pair.Value / _P.MUL); Price += _P.MU * qty; } //HEAD Dictionary HEADdict = MakeList.HEADLISTQTY(); foreach (KeyValuePair pair in HEADdict) { float qty = Mathf.Ceil(pair.Value / _P.MHL); Price += _P.MH * qty; } //FILLER Dictionary FILLERdict = MakeList.FILLERQTY(); foreach (KeyValuePair pair in FILLERdict) { float qty = Mathf.Ceil(pair.Value / _P.FIL); Price += _P.FI * qty; } //OPTIONS if (_P.O1p != 0) { Price += _P.O1p * _P.O1q; } if (_P.O2p != 0) { Price += _P.O2p * _P.O2q; } if (_P.O3p != 0) { Price += _P.O3p * _P.O3q; } if (_P.O4p != 0) { Price += _P.O4p * _P.O4q; } if (_P.O5p != 0) { Price += _P.O5p * _P.O5q; }*/ _G.price += Price; _G.price *= 3; Camera.main.GetComponent().Hide(); return _G.price.ToString("F2") + "$"; } public static void CalpriceThis(int nO) { //DOOR float Price = 0; if (_G.OBJs[nO][2] == "Cabinet") { Price += Caldoor(nO) * 3; //CABINET Price += Callength(nO) * 3; _G.price += Price; //PANEL GameObject PNL = GameObject.Find("HIDER").transform.Find("CONTROL").gameObject; PNL.transform.Find("PRICE").gameObject.GetComponent().text = Price.ToString("C") + "$"; } } public static string CalpriceByItems(){ float pricetotal=0; //print("_G.StoreZone====="+_G.StoreZone); //_G.StoreZone="_1"; //Cabinet---------------------------------------------------- List CABSint = DOLIST.CABLISTint(); foreach (int nO in CABSint) { //print("_G.StoreZone===Cab====="+_G.StoreZone); //print("Price _G.OBJs[nO][61]====="+_G.OBJs[nO][61]);//Price _G.OBJs[nO][61]=====nodoor string Color_ID="nodoor"; if(_G.OBJs[nO][61]!="nodoor") {Color_ID=_G.OBJs[nO][61].Split("?")[1] ; } string PriceCode_ID= UIT.GetCabinetPriceID(_G.OBJs[nO][1],_G.OBJs[nO][61].Split("?")[0],Color_ID); //print("PriceCode_ID====="+PriceCode_ID); string Price = UIT.Value(Header.Price,PriceCode_ID,Header.Price +_G.StoreZone); if (Price != "N/A" && Price != _G.OBJs[nO][1]) pricetotal += DOIT.ConvertStringToNumber(Price); //print("Price from price===Cab====="+Price); //Check if panel is On cab------------------------------------------------------ string DoorUniqueName=UIT.Value(Library.Door,_G.OBJs[nO][61].Split("?")[0],Header.Unique_Name); string[] ListofSides=_G.OBJs[nO][81].Split("_"); foreach(string Recover in ListofSides) { if(Recover!="0"){ //print("Recover===="+Recover);//3?1?0.625 string[] code=Recover.Split("?"); Price=UIT.GetPanelPrice(code[0],code[1]).Replace("$","").Replace(" ",""); if(Price!="N/A" && Price!="")pricetotal += DOIT.ConvertStringToNumber(Price);// //print("Price from price===Panel on Cab====+"+Price); } } //DOORS------------------------------------------------------- //Check doors is On cab if(Get.PreferenceBool("CABINET_DOOR_RECIPE")) { //Get door recipe //"2XHH1830" if(_G.OBJs[nO][61]!="nodoor") { string DoorRecipe = UIT.Value(Library.Cabinet, _G.OBJs[nO][1], Header.Door_Recipe).Replace("X", "x"); string[] Door_recipe = DoorRecipe.Split("_"); //1XHH1530_1XHH1519 foreach(string Item in Door_recipe) { int Qty=int.Parse(Item.Split("x")[0]); PriceCode_ID=Item.Split("x")[1]+"-"+DoorUniqueName; Price=UIT.Value(Header.Price,PriceCode_ID,Header.Price +_G.StoreZone); if(Price!="N/A" && Price!="")pricetotal += DOIT.ConvertStringToNumber(Price)*Qty; print("Price from price===Door on Cab====+"+Price); } } } } //Panel------------------------------------------------------- List PANELint = DOLIST.PNLLISTinSCENE(); foreach (int nO in PANELint) { print("_G.OBJs[nO][61])==============="+_G.OBJs[nO][61]);//_G.OBJs[nO][61])===============?1 if(_G.OBJs[nO][61][..1]=="?")_G.OBJs[nO][61]="1"+_G.OBJs[nO][61]; string Price=UIT.GetPanelPrice(_G.OBJs[nO][1],_G.OBJs[nO][61]).Replace("$","").Replace(" ",""); if(Price!="N/A" && Price!="")pricetotal += DOIT.ConvertStringToNumber(Price);// } //Filler----------------------------------------------------- Dictionary FILLERdict = MakeList.FILLERQTY(CABSint); foreach (KeyValuePair pair in FILLERdict) { //From Panel List string Price = UIT.GetFillerPrice(pair.Key.Split('?')[0],pair.Key.Split('?')[1]).Replace("$","").Replace(" ",""); pricetotal += DOIT.ConvertStringToNumber(Price); } //Kick----------------------------------------------------- Dictionary KICKdict = MakeList.KICKLISTQTY(CABSint); foreach (KeyValuePair pair in KICKdict) { float Qty =pair.Value; Qty = Mathf.Ceil(Qty/96); string Price = UIT.GetMoldingPrice(pair.Key.Split('?')[0],pair.Key.Split('?')[1]).Replace("$","").Replace(" ",""); pricetotal += DOIT.ConvertStringToNumber(Price)*Qty; } //Items Added foreach (KeyValuePair pair in _G.LibraryItems) { float Qty =pair.Value; string UniquePrice=UIT.Value(Library.Price,pair.Key,Header.Price +_G.StoreZone);//GetItemPrice(pair.Key); float Pricetotal=DOIT.ConvertStringToNumber(UniquePrice)*Qty; Pricetotal=Mathf.Round(Pricetotal * 100f) / 100f; pricetotal+=Pricetotal; } return pricetotal.ToString("F2")+"$"; } }