kopia lustrzana https://github.com/dl2alf/AirScout
				
				
				
			
		
			
				
	
	
		
			128 wiersze
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			128 wiersze
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C#
		
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.Linq;
 | |
| using System.Text;
 | |
| using ScoutBase.Core;
 | |
| using System.Reflection;
 | |
| 
 | |
| namespace AirScout.Core
 | |
| {
 | |
|     public enum PLANECATEGORY
 | |
|     {
 | |
|         [StringCustomAttribute("None")]
 | |
|         NONE = 0,
 | |
|         [StringCustomAttribute("Light")]
 | |
|         LIGHT = 1,
 | |
|         [StringCustomAttribute("Medium")]
 | |
|         MEDIUM = 2,
 | |
|         [StringCustomAttribute("Heavy")]
 | |
|         HEAVY = 3,
 | |
|         [StringCustomAttribute("Superheavy")]
 | |
|         SUPERHEAVY = 4,
 | |
|     }
 | |
| 
 | |
|     public static class PlaneCategories
 | |
|     {
 | |
|         public static string GetName(PLANECATEGORY cat)
 | |
|         {
 | |
|             return Enum.GetName(typeof(PLANECATEGORY), cat);
 | |
|         }
 | |
| 
 | |
|         public static string[] GetNames()
 | |
|         {
 | |
|             return Enum.GetNames(typeof(PLANECATEGORY));
 | |
|         }
 | |
| 
 | |
|         public static string[] GetNamesExceptNone()
 | |
|         {
 | |
|             PLANECATEGORY[] bandsexceptnone = GetValuesExceptNone();
 | |
|             string[] namesexceptnone = new string[bandsexceptnone.Length];
 | |
|             for (int i = 0; i < bandsexceptnone.Length; i++)
 | |
|                 namesexceptnone[i] = GetName(bandsexceptnone[i]);
 | |
|             return namesexceptnone;
 | |
|         }
 | |
| 
 | |
|         public static PLANECATEGORY[] GetValues()
 | |
|         {
 | |
|             return (PLANECATEGORY[])Enum.GetValues(typeof(PLANECATEGORY));
 | |
|         }
 | |
| 
 | |
|         public static PLANECATEGORY[] GetValuesExceptNone()
 | |
|         {
 | |
|             PLANECATEGORY[] cats = (PLANECATEGORY[])Enum.GetValues(typeof(PLANECATEGORY));
 | |
|             PLANECATEGORY[] catsexceptnone = new PLANECATEGORY[cats.Length - 1];
 | |
|             int i = 0;
 | |
|             foreach (PLANECATEGORY cat in cats)
 | |
|             {
 | |
|                 if (cat != PLANECATEGORY.NONE)
 | |
|                 {
 | |
|                     catsexceptnone[i] = cat;
 | |
|                     i++;
 | |
|                 }
 | |
|             }
 | |
|             return catsexceptnone;
 | |
|         }
 | |
| 
 | |
|         public static string GetStringValue(PLANECATEGORY cat)
 | |
|         {
 | |
|             string output = null;
 | |
|             FieldInfo fi = typeof(PLANECATEGORY).GetField(cat.ToString());
 | |
|             StringCustomAttribute[] attrs = fi.GetCustomAttributes(typeof(StringCustomAttribute), false) as StringCustomAttribute[];
 | |
|             if (attrs.Length > 0)
 | |
|             {
 | |
|                 output = attrs[0].Value;
 | |
|             }
 | |
|             return output;
 | |
|         }
 | |
| 
 | |
|         public static string GetShortStringValue (PLANECATEGORY cat)
 | |
|         {
 | |
|             string output = null;
 | |
|             FieldInfo fi = typeof(PLANECATEGORY).GetField(cat.ToString());
 | |
|             StringCustomAttribute[] attrs = fi.GetCustomAttributes(typeof(StringCustomAttribute), false) as StringCustomAttribute[];
 | |
|             if (attrs.Length > 0)
 | |
|             {
 | |
|                 output = attrs[0].Value.Substring(0, 1).ToUpper();
 | |
|             }
 | |
|             return output;
 | |
|         }
 | |
| 
 | |
|         public static string[] GetStringValues()
 | |
|         {
 | |
|             List<string> cats = new List<string>();
 | |
|             foreach (PLANECATEGORY cat in Enum.GetValues(typeof(PLANECATEGORY)))
 | |
|             {
 | |
|                 cats.Add(GetStringValue(cat));
 | |
|             }
 | |
|             if (cats.Count > 0)
 | |
|                 return cats.ToArray();
 | |
|             return null;
 | |
|         }
 | |
| 
 | |
|         public static string[] GetStringValuesExceptNone()
 | |
|         {
 | |
|             List<string> cats = new List<string>();
 | |
|             foreach (PLANECATEGORY cat in Enum.GetValues(typeof(PLANECATEGORY)))
 | |
|             {
 | |
|                 if (cat != PLANECATEGORY.NONE)
 | |
|                     cats.Add(GetStringValue(cat));
 | |
|             }
 | |
|             if (cats.Count > 0)
 | |
|                 return cats.ToArray();
 | |
|             return null;
 | |
|         }
 | |
| 
 | |
|         public static PLANECATEGORY ParseStringValue(string catstr)
 | |
|         {
 | |
|             foreach (PLANECATEGORY c in PlaneCategories.GetValuesExceptNone())
 | |
|             {
 | |
|                 if (PlaneCategories.GetStringValue(c) == catstr)
 | |
|                     return c;
 | |
| 
 | |
|             }
 | |
|             return PLANECATEGORY.NONE;
 | |
|         }
 | |
| 
 | |
|     }
 | |
| }
 |