Esempio n. 1
0
        public void RestoreSaveData(ISaveData state) //receive SaveData class and set variables
        {
            var saveData = (TestEntitySaveData)state;

            health             = saveData.health;
            transform.position = new Vector2(saveData.x, saveData.y);
        }
Esempio n. 2
0
        private static Dictionary <UInt64, T> GetProperty <T>(ISaveData obj, string name)
        {
            var   type  = ((TypeDataAttribute)obj.GetType().GetCustomAttributes(typeof(TypeDataAttribute), false)[0]).Type;
            IBase @base = null;

            switch (type)
            {
            case FileTypes.Level:
                @base = SaveLevelData;
                break;

            case FileTypes.User:
                @base = SaveUserData;
                break;
            }

            var typebase = @base.GetType();
            var property = typebase.GetProperty(name);

            if (property == null)
            {
                throw new Exception("Отсутвует поле сохранения");
            }


            Dictionary <UInt64, T> pairs = (Dictionary <UInt64, T>)property.GetValue(@base);

            return(pairs);
        }
Esempio n. 3
0
        public LiteNetManagerServer(Server server, ISaveData worldData)
        {
            if (server?.ActiveConfig == null || worldData == null)
            {
                throw new ArgumentNullException();
            }

            m_Config = server.ActiveConfig;
            if (m_Config.WanAddress == null && m_Config.LanAddress == null)
            {
                throw new InvalidServerConfiguration(
                          $"Invalid server configuration {m_Server}. Unable to attach NetAdapter.");
            }

            m_Server = server;
            if (m_Config.WanAddress != null)
            {
                m_wanManager = CreateNetManager(worldData);
            }

            if (m_Config.LanAddress != null)
            {
                m_lanManager = CreateNetManager(worldData);
            }

            m_SinceLastDiscovery = TimeSpan.Zero;
            m_SinceLastKeepAlive = TimeSpan.Zero;
        }
Esempio n. 4
0
 private NetManager CreateNetManager(ISaveData worldData)
 {
     return(new NetManager(new LiteNetListenerServer(m_Server, worldData))
     {
         DisconnectTimeout = (int)m_Config.DisconnectTimeout.TotalMilliseconds
     });
 }
 public RabbitMQMessageQueueClient(ISaveData saveData, string connectString, string queueName, ILogger logger)
 {
     _saveData      = saveData;
     _connectString = connectString;
     _queueName     = queueName;
     _logger        = logger;
 }
Esempio n. 6
0
        public static void SaveData(ISaveData saveData)
        {
            var saveBckpPath = SaveFile + Guid.NewGuid() + ".bckp";

            try
            {
                Directory.CreateDirectory(SaveFolder);

                if (File.Exists(SaveFile))
                {
                    File.Move(SaveFile, saveBckpPath);
                }

                var binaryFormatter = new BinaryFormatter();

                using (var fileStream = new FileStream(SaveFile, FileMode.Create, FileAccess.Write, FileShare.Read))
                    binaryFormatter.Serialize(fileStream, saveData);

                File.Delete(saveBckpPath);
            }
            catch (Exception)
            {
                if (File.Exists(saveBckpPath))
                {
                    File.Move(saveBckpPath, SaveFile);
                }
            }
        }
Esempio n. 7
0
 public NATSMessageQueueClient(ISaveData saveData, string connectString, string queueName, ILogger logger)
 {
     _logger           = logger;
     _saveData         = saveData;
     _connectionString = connectString;
     _queueName        = queueName;
 }
Esempio n. 8
0
        public Monitor()
        {
            try
            {
                InitializeComponent();

                Factory objFactory = new Factory();
                _exceptionHandler = objFactory.GetExceptionHandler();
                _saveData         = objFactory.GetSaveData();
                _dataStore        = objFactory.GetDataStore();

                _materialSkinManager = MaterialSkinManager.Instance;
                _materialSkinManager.AddFormToManage(this);
                _materialSkinManager.Theme = MaterialSkinManager.Themes.LIGHT;
                _csLight = _materialSkinManager.ColorScheme;
                _csDark  = new ColorScheme(Primary.BlueGrey800, Primary.BlueGrey900, Primary.BlueGrey500, Accent.LightBlue200, TextShade.WHITE);

                notifyIcon.ContextMenuStrip = cmMenu;
                _objfgHook = new FGHook(_dataStore);
                _dataStore.PropertyChanged += _objDataStore_PropertyChanged;
                _3SecTimer.Interval         = 3000;
                _3SecTimer.AutoReset        = false;
                _3SecTimer.Elapsed         += ClearMessageTimer_Elapsed;

                AppStatus = Constants.Running;
            }
            catch (Exception ex)
            {
                DisposeHook();
                _exceptionHandler.HandleException(ex);
            }
        }
