Esempio n. 1
0
        public MainWindow()
        {
            InitializeComponent();

            #region setclass

            CVisibilityPanels cVisibilityPanels = new CVisibilityPanels(new List <UIElement>
            {
                PanelDButtonVolume, Test
            }, Test);
            DTimeSliderPanel.GetSlider().ValueChanged += MainWindow_ValueChanged;

            controlsMouseUpAndDown = new ControlsMouseUpAndDown(DVolumeSliderpanel);


            #endregion


            this.Loaded += (o, e) =>
            {
                if (SystemIO.isValid(fileUpdate.path))
                {
                    settring = serializer.Deserialize(SystemIO.Read(fileUpdate.path));

                    DVolumeSliderpanel.Value = settring.Volume;
                    this.SetSize(settring.WindowSize);
                }
                else
                {
                    DVolumeSliderpanel.Value = settring.Volume;


                    Save(); //------------
                }

                soundEngine.Volume = (float)DVolumeSliderpanel.Value / 100;
                PanelDButtonVolume.SetIconVolume((float)DVolumeSliderpanel.Value);
                new WinResize(this).RightDown(Border_ResizeWindow);

                if (SystemIO.isValid(SOUND_LIST_ALL.path))
                {
                    try
                    {
                        cur_list_sound = SOUND_LIST_ALL_serializer.Deserialize(SystemIO.Read(SOUND_LIST_ALL.path));
                    }
                    catch (Exception)
                    {
                        SOUND_LIST_ALL_serializer.Serialize(cur_list_sound);
                    }

                    UpdateSoundList();
                }
            };



            timerTick       = new TimerTick();
            timerTick.Tick += TimerTick_Tick;
            timerTick.Start();
        }
Esempio n. 2
0
    public void LoadPlayer()
    {
        PlayerData data = SystemIO.LoadPlayer();

        level            = data.level;
        experiencePoints = data.experiencePoints;
    }
Esempio n. 3
0
        /// <summary>
        /// Gets the boot sector of a given drive.
        /// <remarks>The drive letter must follow this pattern X:</remarks>
        /// </summary>
        /// <param name="driveLetter">The drive letter in this format X:</param>
        /// <returns>The boot sector of the specified drive.</returns>
        public static BootSector GetBootSector(string driveLetter)
        {
            byte[] bootSectorData = new byte[BootSectorSize];
            string drive          = @"\\.\" + driveLetter;

            IntPtr hardDiskPointer = SystemIO.OpenFile(drive);

            // Seeks the start of the partition
            SystemIO.SeekAbsolute(hardDiskPointer, 0);

            // Read the first reserved sector of the drive data (Boot Sector)
            // The data should be read with a chunk of 512 X byte.
            SystemIO.ReadBytes(hardDiskPointer, bootSectorData, BootSectorSize);

            // Release IO handle
            SystemIO.CloseHandle(hardDiskPointer);

            // Prevent the GC from messing up with the position of the buffer in the heap.
            GCHandle pinnedBootSectorData = GCHandle.Alloc(bootSectorData, GCHandleType.Pinned);

            // Marshaling the buffer into a valid data structucture.
            var bootSector = (BootSector)Marshal.PtrToStructure(
                pinnedBootSectorData.AddrOfPinnedObject(),
                typeof(BootSector)
                );

            // Free up the pinned buffer.
            pinnedBootSectorData.Free();

            return(bootSector);
        }
Esempio n. 4
0
        public void Execute()
        {
            OrderManager manager = OrderManagerFactory.Create();

            Console.Clear();

            string userInput = SystemIO.OrderDateRequest();

            DateTime order = Convert.ToDateTime(userInput);

            int orderNumber = SystemIO.OrderNumberRequest();

            LookupOrderResponse response = manager.AccountByDateAndNumber(order, orderNumber);

            if (response.Success)
            {
                SystemIO.DisplaySingleOrderDetails(response.Order);
                Console.ReadKey();
                SystemIO.EditOrderMenu(response.Order);
            }
            else
            {
                Console.WriteLine(response.Message);
                Console.WriteLine("An error has occured: ");
            }
            Console.ReadKey();
        }
