public void CompareTexturesToColor() { // get chosen color to to compare globalColorToCompare = colorDisk.pointer.GetComponentInChildren <Image>().color; // methods library ColorLibrary library = new ColorLibrary(); // array of difference float[] differenceIntensity = new float[allImages.image.Length]; // compare all images according to HSV method for (int i = 0; i < allImages.image.Length; i++) { float totalDifference = 0; Color32[] histogramOfTexture = histogramGenerator.CreateHistogram(allImages.image[i]); for (int c = 0; c < histogramOfTexture.Length; c++) { totalDifference += (histogramOfTexture.Length - c) * library.DifferenceValueLAB(globalColorToCompare, histogramOfTexture[c]); } totalDifference /= histogramOfTexture.Length * (histogramOfTexture.Length + 1) / 2; differenceIntensity[i] = totalDifference; } Array.Sort(differenceIntensity, allImages.image); }
// Use this for initialization void Awake() { if (colorLib == null) { colorLib = this; } else if (colorLib != this) { Destroy(gameObject); } }
/// <summary> /// Description : Get type from string /// </summary> /// <param name="pColorLibrary"></param> /// <returns></returns> public Type GetEnum(ColorLibrary pColorLibrary) { if (false == IsExist(pColorLibrary)) { return(null); } ColorModel lColorModel = GetColorModel(pColorLibrary); Type lResult = GetEnumType(lColorModel.GetEnum()); return(lResult); }
/// <summary> /// Description : The library exist in the enum list /// </summary> /// <param name="pColorLibrary"></param> /// <returns></returns> public bool IsExist(ColorLibrary pColorLibrary) { bool lResult = false; foreach (ColorModel lColorModel in GetColorModels()) { if (lColorModel.GetColorLibrary() == pColorLibrary) { lResult = true; } } return(lResult); }
/// <summary> /// Description : return a image model from a color library /// </summary> /// <param name="pColorLibrary"></param> /// <returns></returns> private ColorModel GetColorModel(ColorLibrary pColorLibrary) { ColorModel lResult = null; foreach (ColorModel lColorModel in GetColorModels()) { if (lColorModel.GetColorLibrary() == pColorLibrary) { lResult = lColorModel; } } return(lResult); }
public override void OnInspectorGUI() { serializedObject.Update(); EditorGUILayout.LabelField("COLOR EXTENSION"); EditorGUILayout.LabelField("This extension can allow to get a color from an Color Library"); _enumLibrary = serializedObject.FindProperty("_enumLibrary"); _colorLibrary = serializedObject.FindProperty("_colorLibrary"); _keyType = serializedObject.FindProperty("_keyType"); _enumIndex = serializedObject.FindProperty("_enumIndex"); _enumChoice = serializedObject.FindProperty("_enumChoice"); EditorGUILayout.Space(10); DisplaySpriteData(); // Sprite Data is set if (true == IsConditionsOK()) { EnumLibrary lEnumLibrary = (EnumLibrary)_enumLibrary.objectReferenceValue; ColorLibrary lColorLibrary = (ColorLibrary)_colorLibrary.objectReferenceValue; if (true == lEnumLibrary.IsExist(lColorLibrary)) { EditorGUILayout.BeginHorizontal(); DisplayEnum(); EditorGUILayout.EndHorizontal(); } else { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("This library is not in the enum library, please verify your data", _warningInfos); EditorGUILayout.EndHorizontal(); } } EditorGUILayout.Space(10); // Apply modifications serializedObject.ApplyModifiedProperties(); }
public static List <LEDStructure> GetLED(int chain, int x, int y, string text) { List <LEDStructure> a = new List <LEDStructure>(); string[] il = MainProjectLoader.SplitByLine(text); for (int i = 0; i < il.Length; i++) { string[] sp = il[i].Split(' '); if (string.IsNullOrWhiteSpace(il[i]) == true) { continue; } switch (sp[0]) { case "o": case "on": int x_ = 0; int y_ = int.Parse(sp[2]); int velocity = 0; Color color = Color.gray; if (sp[1] == "mc") { x_ = -1; } else { x_ = int.Parse(sp[1]); } if ((sp[3] == "a" || sp[3] == "auto") && int.TryParse(sp[4], out velocity) == true) { ColorUtility.TryParseHtmlString("#" + ColorLibrary.Velo2HTML(velocity), out color); } a.Add(new LEDStructure(x_, y_, color, velocity, false, chain, x, y)); break; case "f": case "off": x_ = 0; y_ = int.Parse(sp[2]); if (sp[1] == "mc") { x_ = -1; } else { x_ = int.Parse(sp[1]); } a.Add(new LEDStructure(x_, y_, chain, x, y)); break; case "d": case "delay": int delay = int.Parse(sp[1]); a.Add(new LEDStructure(delay, chain, x, y)); break; } } return(a); }
/// <summary> /// Description : Displau Color Models /// </summary> private void DisplayColorModels() { // Color MODEL EditorGUILayout.LabelField("COLOR MODEL", EditorStyles.boldLabel); _listCount = _colorsModels.arraySize; for (int i = 0; i < _listCount; i++) { SerializedProperty lColorModel = _colorsModels.GetArrayElementAtIndex(i); SerializedProperty lColorLibrary = lColorModel.FindPropertyRelative("_colorLibrary"); SerializedProperty lEnumIndex = lColorModel.FindPropertyRelative("_index"); lColorModel.isExpanded = EditorGUILayout.Foldout(lColorModel.isExpanded, new GUIContent("Color Model " + i)); if (lColorModel.isExpanded) { EditorGUILayout.BeginHorizontal(); lColorLibrary.objectReferenceValue = (ColorLibrary)EditorGUILayout.ObjectField(lColorLibrary.objectReferenceValue, typeof(ColorLibrary), false); EditorGUILayout.EndHorizontal(); if (lColorLibrary.objectReferenceValue != null) { ColorLibrary lColor = (ColorLibrary)lColorLibrary.objectReferenceValue; if (lColor.GetKeyType() == 1) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Enum Path"); string[] lEnumList = _manager.GetAllEnums().ToArray(); lEnumIndex.intValue = EditorGUILayout.Popup(lEnumIndex.intValue, lEnumList); string lEnumName = _manager.GetEnumName(lEnumIndex.intValue); _manager.GetColorModels()[i].SetEnum(lEnumName); EditorGUILayout.EndHorizontal(); if (false == lColor.IsEnumEqual(_manager.GetEnumType(lEnumName))) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("THE ENUM IS NOT THE RIGHT ONE, Are you sure to use this one ?", _warningInfos); EditorGUILayout.EndHorizontal(); } } } EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Delete")) { if (EditorUtility.DisplayDialog("Warning", "Are you sure to delete this enum?", "Yes", "No")) { lColorModel.isExpanded = false; _colorsModels.DeleteArrayElementAtIndex(i); break; } } EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(5); } } }
/// <summary> /// Description : set the color library of the model /// </summary> /// <returns></returns> public void SetColorLibrary(ColorLibrary pColoribrary) { _colorLibrary = pColoribrary; }
public ColorModel(string pEnum, ColorLibrary pColorLibrary, int pIndex) { SetEnum(pEnum); SetColorLibrary(pColorLibrary); SetIndex(pIndex); }