Esempio n. 9
0
        public static void SetValue <T>(ISaveData obj, T value, [CallerMemberName] string name = "")
        {
            var pairs = GetProperty <T>(obj, name);

            pairs[obj.ID] = value;

            Save();
        }
Esempio n. 10
0
        public ConsumerHostServices(IConfiguration configuration, ISaveData saveData, IHostApplicationLifetime appLifetime, ILogger <ConsumerHostServices> logger)
        {
            _logger      = logger;
            _appLifetime = appLifetime;
            IFactoryClient factory = new FactoryClient(configuration, saveData, _logger);

            _client = factory.CreateMessageQueue(configuration["MessageQueue:Type"]);
        }
Esempio n. 11
0
 public SaveDataException(
     ISaveData saveData,
     Exception innerException
     ) : base(
         GetMessage(saveData),
         innerException
         )
 {
 }
Esempio n. 12
0
		public override void Save (ISaveData data)
		{
			for (int axis = 0; axis < 4; axis++) {
				data ["P8_" + axis] = P8 [axis];
				data ["I8_" + axis] = I8 [axis];
				data ["D8_" + axis] = D8 [axis];
			}
			base.Save (data);
		}
Esempio n. 13
0
 public void Save(ISaveData data)
 {
     for (int axis = 0; axis < 4; axis++)
     {
         data ["EXP_" + axis] = exp [axis];
         data ["MIN_" + axis] = min [axis];
         data ["MAX_" + axis] = max [axis];
     }
 }
Esempio n. 14
0
 public SaveDataException(
     ISaveData saveData,
     string message,
     Exception innerException
     ) : base(
         GetMessage(saveData, message),
         innerException
         )
 {
 }
 public static void ClearAll()
 {
     AssemblyInspector = null;
     Connection        = null;
     DataPopulation    = null;
     DataType          = null;
     DataSave          = null;
     ObjectProperties  = null;
     ClassProperties   = null;
 }
Esempio n. 16
0
		public static void ClearAll()
		{
			AssemblyInspector = null;
			Connection = null;
			DataPopulation = null;
			DataType = null;
			DataSave = null;
			ObjectProperties = null;
			ClassProperties = null;

		}
Esempio n. 17
0
 public static void SaveFrom(ISaveData instance)
 {
     if (instance != null)
     {
         if (!Directory.Exists(_folder))
         {
             Directory.CreateDirectory(_folder);
         }
         var fileName = AddOrChangeFileName(instance.SaveTag());
         File.WriteAllBytes(GetPath(fileName), AESUtils.AESEncrypt(instance.SaveAsJson()));
     }
 }
Esempio n. 18
0
		public override void LoadSaved (ISaveData data)
		{
			base.LoadSaved (data);
			for (int n = 0; n < 4; n ++) {
				if (data.HasKey ("P8_" + n))
					P8 [n] = data.GetValue <byte> ("P8_" + n);
				if (data.HasKey ("I8_" + n))
					I8 [n] = data.GetValue <byte> ("I8_" + n);
				if (data.HasKey ("D8_" + n))
					D8 [n] = data.GetValue <byte> ("D8_" + n);
			}
		}
Esempio n. 19
0
		public override void Save (ISaveData data)
		{
			for (int axis = 0; axis < 4; axis++) {
				data ["P8_" + axis] = P8 [axis];
				data ["I8_" + axis] = I8 [axis];
				data ["D8_" + axis] = D8 [axis];
			}

			data ["rates_" + Constants.YAW] = rates [Constants.YAW];

			base.Save (data);
		}
Esempio n. 20
0
		public override void Save (ISaveData data)
		{
			for (int axis = 0; axis < 4; axis++) {
				data ["P8_" + axis] = P8 [axis];
				data ["I8_" + axis] = I8 [axis];
				data ["D8_" + axis] = D8 [axis];
			}
			for (int n = 0; n < 3; n ++) {
				data ["rates_" + n] = rates [n];
			}
			base.Save (data);
		}
Esempio n. 21
0
        public static T GetValue <T>(ISaveData obj, T defaultvalue, [CallerMemberName] string name = "")
        {
            var pairs = GetProperty <T>(obj, name);

            if (pairs.ContainsKey(obj.ID))
            {
                return(pairs[obj.ID]);
            }
            else
            {
                return(defaultvalue);
            }
        }
