示例#1
0
        private static void GenerateCSV(string filePath, string fileName)
        {
            string fullFilePath = filePath + fileName;

            if (!Directory.Exists(filePath))
                Directory.CreateDirectory(filePath);

            if (File.Exists(fullFilePath))
                File.Delete(fullFilePath);

            Path.Combine(filePath, fileName);

            Horse horse = new Horse();
            StreamWriter writer = new StreamWriter(fullFilePath);
            writer.Write("Type,");
            writer.Write("AIType,");
            writer.Write("Weapon,");
            writer.Write("VirtualArmor,");
            writer.Write("DamageMin,");
            writer.Write("DamageMax,");
            writer.Write("Fame,");
            writer.Write("Karma,");
            writer.Write("FightMode,");
            writer.Write("RangePerception,");
            writer.Write("RangeFight,");
            writer.Write("ActiveSpeed,");
            writer.Write("PassiveSpeed,");
            writer.Write("Str,");
            writer.Write("Dex,");
            writer.Write("Int,");
            writer.Write("HitsMax,");
            writer.Write("StamMax,");
            writer.Write("ManaMax,");
            for (int i=0; i<horse.Skills.Length; i++)
            {
                writer.Write("{0},", horse.Skills[i].Name);
            }
            horse.Delete();

            foreach (Type t in m_BaseCreatures)
            {
                try
                {
                    object creatureObj = Activator.CreateInstance(t);
                    BaseCreature bc = creatureObj as BaseCreature;

                    writer.WriteLine();
                    writer.Write("{0},", t.Name);
                    writer.Write("{0},", bc.AI);
                    writer.Write("{0},", bc.Weapon.GetType().BaseType == null ? bc.Weapon.GetType().Name : bc.Weapon.GetType().BaseType.Name);
                    writer.Write("{0},", bc.VirtualArmor);
                    writer.Write("{0},", bc.DamageMin);
                    writer.Write("{0},", bc.DamageMax);
                    writer.Write("{0},", bc.Fame);
                    writer.Write("{0},", bc.Karma);
                    writer.Write("{0},", bc.FightMode);
                    writer.Write("{0},", bc.RangePerception);
                    writer.Write("{0},", bc.RangeFight);
                    writer.Write("{0},", bc.ActiveSpeed);
                    writer.Write("{0},", bc.PassiveSpeed);
                    writer.Write("{0},", bc.Str);
                    writer.Write("{0},", bc.Dex);
                    writer.Write("{0},", bc.Int);
                    writer.Write("{0},", bc.HitsMax);
                    writer.Write("{0},", bc.StamMax);
                    writer.Write("{0},", bc.ManaMax);
                    for (int i = 0; i < bc.Skills.Length; i++)
                    {
                        writer.Write(bc.Skills[i].Value + ",");
                    }
                    bc.Delete();
                }
                catch {
                    //Console.WriteLine(e);
                }
            }
            writer.Close();
        }