public DeviceSettings(DEVICE_INDEX device) { SelectedDevice = device; ColorMatrix = new COLOR_MATRIX(); KeyColorAll = new KEY_COLOR(); SelectedEffect = EFF_INDEX.EFF_FULL_ON; // Default to Full On int maxLEDRow = SDK.MAX_LED_ROW; int maxLEDColumn = SDK.MAX_LED_COLUMN; KEY_COLOR[][] keyColors = new KEY_COLOR[maxLEDRow][]; for (int i = 0; i < keyColors.Length; i++) { keyColors[i] = new KEY_COLOR[maxLEDColumn]; } for (int i = 0; i < keyColors.Length; i++) { for (int j = 0; j < keyColors[i].Length; j++) { keyColors[i][j] = new KEY_COLOR(0, 0, 0); } } ColorMatrix.KeyColor = keyColors; }
// 타입명으로 열쇠 컬러를 가져온다. public static KEY_COLOR getColorFromTypeName(string type_name) { KEY_COLOR color = KEY_COLOR.NONE; do { if (!type_name.StartsWith("key")) { break; } string color_string = type_name.Substring(3, 2); int color_int; if (!int.TryParse(color_string, out color_int)) { break; } color = (KEY_COLOR)color_int; } while(false); return(color); }
// 열쇠의 인스턴스 이름 얻기. public static string getInstanceName(KEY_COLOR color, Map.RoomIndex room_index) { string instance_name = Key.getTypeName(color) + "_" + room_index.x.ToString() + room_index.z.ToString(); return(instance_name); }
// 열쇠 타입명(플레이어 이름)을 얻는다. public static string getTypeName(KEY_COLOR color) { string type_name = "key" + ((int)color).ToString("D2"); return(type_name); }