using System; using System.Collections.Generic; using UnityEngine; /// /// Represents different paths for loading library, Can be set in hierarchy in MenuScript Component :key. /// public enum Paths { Ukitchenit, Free, Free_Test, Test, Template, Bain_Depot, Kab_Solution, Kwizine, Kitchens_Depot, Armoire_Depot, BMR, RONA, Collection_Elite, KENT, HomeHardware, LAMINAM, CANAC, Cabinets_ToGo, Saint_Laurent, NULL } public static class Pref { public const string GLOBAL_QTY = "GLOBAL_QTY", DOOR_SELECT="DOOR_SELECT", KICK_HEIGHT="KICK_HEIGHT", ALLOW_KICK_RETRACTION="ALLOW_KICK_RETRACTION", ROTATION_ANGLE="ROTATION_ANGLE", COUNTER_HEIGHT="COUNTER_HEIGHT", COUNTER_FRONT_PROJECTION="COUNTER_FRONT_PROJECTION", COUNTER_ON_MESURE="COUNTER_ON_MESURE", FILLER_ON_MESURE="FILLER_ON_MESURE", CAB_FROM_CEILING="CAB_FROM_CEILING", INTERIOR_SELECT="INTERIOR_SELECT", EXTERIOR_SELECT=" EXTERIOR_SELECT", KICK_SELECT="KICK_SELECT", OGEE_SELECT="OGEE_SELECT", FACIA_SELECT="FACIA_SELECT", CORNICE_SELECT="CORNICE_SELECT", VALANCE_SELECT="VALANCE_SELECT", ALLOW_SUSPENDED="ALLOW_SUSPENDED", ALLOW_LEG_ONLY="ALLOW_LEG_ONLY", ALLOW_KICK_ONLY="ALLOW_KICK_ONLY", ALLOW_KICK_LEG="ALLOW_KICK_LEG", ALLOW_RETRACTION="ALLOW_RETRACTION", RETRACTION_STD="RETRACTION_STD", ALLOW_SIDE_OVER="ALLOW_SIDE_OVER", ALLOW_SIDE_NOTCH="ALLOW_SIDE_NOTCH", ALLOW_SIDE_STD="ALLOW_SIDE_STD", ALLOW_RECOVER_OVER="ALLOW_RECOVER_OVER", ALLOW_RECOVER_NOTCH="ALLOW_RECOVER_NOTCH", ALLOW_RECOVER_STD="ALLOW_RECOVER_STD", ALLOW_RESIZE_CABINET="ALLOW_RESIZE_CABINET", DOOR_GAP="DOOR_GAP", BASE_HEIGHT="BASE_HEIGHT", WALL_HEIGHT="WALL_HEIGHT", TALL_HEIGHT="TALL_HEIGHT", BASE_DEPTH="BASE_DEPTH", WALL_DEPTH="WALL_DEPTH", TALL_DEPTH="TALL_DEPTH", CAB_CREATOR="CAB_CREATOR=", ALLOW_EDIT_KICK="ALLOW_EDIT_KICK", ALLOW_EDIT_SIDE="ALLOW_EDIT_SIDE", ALLOW_EDIT_RECOVER="ALLOW_EDIT_RECOVER", ALLOW_EDIT_DOOR="ALLOW_EDIT_DOOR", ALLOW_EDIT_OGEE="", ALLOW_EDIT_FASCIA="ALLOW_EDIT_OGEE", ALLOW_EDIT_VALANCE="ALLOW_EDIT_VALANCE", MEASURE_METRIC="MEASURE_METRIC", MEASURE_IMPERIAL="MEASURE_IMPERIAL", SHOPIFY="SHOPIFY", SHOW_PRICE="SHOW_PRICE", MAGENTO="MAGENTO"; } /// /// Represents different paths for loading library, Can be set in hierarchy in MenuScript Component :key. /// public enum Files { BRICKList, CABINETList, CABTEXTUREList, CERAMICList, CORNICEList, COUNTERList, DOORList, FACIAList, FILLERList, GLOBALSTARTList, INTTEXTUREList, KICKList, KNOBList, OGEEList, PANELList, PREFERENCESList, SOFTCOLORList, SPLASHList, USERList, VALANCEList, WOODList, DOORMODELList, PRICEList } public static class Library { public const string CabTexture = "CabTexture", BoxTexture = "BoxTexture", Door="Door", Cabinet="Cabinet", Panel="Panel", Ogee="Ogee", Fascia="Facia", Cornice="Cornice", Valance="Valence", Kick="Kick", Filler="Filler", Molding="Molding", GlobalStart="GlobalStart", Price="Price", Store="Store", Items="Items"; } public static class Header { public const string Texture = "Texture", ID = "ID", A = "A", B = "B", C = "C", D = "D", K = "K", BA = "BA", L1 = "L1", L2 = "L2", L3 = "L3", Suplier = "Suplier", Finish = "Finish", Contrast = "Contrast", C1 = "C1", C2 = "C2", C3 = "C3", Library = "Library", Wide = "Wide", Height = "Height", Thick = "Thick", Cthick = "Cthick", Slat = "Slat", Edges = "Edges", E_H = "E_H", E_V = "E_V", IEdges = "IEdges", Rot = "Rot", Model = "Model", //Side_Recipe="Side_Recipe", Name_ID = "Name_ID", Address = "Address", Email = "Email", Phone = "Phone", Ext_Finish = "Ext_Finish", Int_Finish = "Int_Finish", Side_Panel = "Side_Panel", Unique_Name = "Unique_Name", ColorID = "ColorID", Color_ID = "Color_ID", Depth = "Depth", Category = "Category", Door = "Door", Door_Recipe = "Door_Recipe", Kick = "Kick", Int = "Int", Ext = "Ext", Ogee = "Ogee", Cornice = "Cornice", Fascia = "Fascia", Valance = "Valance", Splash = "Splash", Counter = "Counter", KnobV = "KnobV", KnobH = "KnobH", Shelf = "Shelf", Cab_Image = "Cab_Image", Library_Name = "Library_Name", Sub_Category = "Sub_Category", Pattern_Door_1 = "Pattern_Door_1", Pattern_Door_2 = "Pattern_Door_2", Flip = "Flip", Sink = "Sink", FV1 = "FV1", FV2 = "FV2", Cutout = "Cutout", Tambour = "Tambour", Glass = "Glass", K_Model = "K_Model", R_Code = "R_Code", K_Code = "K_Code", C_Code = "C_Code", Option1 = "Option1", Option2 = "Option2", Option3 = "Option13", FF = "FF", Cabinet_ID = "Cabinet_ID", Door_ID = "Door_ID", Ecommerce_ID = "Ecommerce_ID", Price = "Price", Code_ID = "Code_ID", Variant_ID = "Variant_ID", //Door_Selection="Door_Selection", Town = "Town", Store_Name = "Store_Name", Store_Zone = "Store_Zone", Rotation = "Rotation", Box_finish = "Box_finish", FW = "FW", Substitute = "Substitute", Group = "Group", end = "end"; } /// /// Represents different camera views for Plan2D. /// public enum CameraViews { Default = 0, Top, Front, Back, Right, Left } /// /// Represents different measurement systems. /// /// public enum VisualElementUI { Filters, Sub_Filters, Models, TextureColors } public enum MeasurementSystems { Metric, Imperial, } /// /// Represents different types of objects category for Plan2D. /// public enum ObjectTypes { Wall, IslandWall, FloorObject, WallObject, StructuralElements, IslandObject, Floor, WallLines, WallThickness, CabOverlay, Debug, Null, } /// /// Represents different modes of a scene. /// public enum SceneModes { Start, Panel, Install, InstallOnCab, SnapOn, Navigate, Calcule, Plan2D, ZoomTouch, ShowTips, Paint, Align, Measure, GroupMove, Follow, ReadyMove, Hit, Move, MouseOut, Button, Ceramic, CounterView, Duplicate, MoveHandle, RotationHandle, SlidingHandle, EditingHandle, CopyingDoor, Cathedral, Ai } public enum CamSettings { Front, Top, Ortho, Plan2D, Focus } /// /// Represents different headers for a CSV file. /// public enum CsvHeaders { A_Max, A_Min, A_Value, Allow_Sink, Are_Sides_Finished, B_Max, B_Min, B_Value, Bump, C_Max, C_Min, C_Value, Category, Cab_Category, Cab_Category_Long, Cab_Image, Cab_Sub_Category, Code, Color, Color_1, Color_2, Color_3, Contrast, Counter_Height, Counter_List, Counter_On_Size, Counter_Projection, Cutout_Edges, D_Max, D_Min, D_Value, Description_Language_1, Description_Language_2, Description_Language_3, Distance_From_Floor_Default, Door_Edge_Side, Door_Edge_Top, Door_Gap, Door_Model, Door_Texture, Door_Thickness, Door_Thin_Max_Wide, Drawer_Edge_Side, Drawer_Edge_Top, Drawer_Max_Height, Drawer_Model, Drawer_Texture, E_Max, E_Min, E_Value, Exterior_Finish_Recipe, F_Max, F_Min, F_Value, Filler_On_Size, Finish, Flip, Fix_Variable_Door_Pattern_1, Fix_Variable_Door_Pattern_2, Glass_Edges, Header, Insert_Height, Intensity, Is_Projection_Shelve_Round, Is_Suspended, Is_Under_Finished, Kick_Depth, Kick_Height, K_Value, Language, Language_1, Language_2, Language_3, Library_Name, Model, Model_Name, Model_Name_Private, Material, Member, Metalness, Normal_Strength, Normal_Toggle, Pattern_Door_1, Pattern_Door_2, Rotation, Rotation_Text_Center_1, Rotation_Text_Center_2, Rotation_Text_Center_3, Rotation_Text_Side_1, Rotation_Text_Side_2, Rotation_Text_Side_3, Rotation_Text_Top_1, Rotation_Text_Top_2, Rotation_Text_Top_3, Shadow, Shelve_Projection, Sub_Filter_Language_1, Sub_Filter_Language_2, Sub_Filter_Language_3, Supplier, Tambour_Edges, Texture, Thin_Edge_Side, Thin_Edge_Top, Thin_Model, Thin_Texture, Tile, Unique_Name, Unique_Name_Private, NULL, Email, Time, Date, Selection, ID, Language_1_Private, Language_2_Private, Language_3_Private, Saturation, Color_Private, Sub_Filter_Language_1_Private, Sub_Filter_Language_2_Private, Sub_Filter_Language_3_Private, Description_Language_1_Private, Description_Language_2_Private, Description_Language_3_Private, Door_Models, Door_Textures, Rotation_Text_Top, Rotation_Text_Center, Rotation_Text_Side, Edge_Top, Edge_Side, Color_ID, G_Door, G_Kick, G_Int, G_Ext, G_Ogee, G_Cornice, G_Facia, G_Valance, G_Backsplash, G_Counter, G_KnobVertical, G_KnobHorizontal, Bar_Color, Bar_Alpha, Button_Color, Button_Alpha, Icon_Color, Icon_Alpha, Text_Color, Text_Alpha, Background_Color, Background_Alpha, Image_Icon, Wide, Height, Thickness, Match, Center_To_Center, FBX, X, Y, Z, Normal, Special, Client, Model_ID, Supplier_Private, Sub_Filter_Language, Description_Language, Supplier_ID } public enum ColorCode { White_Gloss, Black_Gloss, Grey_Gloss, Red_Gloss, Gold_Gloss, White_Metal, Black_Metal, Grey_Metal, Red_Metal, Gold_Metal, Brass_Metal, Copper_Metal, White_Matt, Black_Matt, Grey_Matt, Red_Matt, Gold_GMatt } public enum DataTypes { Cabinet, IntTexture, CabTexture, Counter, Panel, Knob, Door, Ogee, Cornice, Fascia, Valance, Kick, Filler, NULL } [Flags] public enum Preference{ GLOBAL_QTY, DOOR_SELECT, KICK_HEIGHT, KICK_FRONT_RETRACTION, KICK_SIDE_RETRACTION, ROTATION_ANGLE, COUNTER_HEIGHT, COUNTER_PROJECTION, COUNTER_ON_MESURE, FILLER_ON_MESURE, CAB_FROM_CEILING, INTERIOR_SELECT, EXTERIOR_SELECT, KICK_SELECT, OGEE_SELECT, FACIA_SELECT, CORNICE_SELECT, VALANCE_SELECT, ALLOW_SUSPENDED, ALLOW_LEG_ONLY, ALLOW_KICK_ONLY, ALLOW_KICK_LEG, ALLOW_RETRACTION, ETRACTION_STD, ALLOW_SIDE_OVER, ALLOW_SIDE_NOTCH, ALLOW_SIDE_STD, ALLOW_RECOVER_OVER, LLOW_RECOVER_NOTCH, ALLOW_RECOVER_STD, ALLOW_RESIZE_CABINET, DOOR_GAP, BASE_HEIGHT, WALL_HEIGHT, TALL_HEIGHT, BASE_DEPTH, WALL_DEPTH, ALL_DEPTH, CAB_CREATOR } class Define { public static CsvHeaders GetHeaderByValue(string value) { if (Enum.TryParse(value, out CsvHeaders header)) { return header; } Debug.Log($"Header '{value}' not found in CsvHeaders enum."); return CsvHeaders.NULL; // Return a default value or handle the case when the value is not found } public static DataTypes GetDataTypeByValue(string value) { if (Enum.TryParse(value, out DataTypes type)) { return type; } Debug.Log($"type '{value}' not found in DataTypes enum."); return DataTypes.NULL; // Return a default value or handle the case when the value is not found } public static Dictionary UIElementCategory = new() { { VisualElementUI.Filters, "FILTERS" }, { VisualElementUI.Sub_Filters, "SUB_FILTERS" }, { VisualElementUI.Models, "MODELS" }, { VisualElementUI.TextureColors, "TEXTCOL" } }; } public enum GlobalOption { //DOORCAB_0, INTPNL_1, EXTPNL_2, KICK_3, FACIA_4, OGEE_5, VALA_6, KNOB_7, COUN_8, SPLA_9, KNOBT_10, OPTIONSRECIPE_11 Door,Int,Ext,Kick,Fascia,Ogee,Valance,KnobV,Counter,Splash,KnobH }