Ejemplo n.º 1
0
 /// <summary>
 /// 订单编号标识文件+1
 /// </summary>
 /// <param name="fileName"></param>
 /// <param name="num"></param>
 public void SaveToFile(string key, string fileName, int num)
 {
     try
     {
         FileReadWrite.Write(fileName, FileMode.Create, (fs) =>
         {
             var buffer = BitConverter.GetBytes(num);
             fs.Write(buffer, 0, buffer.Length);
         });
         if (num == 1)
         {
             //清除昨天的流水文件
             Task.Factory.StartNew(() =>
             {
                 try
                 {
                     var delfileName = GetFileName(key, DateTime.Now.AddDays(-1));
                     delfileName     = Path.Combine(CacheFilePath, delfileName);
                     if (File.Exists(delfileName))
                     {
                         File.Delete(delfileName);
                     }
                 }
                 catch { }
             });
         }
     }
     catch (Exception ex) { }
 }
Ejemplo n.º 2
0
        private void SaveToFile(int serialNumber)
        {
            try
            {
                string fileName = string.Empty;
                //当天文件名,记录当前流水
                if (SwiftNumberMode != SwiftNumberMode.Normal)
                {
                    fileName = string.Format(FILENAMEFORMAT, Name, DateTime.Now.ToString(DateFormat));
                }
                else
                {
                    fileName = string.Format(FILENAMEFORMAT, Name, string.Empty);
                }
                fileName = Path.Combine(TempFilePath, fileName);
                FileReadWrite.Write(fileName, FileMode.Create, (fs) =>
                {
                    var buffer = BitConverter.GetBytes(serialNumber);
                    fs.Write(buffer, 0, buffer.Length);
                });
                var tempEvent = SwiftNumberChanged;
                if (tempEvent != null)
                {
                    tempEvent(this, new SwiftNumberChangeEventArgs()
                    {
                        Name = Name
                    });
                }

                if (serialNumber == 1 && SwiftNumberMode != SwiftNumberMode.Normal)
                {
                    //清除昨天的流水文件
                    Task.Factory.StartNew(() =>
                    {
                        try
                        {
                            var delfileName = string.Format(FILENAMEFORMAT, Name, DateTime.Now.AddDays(-1).ToString(DateFormat));
                            delfileName     = Path.Combine(TempFilePath, delfileName);
                            if (File.Exists(delfileName))
                            {
                                File.Delete(delfileName);
                            }
                        }
                        catch { }
                    });
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Ejemplo n.º 3
0
        public bool WriteGlobalParameter(GlobalParameter data, string filePath)
        {
            string content = LitJson.JsonMapper.ToJson(data);
            bool   value   = FileReadWrite.Write(filePath, content);

            if (value)
            {
                Debug.Log("Write Sucess:" + filePath);
            }
            else
            {
                Debug.LogError("Write Fail:" + filePath);
            }

            return(value);
        }
Ejemplo n.º 4
0
        private static void MergeFile(string filePath)
        {
            DirectoryInfo direcotryInfo = Directory.CreateDirectory(filePath);

            FileInfo[] fileInfoArr = direcotryInfo.GetFiles("*.bytes", SearchOption.TopDirectoryOnly);

            List <PBConfigWriteFile> fileList = new List <PBConfigWriteFile>();

            for (int i = 0; i < fileInfoArr.Length; ++i)
            {
                string fullName = fileInfoArr[i].FullName;

                BehaviorReadWrite readWrite        = new BehaviorReadWrite();
                BehaviorTreeData  behaviorTreeData = readWrite.ReadJson(fullName);
                behaviorTreeData = RemoveInvalidParameter(behaviorTreeData);

                string content  = LitJson.JsonMapper.ToJson(behaviorTreeData);
                byte[] byteData = System.Text.Encoding.Default.GetBytes(content);

                string fileName = System.IO.Path.GetFileNameWithoutExtension(fullName);
                if (byteData.Length <= 0)
                {
                    Debug.LogError("无效得配置文件");
                    return;
                }

                PBConfigWriteFile skillConfigWriteFile = new PBConfigWriteFile();
                skillConfigWriteFile.filePath = filePath;
                skillConfigWriteFile.byteData = byteData;
                fileList.Add(skillConfigWriteFile);

                Debug.Log("end mergeFile:" + filePath);
            }

            ByteBufferWrite bbw = new ByteBufferWrite();

            bbw.WriteInt32(fileList.Count);

            int start = 4 + fileList.Count * (4 + 4);

            for (int i = 0; i < fileList.Count; ++i)
            {
                PBConfigWriteFile skillConfigWriteFile = fileList[i];
                bbw.WriteInt32(start);
                bbw.WriteInt32(skillConfigWriteFile.byteData.Length);
                start += skillConfigWriteFile.byteData.Length;
            }

            for (int i = 0; i < fileList.Count; ++i)
            {
                PBConfigWriteFile skillHsmWriteFile = fileList[i];
                bbw.WriteBytes(skillHsmWriteFile.byteData, skillHsmWriteFile.byteData.Length);
            }

            {
                string mergeFilePath = string.Format("{0}/StreamingAssets/Bina/BehaviorTreeConfig.bytes", Application.dataPath);

                if (System.IO.File.Exists(mergeFilePath))
                {
                    System.IO.File.Delete(mergeFilePath);
                    AssetDatabase.Refresh();
                }
                byte[] byteData = bbw.GetBytes();
                FileReadWrite.Write(mergeFilePath, byteData);
            }

            AssetDatabase.Refresh();
        }
Ejemplo n.º 5
0
        public static void BeatchMergeAllFile()
        {
            string        filePath = HSMManager.Instance.FilePath;
            DirectoryInfo dInfo    = new DirectoryInfo(filePath);

            FileInfo[] fileInfoArr = dInfo.GetFiles("*.txt", SearchOption.TopDirectoryOnly);

            List <PBConfigWriteFile> fileList = new List <PBConfigWriteFile>();

            for (int i = 0; i < fileInfoArr.Length; ++i)
            {
                string       fullName  = fileInfoArr[i].FullName;
                HSMReadWrite readWrite = new HSMReadWrite();
                SkillHsmConfigHSMTreeData skillHsmData = readWrite.ReadJson(fullName);
                skillHsmData = FormatData(skillHsmData);

                HSMManager.Instance.CheckData(skillHsmData);

                string fileName = System.IO.Path.GetFileNameWithoutExtension(fullName);
                //skillHsmData.FileName = fileName;

                byte[] byteData = ProtoDataUtils.ObjectToBytes <SkillHsmConfigHSMTreeData>(skillHsmData);
                if (byteData.Length <= 0)
                {
                    Debug.LogError("无效得配置文件");
                    return;
                }

                PBConfigWriteFile skillConfigWriteFile = new PBConfigWriteFile();
                skillConfigWriteFile.filePath = filePath;
                skillConfigWriteFile.byteData = byteData;
                fileList.Add(skillConfigWriteFile);

                Debug.Log("end mergeFile:" + filePath);
            }

            ByteBufferWrite bbw = new ByteBufferWrite();

            bbw.WriteInt32(fileList.Count);

            int start = 4 + fileList.Count * (4 + 4);

            for (int i = 0; i < fileList.Count; ++i)
            {
                PBConfigWriteFile skillConfigWriteFile = fileList[i];
                bbw.WriteInt32(start);
                bbw.WriteInt32(skillConfigWriteFile.byteData.Length);
                start += skillConfigWriteFile.byteData.Length;
            }

            for (int i = 0; i < fileList.Count; ++i)
            {
                PBConfigWriteFile skillHsmWriteFile = fileList[i];
                bbw.WriteBytes(skillHsmWriteFile.byteData, skillHsmWriteFile.byteData.Length);
            }

            {
                string mergeFilePath = Extend.GameUtils.CombinePath(Application.dataPath, "StreamingAssets", "Bina", "SkillHsmConfig.bytes"); //string.Format("{0}/StreamingAssets/Bina/SkillHsmConfig.bytes", Application.dataPath);   // string.Format("{0}/MergeFile/SkillConfig.txt", path);

                if (System.IO.File.Exists(mergeFilePath))
                {
                    System.IO.File.Delete(mergeFilePath);
                    AssetDatabase.Refresh();
                }
                byte[] byteData = bbw.GetBytes();
                FileReadWrite.Write(mergeFilePath, byteData);
            }
        }