/// <summary> /// 注册项目中会使用到的数据库的代理,不能重复注册 /// </summary> /// <param name="agent"></param> public static void RegisterAgent(IDatabaseAgent agent) { if (_agent != null) { return; } _agent = agent; }
public WebApiHost(string url, IDatabaseAgent database, IObjectsManager manager) { _logger = LogManager.GetLogger("[Assets Host]"); _mainUrl = url; _database = database; _manager = manager; }
public ObjectsManager(IDatabaseAgent database, IConnection conn) : base( GenerateGuids.GetActorGuid(TYPEACTOR.OBJECTMANAGER), GenerateGuids.GetActorGuid(TYPEACTOR.EMPTY)) { _logger = LogManager.GetLogger("[Objects Manager]"); _database = database; _conn = conn; _logger.Info("is online"); }
_spawnedObjects; //todo: move to.... or keep as objects per connection? #region ctrors public ServerConnection(IDatabaseAgent database) : base(GenerateGuids.GetActorGuid(TYPEACTOR.CONNECTION), GenerateGuids.GetActorGuid(TYPEACTOR.EMPTY)) { _allClientObjects = new Dictionary <Guid, Tuple <Guid, IGameObject> >(); _database = database; _logger = LogManager.GetLogger("[Connection]"); _clients = new Dictionary <Guid, IConnectionObserver>(); _spawnedObjects = new Dictionary <Guid, IGameObject>(); _loadedScenes = new Dictionary <Guid, ISceneActor>(); _logger.Info("Server connection initialized"); }
//UNUSED public ServerGameObject(IConnection conn, IDatabaseAgent database, string namePrefab) : base( GenerateGuids.GetActorGuid(TYPEACTOR.RANDOM), GenerateGuids.GetActorGuid(TYPEACTOR.EMPTY)) { _clients = new Dictionary <Guid, IGameObjectObserver>(); _connection = conn; _database = database; conn.SpawnGameObject(namePrefab, namePrefab, _localID, _ownerID, Guid.Empty, Guid.Empty, this, Self.ToString()).Wait(); }
public ServerSceneActor(DatabaseScene dscene, IDatabaseAgent database, IConnection conn) : base(dscene.LocalId, GenerateGuids.GetActorGuid(TYPEACTOR.EMPTY)) { _logger = LogManager.GetLogger($"[Scene: {dscene.ServerName}]"); _serverName = dscene.ServerName; _sceneName = dscene.SceneName; _bundleId = dscene.BundleId; _database = database; _conn = conn; _logger.Info("is online"); }
/// <summary> /// Constructs a server-side game object /// </summary> /// <param name="conn">Connection</param> /// <param name="database">Main DB</param> /// <param name="namePrefab">Prefab for owner (avatar,for example)</param> /// <param name="nameNotOwnedPrefab">Prefab for others (should be same if not owned)</param> /// <param name="localId">Object local Id</param> /// <param name="ownerID">Owner Id</param> /// <param name="bundleId">Bundle id, if object is from bundle</param> /// <param name="avatarId">Avatar id</param> /// <param name="avProps">Avatar properties. Should be JSON.</param> /// <param name="additionalBehavioursNamed">Additional behaviours by typename. Currently unused.</param> /// <param name="additionalBehaviours">Collection of additional behaviours by snapshots</param> public ServerGameObject(IConnection conn, IDatabaseAgent database, string namePrefab, string nameNotOwnedPrefab, Guid localId, Guid ownerID, Guid bundleId, Guid avatarId, Guid userId, string avProps, List <string> additionalBehavioursNamed, List <JediumBehaviourSnapshot> additionalBehaviours ) : base(localId, ownerID) { _log = LogManager.GetLogger("Object: " + localId + ", prefab:" + namePrefab); _bundleId = bundleId; _avatarId = avatarId; _clients = new Dictionary <Guid, IGameObjectObserver>(); _connection = conn; _database = database; _namePrefab = namePrefab; _nameNotOwnedPrefab = nameNotOwnedPrefab; Dictionary <string, JediumBehaviourDBSnapshot> dbsnaps = _database.GetObjectBehaviours(_localID).Result; //and for avatar if (avatarId != Guid.Empty) { Dictionary <string, JediumBehaviourDBSnapshot> avsnaps = _database.GetObjectBehaviours(avatarId).Result; foreach (var asnap in avsnaps) { if (!dbsnaps.ContainsKey(asnap.Key)) { dbsnaps.Add(asnap.Key, asnap.Value); } } _avatarProps = avProps; _userId = userId; } _gameObject = new JediumGameObject(this, additionalBehaviours, dbsnaps, _ownerID, _localID); conn.SpawnGameObject(_namePrefab, _nameNotOwnedPrefab, localId, ownerID, _bundleId, avatarId, this, Self.ToString()).Wait(); MessageNum = 0; _log.Info(" is online, address: " + Self); }
public ExitInterviewFactorSelectCommand(IDatabaseAgent databaseAgent, string query) : base(databaseAgent, query) { }
public InterviewGradeDeleteCommand(IDatabaseAgent databaseAgent) : base(databaseAgent) { }
public PayanarApplicationSelectCommand(IDatabaseAgent databaseAgent, string query) : base(databaseAgent, query) { }
//#region 数据映射器 //private static Dictionary<Type, IDataMapper> _mappers = new Dictionary<Type, IDataMapper>(); //internal static IDataMapper GetMapper(Type objectType) //{ // IDataMapper mapper = null; // if (_mappers.TryGetValue(objectType, out mapper)) return mapper; // return null; //} ///// <summary> ///// 注册项目中会使用到的数据库的代理,不能重复注册 ///// </summary> ///// <param name="agent"></param> //public static void RegisterMapper<T>(IDataMapper mapper) // where T : IAggregateRoot //{ // var objectType = typeof(T); // _mappers.Add(objectType, mapper); //} //#endregion static SqlContext() { _agent = DataAccessConfiguration.Current.GetDatabaseAgent() ?? SQLServerAgent.Instance; }
public TableSequanceNumberSelectCommand(IDatabaseAgent databaseAgent, string query) : base(databaseAgent, query) { }
public TableInformationUpdateCommand(IDatabaseAgent databaseAgent) : base(databaseAgent) { }
public TableSequanceNumberUpdateCommand(IDatabaseAgent databaseAgent) : base(databaseAgent) { }
public ExitInterviewFactorUpdateCommand(IDatabaseAgent databaseAgent) : base(databaseAgent) { }
public InterviewFormDetailsSelectCommand(IDatabaseAgent databaseAgent, string query) : base(databaseAgent, query) { }
public InterviewFormHeaderInsertCommand(IDatabaseAgent databaseAgent) : base(databaseAgent) { }
public EmployeeDetailUpdateCommand(IDatabaseAgent databaseAgent) : base(databaseAgent) { }
public InterviewGradeSelectCommand(IDatabaseAgent databaseAgent, string query) : base(databaseAgent, query) { }
public PluginsHost(IDatabaseAgent database, IObjectsManager manager) { _logger = LogManager.GetLogger("[Plugins Host]"); _database = database; _manager = manager; }
public CompanyInsertCommand(IDatabaseAgent databaseAgent) : base(databaseAgent) { }
public EmployeeDetailSelectCommand(IDatabaseAgent databaseAgent, string query) : base(databaseAgent, query) { }
public InterviewFormHeaderUpdateCommand(IDatabaseAgent databaseAgent) : base(databaseAgent) { }
public AssessmentFactorDeleteCommand(IDatabaseAgent databaseAgent) : base(databaseAgent) { }
public AssetsController(IDatabaseAgent database) { _logger = LogManager.GetLogger("[Assets Controller]"); _database = database; }
public AccessDetailsSelectCommand(IDatabaseAgent databaseAgent, string query) : base(databaseAgent, query) { }
public AssessmentFactorInsertCommand(IDatabaseAgent databaseAgent) : base(databaseAgent) { }
public EmployeeDetailInsertCommand(IDatabaseAgent databaseAgent) : base(databaseAgent) { }
public InterviewGradeInsertCommand(IDatabaseAgent databaseAgent) : base(databaseAgent) { }
public CallLetterUpdateCommand(IDatabaseAgent databaseAgent) : base(databaseAgent) { }