Esempio n. 22
0
        // 指定特定存档对象,将其替代原有对象(如果有的话),并从文件读取到这个对象
        public static void LoadTo(ISaveData instance)
        {
            var saveTag = instance.SaveTag();

            if (_fileNames.ContainsKey(saveTag))
            {
                var path = GetPath(_fileNames[saveTag]);
                if (File.Exists(path))
                {
                    instance.LoadFromJson(AESUtils.AESDecrypt(File.ReadAllBytes(path)));
                }
            }
        }
Esempio n. 23
0
		public override void Save (ISaveData data)
		{
			for (int n = 0; n < 3; n ++) {
				data ["P_f_" + n] = P_f [n];
				data ["I_f_" + n] = I_f [n];
				data ["D_f_" + n] = D_f [n];
				data ["rates_" + n] = rates [n];
			}
			data ["rates_3"] = H_sensitivity;
			data ["force_0"] = H_level;
			data ["force_1"] = A_level;
			base.Save (data);
		}
Esempio n. 24
0
        public static void Save(Type type)
        {
            ISaveData instance = null;

            for (int i = 0; i < _saveDatas.Count; ++i)
            {
                if (_saveDatas[i].GetType() == type)
                {
                    instance = _saveDatas[i];
                    break;
                }
            }
            Save(instance);
        }
Esempio n. 25
0
		public override void LoadSaved (ISaveData data)
		{
			base.LoadSaved (data);
			for (int n = 0; n < 4; n ++) {
				if (data.HasKey ("P8_" + n))
					P8 [n] = data.GetValue <byte> ("P8_" + n);
				if (data.HasKey ("I8_" + n))
					I8 [n] = data.GetValue <byte> ("I8_" + n);
				if (data.HasKey ("D8_" + n))
					D8 [n] = data.GetValue <byte> ("D8_" + n);
			}
			if (data.HasKey ("rates_" + Constants.YAW))
				rates [Constants.YAW] = data.GetValue <byte> ("rates_" + Constants.YAW);
		}
Esempio n. 26
0
        public static void TrySetData <TSavable, TSaveData>(TSavable[] savables,
                                                            List <TSaveData> dataList,
                                                            bool checkID)
            where TSavable : ISavable
            where TSaveData : ISaveData
        {
            if (savables.Length == 0 || dataList.Count == 0 ||
                savables.Length != dataList.Count)
            {
                Debug.LogWarning(string.Format
                                     ("Savables: {0}. Data list count: {1}.",
                                     savables.Length,
                                     dataList.Count));
                return;
            }
            else if (savables[0].GetSaveDataType() != typeof(TSaveData))
            {
                Debug.LogError(string.Format
                                   ("Incompatible save data types: {0} and {1}",
                                   savables[0].GetSaveDataType(),
                                   typeof(TSaveData)));
                return;
            }

            for (int i = 0; i < dataList.Count; i++)
            {
                TSavable  savable = savables[i];
                ISaveData data    = dataList[i];

                if (checkID)
                {
                    savable = savables.FirstOrDefault
                                  (sav => sav.ID == data.ID);

                    if (savable != null)
                    {
                        savable.SetData(data);
                    }
                }
                else
                {
                    savable.SetData(data);
                }
            }
        }
Esempio n. 27
0
        public ConnectionClient(
            INetworkConnection network,
            IGameStatePersistence persistence,
            ISaveData worldData) : base(network, persistence)
        {
            m_WorldData = worldData;

            m_StateMachine =
                new StateMachine <EConnectionState, ETrigger>(EConnectionState.Disconnected);

            m_StateMachine.Configure(EConnectionState.Disconnected)
            .Permit(ETrigger.TryJoinServer, EConnectionState.ClientJoinRequesting);

            StateMachine <EConnectionState, ETrigger> .TriggerWithParameters <EDisconnectReason>
            disconnectTrigger =
                m_StateMachine.SetTriggerParameters <EDisconnectReason>(ETrigger.Disconnect);
            m_StateMachine.Configure(EConnectionState.Disconnecting)
            .OnEntryFrom(disconnectTrigger, closeConnection)
            .Permit(ETrigger.Disconnected, EConnectionState.Disconnected);

            m_StateMachine.Configure(EConnectionState.ClientJoinRequesting)
            .OnEntry(sendClientHello)
            .Permit(ETrigger.Disconnect, EConnectionState.Disconnecting)
            .PermitIf(
                ETrigger.ServerAcceptedJoinRequest,
                EConnectionState.ClientAwaitingWorldData,
                () => m_WorldData.RequiresInitialWorldData)
            .PermitIf(
                ETrigger.ServerAcceptedJoinRequest,
                EConnectionState.ClientPlaying,
                () => !m_WorldData.RequiresInitialWorldData);

            m_StateMachine.Configure(EConnectionState.ClientAwaitingWorldData)
            .OnEntry(sendClientRequestInitialWorldData)
            .Permit(ETrigger.Disconnect, EConnectionState.Disconnecting)
            .Permit(
                ETrigger.InitialWorldDataReceived,
                EConnectionState.ClientPlaying);

            m_StateMachine.Configure(EConnectionState.ClientPlaying)
            .OnEntry(onConnected)
            .Permit(ETrigger.Disconnect, EConnectionState.Disconnecting);

            Dispatcher.RegisterPacketHandlers(this);
        }
