private List <MissionText> GetMissionTexts(string path)
        {
            var missionTexts = new List <MissionText>();
            var dirInfo      = new DirectoryInfo(path);

            foreach (var file in dirInfo.EnumerateFiles())
            {
                using (var reader = new StreamReader(file.FullName))
                {
                    var contents    = reader.ReadToEnd().Split(Environment.NewLine);
                    var missionText = MissionText.Parse(file.Name, contents);
                    missionTexts.Add(missionText);
                }
            }

            var campaigns  = missionTexts.Where(text => text is MissionTextCampaign).Cast <MissionTextCampaign>().ToList();
            var situations = missionTexts.Where(text => text is MissionTextSituation).Cast <MissionTextSituation>().ToList();

            foreach (var campaign in campaigns)
            {
                var fileNumber = int.Parse(campaign.FileName.Substring(1, 2));
                for (var i = fileNumber + 1; i < fileNumber + 9; i++)
                {
                    var fileName = $"C{i}.TXT";
                    var file     = situations.Single(f => f.FileName == fileName);
                    campaign.Situations.Add(file);
                    missionTexts.Remove(file);
                }
            }
            return(missionTexts);
        }
Пример #2
0
        static void Main(string[] args)
        {
            System.Console.WriteLine("Starting...");
            var dirInfo      = new DirectoryInfo(@"C:\temp\apache_texts\texts");
            var missionTexts = new List <MissionText>();

            foreach (var file in dirInfo.EnumerateFiles())
            {
                using (var reader = new StreamReader(file.FullName))
                {
                    var contents    = reader.ReadToEnd().Split(Environment.NewLine);
                    var missionText = MissionText.Parse(file.Name, contents);
                    missionTexts.Add(missionText);
                }
            }

            missionTexts = missionTexts.Where(t => t.Labels.Any()).ToList();

            MissionTextStatistics.PrintStatistics(missionTexts, System.Console.WriteLine);

            foreach (var missionText in missionTexts)
            {
                System.Console.WriteLine(missionText.ToString());
            }
        }
Пример #3
0
 // Start is called before the first frame update
 void Awake()
 {
     InputText = FindObjectOfType <CommandLineField>();
     Console   = FindObjectOfType <ConsoleText>();
     Missions  = FindObjectOfType <MissionText>();
     Money     = FindObjectOfType <MoneyText>();
     Computer  = new InitialComputer();
 }
Пример #4
0
    private void Update()
    {
        float showClearPanelDelay = 0.15f;

        if (isPlayer)
        {
            MissionText.GetComponent <Text>().color = Color.green;

            GoldBoxAnim();
            Invoke(nameof(ShowClearPanel), showClearPanelDelay);
        }
    }
        public static void PrintStatistics(List <MissionText> missionTexts, StreamWriter writer)
        {
            var grouping = missionTexts.GroupBy(g => g.Labels.Count);

            foreach (var part in grouping)
            {
                writer.WriteLine($"{part.Count()} files have {part.Key} labels");
                var texts    = part.AsEnumerable().ToList();
                var areEqual = MissionText.AreEqual(texts);
                writer.WriteLine($"All texts have the same labels: {areEqual}");
                writer.WriteLine($"All labels: {GetAllLabels(texts)}");
                if (!areEqual)
                {
                    writer.WriteLine($"The common labels are: {GetCommonLabels(texts.ToList())}");
                }

                writer.WriteLine();
            }
        }
Пример #6
0
 private ViewResult GetDetailsView(MissionText file)
 {
     return(View(file.GetType().Name, file));
 }