Esempio n. 5
0
        public void EditProduct(Order order)
        {
            OrderManager manager = OrderManagerFactory.Create();

            var newProduct = SystemIO.EditGetProduct();

            order.ProductType = newProduct;

            FindProductTypeResponse response = manager.GetProductData(newProduct);

            if (response.Success)
            //edit issue is here
            {
                order.ProductType            = response.Product.ProductType;
                order.CostPerSquareFoot      = response.Product.CostPerSquareFoot;
                order.LaborCostPerSquareFoot = response.Product.LaborCostPerSquareFoot;

                manager.SaveExistingOrder(order);
                SystemIO.DisplaySingleOrderDetails(order);
                Console.ReadKey();
                Console.Clear();
            }
            else
            {
                response.Success = false;
            }
        }
Esempio n. 6
0
        public void SetUp()
        {
            _directoryMock = new SystemIODirectoryMock();
            _fileMock      = new SystemIOFileMock();

            _fileSystem = new SystemIO(_directoryMock.Object, _fileMock.Object, SystemIOPath.Instance);
        }
Esempio n. 7
0
        public void Init(Action _callBack)
        {
            Action <Dictionary <string, AssetUnitData> > callBack = delegate(Dictionary <string, AssetUnitData> _data) {
                LoadAssetData(_data, _callBack);
            };

            SystemIO.LoadSerializeFileWithWWW(dataName, callBack);
        }
Esempio n. 8
0
        private void UpdateOver(int _remoteVersion, Action _callBack)
        {
            data.version = _remoteVersion;

            SystemIO.SaveSerializeFile(Application.persistentDataPath + "/" + FILE_NAME, data);

            _callBack();
        }
Esempio n. 9
0
    public static void LoadCsvDataFromFile(Action _callBack)
    {
        Action <Dictionary <Type, IDictionary> > callBack = delegate(Dictionary <Type, IDictionary> obj) {
            LoadCsvDataFileOK(obj, _callBack);
        };

        SystemIO.LoadSerializeFileWithWWW(datName, callBack);
    }
Esempio n. 10
0
        public void Execute()
        {
            OrderManager manager = OrderManagerFactory.Create();
            Order        order   = new Order();

            string   dateInput = SystemIO.OrderDateRequest();
            DateTime orderDate = Convert.ToDateTime(dateInput);

            order.Date = orderDate;

            string input = SystemIO.EditCustName();

            order.CustomerName = input;

            string userInput = SystemIO.EditState();


            FindStateResponse stateResponse = manager.GetStateTax(userInput);

            order.State = userInput;
            if (stateResponse.Success)
            {
                order.TaxData = stateResponse.StateTax.TaxRate;
            }
            else
            {
                stateResponse.Success = false;
            }


            string                  productInput   = SystemIO.EditGetProduct();
            OrderManager            productManager = OrderManagerFactory.Create();
            FindProductTypeResponse findProduct    = productManager.GetProductData(productInput);

            order.ProductType = productInput;
            if (findProduct.Success)
            {
                order.ProductType            = findProduct.Product.ProductType;
                order.CostPerSquareFoot      = findProduct.Product.CostPerSquareFoot;
                order.LaborCostPerSquareFoot = findProduct.Product.LaborCostPerSquareFoot;
            }
            else
            {
                findProduct.Success = false;
            }


            decimal areaInput = SystemIO.EditGetArea();

            order.Area = areaInput;

            manager.SaveNewOrder(order);

            SystemIO.DisplaySingleOrderDetails(order);


            Console.ReadKey();
        }
Esempio n. 11
0
        internal DiffContentFS(string basePath, SystemIO fileSystem)
        {
            _fileSystem = fileSystem;
            if (_fileSystem.Directory.Exists(basePath) == false)
            {
                _fileSystem.Directory.CreateDirectory(basePath);
            }

            _basePath = basePath;
        }
