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
}