예제 #1
0
        public static void PrintStats(PlayerType player)
        {
            List <string> outputText = new List <string>();
            string        tmpValue   = string.Empty;
            string        tmpName    = string.Empty;

            FieldInfo[] fi = typeof(PlayerType).GetFields(BindingFlags.Public | BindingFlags.Instance);

            foreach (FieldInfo info in fi)
            {
                string tmpType = info.FieldType.Name;
                object tmpData = info.GetValue(player);

                switch (tmpType)
                {
                case "Char[]":
                    tmpValue = BtrieveUtility.ConvertToString((char[])tmpData);
                    break;

                case "Int32[]":
                    tmpValue = BtrieveUtility.ConvertIntArrayToStringArray((int[])tmpData);
                    break;

                case "Int16[]":
                    tmpValue = BtrieveUtility.ConvertIntArrayToStringArray((short[])tmpData);
                    break;

                case "Byte[]":
                    tmpValue = BtrieveUtility.ConvertIntArrayToStringArray((byte[])tmpData);
                    break;

                default:
                    tmpValue = info.GetValue(player).ToString();
                    break;
                }

                Console.WriteLine("{0}, {1}", info.Name, tmpValue);
            }
        }