Esempio n. 12
0
        public void Generate(Analysis analysis)
        {
            Console.WriteLine("Generating HTML report...");
            if (analysis == null)
            {
                throw new ArgumentException("Parameter analysis is null.", nameof(analysis));
            }
            this.FileCommitsList     = analysis.FileCommits.Values.OrderByDescending(fc => fc.CommitCount).ThenBy(fc => fc.Filename);
            this.UserfileCommitsList = analysis.UserfileCommits.Values.OrderByDescending(fc => fc.CommitCount).ThenBy(fc => fc.Filename).ThenBy(fc => fc.Username);
            var key = 1;

            foreach (var username in analysis.UserfileCommits.Values.Select(fc => fc.Username).Distinct().OrderBy(un => un))
            {
                UserNameKey.Add(username, key++);
            }
            ;
            this.FolderCommits     = analysis.FolderCommits;
            this.FolderCommitsList = analysis.FolderCommits.Values.OrderByDescending(fc => fc.FileChanges);

            StringBuilder sb = new StringBuilder();

            AddHeader(sb, analysis);
            AddNavTabs(sb);
            sb.AppendLine("<div class=\"tab-content\">");
            sb.AppendLine("<div role=\"tabpanel\" class=\"tab-pane active\" id=\"commitsForEachSubfolder\">");
            AddSectionCommitsForEachFolder(sb);
            sb.Append($"<h2 id=\"mostChangedFiles\">Top {NumberOfFilesToList} most changed files</h2>");
            var sectionCounter = 1;

            foreach (var fileChange in FileCommitsList.Take(NumberOfFilesToList))
            {
                AddSectionCommitsForEachFile(sb, fileChange, sectionCounter++);
            }
            sb.AppendLine("</div>");
            sb.AppendLine("<div role=\"tabpanel\" class=\"tab-pane\" id=\"projectStatistics\">");
            AddSectionProjectStatistics(sb, analysis);
            AddSectionCommitsForEachDay(sb, analysis.CommitsEachDay);
            AddSectionLinesChangedEachDay(sb, analysis.LinesOfCodeAddedEachDay, analysis.LinesOfCodeDeletedEachDay);
            AddSectionCodeAge(sb, analysis.CodeAge);
            if (analysis.Tags.Any())
            {
                AddSectionTags(sb, analysis.Tags);
            }
            if (analysis.Branches.Any())
            {
                AddSectionBranches(sb, analysis.Branches);
            }
            AddSectionFileTypes(sb, analysis.FileTypes);
            sb.AppendLine("</div>");
            sb.AppendLine("</div>");
            AddFooter(sb);

            SystemIO.WriteAllText($"{ReportFilename}.html", sb.ToString());
        }
Esempio n. 13
0
 void Open()
 {
     try
     {
         setting = serializer.Deserialize(SystemIO.Read(StaticDir.full(StaticData.FolderSetting, "fft_setting.uc")));
     }
     catch (Exception e)
     {
         UcLibWindow.WindMessageBox.MessageBox.Show(e.Message);
     }
 }