Esempio n. 28
0
        /// <summary>
        /// Formats the <see cref="BrandonException.Message"/>
        /// </summary>
        /// <param name="saveData"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        private static string GetMessage(
            ISaveData saveData = null,
            string message     = "Something went wrong with save data management!"
            )
        {
            var lines = new List <string>()
            {
                message
            };

            if (saveData != null)
            {
                lines.Add($"{nameof(saveData.Nickname)}: {saveData.Nickname}");
                lines.Add($"{saveData.GetType()}:\n{saveData}");
            }

            return(lines.JoinString("\n"));
        }
Esempio n. 29
0
        public ConnectionServer(
            INetworkConnection network,
            IGameStatePersistence persistence,
            ISaveData worldData) : base(network, persistence)
        {
            m_WorldData    = worldData;
            m_StateMachine =
                new StateMachine <EConnectionState, ETrigger>(EConnectionState.Disconnected);

            m_StateMachine.Configure(EConnectionState.Disconnected)
            .Permit(ETrigger.WaitForClient, EConnectionState.ServerAwaitingClient);

            StateMachine <EConnectionState, ETrigger> .TriggerWithParameters <EDisconnectReason>
            disconnectTrigger =
                m_StateMachine.SetTriggerParameters <EDisconnectReason>(ETrigger.Disconnect);

            m_StateMachine.Configure(EConnectionState.Disconnecting)
            .OnEntryFrom(disconnectTrigger, closeConnection)
            .Permit(ETrigger.Disconnected, EConnectionState.Disconnected);

            m_StateMachine.Configure(EConnectionState.ServerAwaitingClient)
            .Permit(ETrigger.Disconnect, EConnectionState.Disconnecting)
            .Permit(ETrigger.ClientInfoVerified, EConnectionState.ServerJoining);

            m_StateMachine.Configure(EConnectionState.ServerJoining)
            .OnEntry(SendJoinRequestAccepted)
            .Permit(ETrigger.Disconnect, EConnectionState.Disconnecting)
            .Permit(
                ETrigger.ClientRequestedWorldData,
                EConnectionState.ServerSendingWorldData)
            .Permit(ETrigger.ClientJoined, EConnectionState.ServerPlaying);

            m_StateMachine.Configure(EConnectionState.ServerSendingWorldData)
            .OnEntry(SendInitialWorldData)
            .Permit(ETrigger.Disconnect, EConnectionState.Disconnecting)
            .Permit(ETrigger.ClientJoined, EConnectionState.ServerPlaying);

            m_StateMachine.Configure(EConnectionState.ServerPlaying)
            .OnEntry(onConnected)
            .Permit(ETrigger.Disconnect, EConnectionState.Disconnecting);

            Dispatcher.RegisterPacketHandlers(this);
        }
Esempio n. 30
0
        /// <summary>
        ///  Save all of nodes to a physical file/Database/.....
        /// </summary>
        /// <param name="FileName">filename which include fullpathDataBase connection /......</param>
        /// <returns>Operation is sucessful,return true otherwise false</returns>
        public bool Save(string FileName)
        {
            lock (Lockobject)
            {
                SaveObject = ObjectBuildFactory <ISaveData <int> > .Instance(SystemConfiguration.SaveDataClassName);

                if (SaveObject != null)
                {
                    SaveObject.SetSaveObject(RBTree);
                }
            }
            if (SaveObject != null)
            {
                return(SaveObject.Save(FileName));
            }
            else
            {
                return(false);
            }
        }
Esempio n. 31
0
 public void LoadSaved(ISaveData data)
 {
     for (int n = 0; n < 4; n++)
     {
         if (data.HasKey("EXP_" + n))
         {
             exp[n] = data.GetValue <float> ("EXP_" + n);
         }
         if (data.HasKey("MIN_" + n))
         {
             min[n] = data.GetValue <float> ("MIN_" + n);
         }
         if (data.HasKey("MAX_" + n))
         {
             max[n] = data.GetValue <float> ("MAX_" + n);
         }
         mid [n]       = (min [n] + max [n]) / 2f;
         inputScale[n] = (max [n] - min [n]) / 2f;
     }
     ;
 }