예제 #1
0
        public void PullAwayPublicData()
        {
            if (PublicDataSavepath != null && !Directory.Exists(PublicDataSavepath))
            {
                Directory.CreateDirectory(PublicDataSavepath);
            }
            var bs = new JsonSaves();

            for (int i = publicCargos.Count - 1; i >= 0; i--)
            {
                var logCargo = publicCargos[i];

                if (logCargo.PrimaryTime == null)
                {
                    logCargo.SetPrimaryTimeNow();
                }

                var logCargoDirPath = $@"{PublicDataSavepath}/{logCargo.PrimaryTime.GetValueOrDefault().ToDefault()}";
                if (!Directory.Exists(logCargoDirPath))
                {
                    Directory.CreateDirectory(logCargoDirPath);
                }

                foreach (var log in logCargo.GetDatas())
                {
                    var dt = DateTime.Now.ToString("mmssffffff");
                    bs.SaveToObject(log, $@"{logCargoDirPath}/{dt}{FileEndChar.DataLog}.dat");
                }
            }
            publicCargos.Clear();
        }
예제 #2
0
        public override void PullAwayPrivateCargos()
        {
            if (!Directory.Exists(documents)) //Create hidden root folder for private loadables
            {
                Directory.CreateDirectory(documents).Attributes = FileAttributes.Hidden;
            }
            var bs = new JsonSaves();

            for (int i = privateCargos.Count - 1; i >= 0; i--)
            {
                Cargo.Cargo cargo = privateCargos[i];
                if (!Directory.Exists(privateSavepathByCargo[cargo.Type]))
                {
                    Directory.CreateDirectory(privateSavepathByCargo[cargo.Type]).Attributes = FileAttributes.Hidden;
                }

                if (cargo.PrimaryTime == null)
                {
                    cargo.SetPrimaryTimeNow();
                }
                var path = $@"{privateSavepathByCargo[cargo.Type]}/{cargo.PrimaryTime.GetValueOrDefault().ToDefault()}{FileEndChar.Cargo}.dat";

                switch (cargo.Type)
                {
                case Cargo.CargoType.GenericObject:
                    bs.SaveToObject(cargo as Cargo.RawCargo, path);
                    break;

                case Cargo.CargoType.Text:
                    bs.SaveToObject(cargo as Cargo.TextCargo, path);
                    break;

                case Cargo.CargoType.Voice:
                    bs.SaveToObject(cargo as Cargo.VoiceCargo, path);
                    break;

                case Cargo.CargoType.Log:
                    bs.SaveToObject(cargo as Cargo.DataCargo, path);
                    break;
                }
            }
            privateCargos.Clear();
        }