Esempio n. 14
0
        public void EditArea(Order order)
        {
            OrderManager manager = OrderManagerFactory.Create();

            order.Area = SystemIO.EditGetArea();

            manager.SaveExistingOrder(order);
            SystemIO.DisplaySingleOrderDetails(order);
            Console.ReadKey();
            Console.Clear();
        }
        public void Generate(Analysis analysis)
        {
            Console.WriteLine("Generating Text file report...");
            StringBuilder sb = new StringBuilder();

            FileCommitsList     = analysis.FileCommits.Values.OrderByDescending(fc => fc.CommitCount).ThenBy(fc => fc.Filename);
            UserfileCommitsList = analysis.UserfileCommits.Values.OrderByDescending(fc => fc.CommitCount).ThenBy(fc => fc.Filename).ThenBy(fc => fc.Username);

            var totalCommits    = FileCommitsList.Sum(fc => fc.CommitCount);
            var numberOfAuthors = UserfileCommitsList.Select(ufc => ufc.Username).Distinct().Count();

            sb.AppendLine($"{Title}\n");
            sb.AppendLine($"Report created: {analysis.CreatedDate.ToString("yyyy-MM-dd")}");
            sb.AppendLine($"First commit: {analysis.FirstCommitDate.ToString("yyyy-MM-dd")}");
            sb.AppendLine($"Latest commit: {analysis.LatestCommitDate.ToString("yyyy-MM-dd")}");
            sb.AppendLine($"Number of commits: {totalCommits}");
            sb.AppendLine($"Lines of code analyzed: {analysis.LinesOfCodeanalyzed}");
            sb.AppendLine($"Number of authors: {numberOfAuthors}");
            sb.AppendLine($"Analysis time(milliseconds): {analysis.AnalysisTime}");
            sb.AppendLine();

            var folderCommitsList = analysis.FolderCommits.Values.OrderByDescending(fc => fc.FileChanges);

            foreach (var folder in folderCommitsList.Take(NumberOfFilesToList))
            {
                var folderName  = string.Format("{0,50}", folder.FolderName);
                var changeCount = string.Format("{0,5}", analysis.FolderCommits[folder.FolderName].FileChanges);
                var percentage  = string.Format("{0,5:#0.00}", ((double)analysis.FolderCommits[folder.FolderName].FileChanges / (double)totalCommits) * 100);
                sb.AppendLine($"{folderName}: {changeCount} ({percentage}%)");
            }

            foreach (var fileChange in FileCommitsList.Take(50))
            {
                sb.AppendLine("");
                string fileInfo = "File has been deleted";
                if (fileChange.FileExists)
                {
                    var linesOfCode          = fileChange.LinesOfCode > 0 ? fileChange.LinesOfCode.ToString() : "N/A";
                    var cyclomaticComplexity = fileChange.CyclomaticComplexity > 0 ? fileChange.CyclomaticComplexity.ToString() : "N/A";
                    var methodCount          = fileChange.MethodCount > 0 ? fileChange.MethodCount.ToString() : "N/A";
                    fileInfo = $"Lines of code: {linesOfCode} - Cyclomatic Complexity: {cyclomaticComplexity} - Method count: {methodCount}";
                }
                sb.AppendLine($"{fileChange.Filename}: {fileChange.CommitCount} - Latest commit: {fileChange.LatestCommit.ToString("yyyy-MM-dd")} - {fileInfo}\n");
                foreach (var userfileChange in UserfileCommitsList.Where(ufc => ufc.Filename == fileChange.Filename))
                {
                    var username    = string.Format("{0,20}", userfileChange.Username);
                    var changeCount = string.Format("{0,3}", userfileChange.CommitCount);
                    var percentage  = string.Format("{0,5:#0.00}", ((double)userfileChange.CommitCount / (double)fileChange.CommitCount) * 100);
                    sb.AppendLine($"    {username}: {changeCount} ({percentage}%)");
                }
            }

            SystemIO.WriteAllText($"{ReportFilename}.txt", sb.ToString());
        }
Esempio n. 16
0
        private void LoadUpdateXMLOK(Dictionary <string, UpdateFileInfo> _dic, int _remoteVersion, Func <string, string> _fixFun, Action _callBack)
        {
            int loadNum = _dic.Count;

            foreach (KeyValuePair <string, UpdateFileInfo> pair in _dic)
            {
                string         path = pair.Key;
                UpdateFileInfo info = pair.Value;

                string url = _fixFun(info.path + path);

                Action <WWW> callBack = delegate(WWW obj) {
                    if (obj.error != null)
                    {
                        SuperDebug.Log("文件热更新失败 文件名:" + obj.url);

                        return;
                    }

                    UInt32 crc = CRC32.Compute(obj.bytes);

                    if (crc != info.crc)
                    {
                        SuperDebug.Log("文件热更新CRC比对错误 文件名:" + obj.url);

                        return;
                    }

                    SystemIO.SaveFile(Application.persistentDataPath + "/" + path, obj.bytes);

                    if (data.dic.ContainsKey(path))
                    {
                        data.dic[path] = info.version;
                    }
                    else
                    {
                        data.dic.Add(path, info.version);
                    }

                    loadNum--;

                    if (loadNum == 0)
                    {
                        UpdateOver(_remoteVersion, _callBack);
                    }
                };

                WWWManager.Instance.LoadRemote(url, callBack);
            }
        }
        public void Can_add_adventure()
        {
            // Arrange
            string path         = SystemIO.path;
            string newAdventure = DateTime.Now.ToString();

            string[] content = new[] { newAdventure };


            // Act
            SystemIO.AddAdventure(path, newAdventure);


            // Assert
            string[] actual = SystemIO.ViewAdventures(path);
            Assert.Contains(newAdventure, actual);
        }
Esempio n. 18
0
        public static void CreateAssetData(List <string> assetNames, List <string> assetBundleNames, Dictionary <string, List <string> > result)
        {
            Dictionary <string, AssetUnitData> dic = new Dictionary <string, AssetUnitData> ();

            for (int i = 0; i < assetNames.Count; i++)
            {
                AssetUnitData unit = new AssetUnitData();

                unit.assetBundle = assetBundleNames[i];

                List <string> tmpList = result[assetNames[i]];

                unit.assetBundleDep = tmpList.ToArray();

                dic.Add(assetNames[i], unit);
            }

            SystemIO.SaveSerializeFile(Application.streamingAssetsPath + "/" + dataName, dic);
        }
Esempio n. 19
0
        private void Window_Drop(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
                foreach (string item in files)
                {
                    if (!item.isFormats(StaticFormatsSound.FormatsSound))
                    {
                        continue;
                    }
                    SoundEngine se = new SoundEngine();
                    se.Sound(item);

                    DPanelSound dPanelSound = new DPanelSound()
                    {
                        NameSound = se.Name,
                        Path      = item,
                        TotalTime = se.TotalTime(),
                        INDEX     = StakPanelListSound.Children.Count
                    };

                    dPanelSound.EventMouseButtonHandler += (oo, ee) =>
                    {
                        SetCurSound(dPanelSound);
                    };
                    dPanelSound.REventMouseButtonHandler += (oo, ee) =>
                    {
                        StakPanelListSound.Children.RemoveAt(dPanelSound.INDEX);
                        cur_list_sound.RemoveID(dPanelSound.INDEX);
                    };
                    dPanelSound.Update();
                    StakPanelListSound.Children.Add(dPanelSound);
                    cur_list_sound.AddStr(item);
                }
                SystemIO.Write(SOUND_LIST_ALL.path, SOUND_LIST_ALL_serializer.Serialize(cur_list_sound));
            }
        }
Esempio n. 20
0
        public void Init(int _localVersion, int _remoteVersion, Func <int, string> _fixFun, Func <string, string> _fixFun2, Action _callBack)
        {
            if (File.Exists(Application.persistentDataPath + "/" + FILE_NAME))
            {
                data = SystemIO.LoadSerializeFile <VersionData>(Application.persistentDataPath + "/" + FILE_NAME);

                if (_localVersion > data.version)                //说明残留的version.dat是老版本的  必须立即清除掉

                {
                    SuperDebug.Log("发现残留的version.dat 删除掉!");

                    data = new VersionData();

                    data.version = _localVersion;

                    SystemIO.SaveSerializeFile(Application.persistentDataPath + "/" + FILE_NAME, data);
                }
            }
            else
            {
                data = new VersionData();

                data.version = _localVersion;

                SystemIO.SaveSerializeFile(Application.persistentDataPath + "/" + FILE_NAME, data);
            }

            if (data.version < _remoteVersion)
            {
                Dictionary <string, UpdateFileInfo> dic = new Dictionary <string, UpdateFileInfo>();

                LoadUpdateXML(dic, _remoteVersion, _remoteVersion, _fixFun, _fixFun2, _callBack);
            }
            else
            {
                _callBack();
            }
        }
Esempio n. 21
0
        private void UpdateOver(int _remoteVersion, Action _callBack)
        {
            data.version = _remoteVersion;

            VersionData.SaveToFile(Application.persistentDataPath + "/" + FILE_NAME, data);

#if PLATFORM_PC || PLATFORM_ANDROID
            if (codeBytes != null)
            {
                SystemIO.SaveFile(Application.persistentDataPath + "/" + CODE_BYTES_NAME, codeBytes);

                codeBytes = null;

                UseFulUtil.Instance.ShowDialogOne("更新已完成,请重启游戏。", "", QuitApplication);
            }
            else
            {
                _callBack();
            }
#else
            _callBack();
#endif
        }
Esempio n. 22
0
        public void Sound(string file)
        {
            if (!SystemIO.isValid(file))
            {
                return;
            }
            CurTimeMs = 0;

            if (audioFileReader != null)
            {
                //wave_out?.Stop();
                //audioFileReader.Dispose();
                Dispose();
            }

            wave_out        = new WaveOut();
            audioFileReader = new AudioFileReader(file);

            wave_out.Init(audioFileReader);

            Name  = new FileInfo(file).Name;
            file_ = file;
        }
Esempio n. 23
0
        public void Execute()
        {
            OrderManager manager = OrderManagerFactory.Create();

            Console.Clear();

            string userInput = SystemIO.OrderDateRequest();

            DateTime order = Convert.ToDateTime(userInput);

            OrderResponse response = manager.LookupOrder(order);

            if (response.Success)
            {
                SystemIO.DisplayOrderDetails(response.Order);
            }
            else
            {
                Console.WriteLine("An error occured: ");
                Console.WriteLine(response.Message);
            }

            Console.ReadKey();
        }
Esempio n. 24
0
        public void UpdateSoundList()
        {
            StakPanelListSound.Children.Clear();
            for (int i = 0; i < cur_list_sound.Count(); i++)
            {
                string item = cur_list_sound.GetStrID(i);
                if (!item.isFormats(StaticFormatsSound.FormatsSound))
                {
                    continue;
                }
                SoundEngine se = new SoundEngine();
                se.Sound(item);

                DPanelSound dPanelSound = new DPanelSound()
                {
                    NameSound = se.Name,
                    Path      = item,
                    TotalTime = se.TotalTime(),
                    INDEX     = StakPanelListSound.Children.Count
                };

                dPanelSound.EventMouseButtonHandler += (oo, ee) =>
                {
                    SetCurSound(dPanelSound);
                };
                dPanelSound.REventMouseButtonHandler += (oo, ee) =>
                {
                    cur_list_sound.RemoveSteing(dPanelSound.Path);

                    UpdateSoundList();
                    SystemIO.Write(SOUND_LIST_ALL.path, SOUND_LIST_ALL_serializer.Serialize(cur_list_sound));
                };
                dPanelSound.Update();
                StakPanelListSound.Children.Add(dPanelSound);
            }
        }
Esempio n. 25
0
        public void Execute()
        {
            OrderManager manager = OrderManagerFactory.Create();

            string dateInput = SystemIO.OrderDateRequest();

            DateTime orderDate = Convert.ToDateTime(dateInput);

            int orderNumber = SystemIO.OrderNumberRequest();

            LookupOrderResponse response = manager.AccountByDateAndNumber(orderDate, orderNumber);

            if (response.Success)
            {
                manager.DeleteOrder(response.Order);
                Console.WriteLine("Order has been deleted.");
            }
            else
            {
                Console.WriteLine("An error has occured: ");
                Console.WriteLine(response.Message);
            }
            Console.ReadKey();
        }
Esempio n. 26
0
        public void EditState(Order order)
        {
            OrderManager manager = OrderManagerFactory.Create();

            string newState = SystemIO.EditState();

            order.State = newState;
            FindStateResponse response = manager.GetStateTax(newState);

            if (response.Success)
            //edit state issue is in the following potentially
            {
                order.TaxData = response.StateTax.TaxRate;

                manager.SaveExistingOrder(order);
                SystemIO.DisplaySingleOrderDetails(order);
                Console.ReadKey();
                Console.Clear();
            }
            else
            {
                response.Success = false;
            }
        }
Esempio n. 27
0
        private void LoadUpdateXMLOK(Dictionary <string, UpdateFileInfo> _dic, int _remoteVersion, Func <string, string> _fixFun, Action _callBack, Action <string> _setTextCallBack, Action <float> _setPercentCallBack, int _allFileSize)
        {
            int loadNum = _dic.Count;

            int loadSize = 0;

            foreach (KeyValuePair <string, UpdateFileInfo> pair in _dic)
            {
                string path = pair.Key;

                UpdateFileInfo info = pair.Value;

                string url = _fixFun(info.path + path);

                Action <WWW> callBack = delegate(WWW obj) {
                    if (obj.error != null)
                    {
                        _setTextCallBack("文件热更新失败 文件名:" + obj.url);

                        SuperDebug.Log("文件热更新失败 文件名:" + obj.url);

                        return;
                    }

                    UInt32 crc = CRC32.Compute(obj.bytes);

                    if (crc != info.crc)
                    {
                        _setTextCallBack("文件热更新CRC比对错误 文件名:" + obj.url);

                        SuperDebug.Log("文件热更新CRC比对错误 文件名:" + obj.url);

                        return;
                    }

#if PLATFORM_PC || PLATFORM_ANDROID
                    if (path.Equals(CODE_BYTES_NAME))
                    {
                        codeBytes = obj.bytes;
                    }
                    else
                    {
                        SystemIO.SaveFile(Application.persistentDataPath + "/" + path, obj.bytes);
                    }
#else
                    SystemIO.SaveFile(Application.persistentDataPath + "/" + path, obj.bytes);
#endif

                    if (data.dic.ContainsKey(path))
                    {
                        data.dic[path] = info.version;
                    }
                    else
                    {
                        data.dic.Add(path, info.version);
                    }

                    loadNum--;

                    //_setTextCallBack("正在更新:" + (_dic.Count - loadNum) + "/" + _dic.Count);

                    loadSize += info.size;

                    _setTextCallBack("正在更新:" + Math.Round((float)loadSize / (float)_allFileSize * 100) + "%(" + Math.Round((float)loadSize / 1024 / 1024, 1) + "/" + Math.Round((float)_allFileSize / 1024 / 1024, 1) + ")");

                    _setPercentCallBack((float)loadSize / (float)_allFileSize);

                    if (loadNum == 0)
                    {
                        UpdateOver(_remoteVersion, _callBack);
                    }
                };

                WWWManager.Instance.LoadRemote(url, callBack);
            }
        }
Esempio n. 28
0
        public void Generate(Analysis analysis)
        {
            Console.WriteLine("Generating Markdown report...");
            StringBuilder sb = new StringBuilder();

            FileCommitsList     = analysis.FileCommits.Values.OrderByDescending(fc => fc.CommitCount).ThenBy(fc => fc.Filename);
            UserfileCommitsList = analysis.UserfileCommits.Values.OrderByDescending(fc => fc.CommitCount).ThenBy(fc => fc.Filename).ThenBy(fc => fc.Username);

            sb.AppendLine($"# {Title}\n");
            sb.AppendLine($"Report created: {analysis.CreatedDate.ToString("yyyy-MM-dd")}\n");

            var totalCommits    = FileCommitsList.Sum(fc => fc.CommitCount);
            var numberOfAuthors = UserfileCommitsList.Select(ufc => ufc.Username).Distinct().Count();

            sb.AppendLine($"## Statistics\n");
            sb.AppendLine("| | |");
            sb.AppendLine("|---:|----:|");
            sb.AppendLine($"| First commit | {analysis.FirstCommitDate.ToString("yyyy-MM-dd")} |");
            sb.AppendLine($"| Latest commit | {analysis.LatestCommitDate.ToString("yyyy-MM-dd")} |");
            sb.AppendLine($"| Number of commits | {totalCommits} |");
            sb.AppendLine($"| Lines of code analyzed | {analysis.LinesOfCodeanalyzed} |");
            sb.AppendLine($"| Number of authors | {numberOfAuthors} |");
            sb.AppendLine($"| Analysis time(milliseconds) | {analysis.AnalysisTime} |");
            sb.AppendLine();

            sb.AppendLine("## File changes for each sub-folder");
            var folderCommitsList = analysis.FolderCommits.Values.OrderByDescending(fc => fc.FileChanges);

            foreach (var folder in folderCommitsList.Take(NumberOfFilesToList))
            {
                var folderName  = string.Format("{0,50}", folder.FolderName);
                var changeCount = string.Format("{0,5}", analysis.FolderCommits[folder.FolderName].FileChanges);
                var percentage  = string.Format("{0,5:#0.00}", ((double)analysis.FolderCommits[folder.FolderName].FileChanges / (double)totalCommits) * 100);
                sb.AppendLine($"{folderName}: {changeCount} ({percentage}%)");
            }
            sb.AppendLine($"{string.Format("{0,51}", "---------------")} {string.Format("{0,6}", "-----")} {string.Format("{0,7}", "------")}");
            var total = string.Format("{0,5}", totalCommits);

            sb.AppendLine($"{string.Format("{0,50}", "Total number of Commits analyzed")}: {total} ({string.Format("{0,5:##0.0}", 100)}%)\n");

            sb.AppendLine("---\n");

            foreach (var fileChange in FileCommitsList.Take(50))
            {
                var linesOfCode          = fileChange.LinesOfCode > 0 ? fileChange.LinesOfCode.ToString() : "N/A";
                var cyclomaticComplexity = fileChange.CyclomaticComplexity > 0 ? fileChange.CyclomaticComplexity.ToString() : "N/A";
                var methodCount          = fileChange.MethodCount > 0 ? fileChange.MethodCount.ToString() : "N/A";
                sb.AppendLine($"### {fileChange.Filename}\n");
                sb.AppendLine("| | |");
                sb.AppendLine("|---:|----:|");
                sb.AppendLine($"| Latest commit | {fileChange.LatestCommit.ToString("yyyy-MM-dd")} |");
                sb.AppendLine($"| Commits | {fileChange.CommitCount} |");
                if (fileChange.FileExists)
                {
                    sb.AppendLine($"| Lines of code | {linesOfCode} |");
                    sb.AppendLine($"| Cyclomatic Complexity | {cyclomaticComplexity} |");
                    sb.AppendLine($"| Method count | {methodCount} |");
                }
                else
                {
                    sb.AppendLine($"| File has been deleted | |");
                }
                sb.AppendLine();

                sb.AppendLine("__Commits by user:__\n");
                sb.AppendLine($"| Name | Commits | Percentage |");
                sb.AppendLine($"|-----:|--------:|-----------:|");
                foreach (var userfileChange in UserfileCommitsList.Where(ufc => ufc.Filename == fileChange.Filename))
                {
                    var username    = string.Format("{0,20}", userfileChange.Username);
                    var changeCount = string.Format("{0,3}", userfileChange.CommitCount);
                    var percentage  = string.Format("{0,5:#0.00}", ((double)userfileChange.CommitCount / (double)fileChange.CommitCount) * 100);
                    sb.AppendLine($"| {username} | {changeCount} | {percentage}% |");
                }
                sb.AppendLine();
            }

            sb.AppendLine("## Code age\n");
            sb.AppendLine("| Code age(months) | Filechanges |");
            sb.AppendLine("|---:|---:|");
            var maxAge = analysis.CodeAge.AsEnumerable().OrderByDescending(kvp => kvp.Key).First().Key;

            for (var month = 0; month <= maxAge; month++)
            {
                var fileChanges = analysis.CodeAge.ContainsKey(month) ? analysis.CodeAge[month] : 0;
                sb.AppendLine($"|{month}|{fileChanges}|");
            }
            sb.AppendLine();

            if (analysis.Tags.Any())
            {
                var tagsOrdered = analysis.Tags.AsEnumerable().OrderByDescending(kvp => kvp.Key).ThenBy(kvp => kvp.Value);
                sb.AppendLine("## Tags\n");
                sb.AppendLine("| Name | Date |");
                sb.AppendLine("|:---|----:|");
                foreach (var kvp in tagsOrdered)
                {
                    sb.AppendLine($"| {kvp.Value} | {kvp.Key.ToString("yyyy-MM-dd")} |");
                }
                sb.AppendLine();
            }

            if (analysis.Branches.Any())
            {
                sb.AppendLine("## Branches\n");
                sb.AppendLine("| Name |");
                sb.AppendLine("|:---|");
                foreach (var branch in analysis.Branches)
                {
                    sb.AppendLine($"| {branch} |");
                }
                sb.AppendLine();
            }

            var fileTypesOrdered = analysis.FileTypes.AsEnumerable().OrderByDescending(kvp => kvp.Value).ThenBy(kvp => kvp.Key);

            sb.AppendLine("## Number of files of each type\n");
            sb.AppendLine("| File type | Count |");
            sb.AppendLine("|---:|----:|");
            foreach (var kvp in fileTypesOrdered)
            {
                sb.AppendLine($"| {kvp.Key} | {kvp.Value} |");
            }

            SystemIO.WriteAllText($"{ReportFilename}.md", sb.ToString());
        }
Esempio n. 29
0
    //void CountDownTimer() {
    //    if (_countDownStartValue > 0) {
    //        TimeSpan spanTime = TimeSpan.FromSeconds(_countDownStartValue);
    //        TimerTextUI.text = "Time " + spanTime.Minutes + " : " + spanTime.Seconds;
    //        _countDownStartValue--;
    //        Invoke("CountDownTimer", 1.00f);
    //    } else {
    //        TimerTextUI.color = Color.red;
    //        TimerTextUI.text = "Game Over";
    //    }
    //}

    public void SavePlayer()
    {
        SystemIO.SavePlayer(this);
    }
Esempio n. 30
0
 public static void SaveCsvDataToFile()
 {
     SystemIO.SaveSerializeFile(Application.streamingAssetsPath + "/" + datName, dic);
 }