예제 #1
0
        public void InitResolver <InterfaceT>(IServersHolder serverHolder, IPoolBase pool = default)
        {
            InstanceFactory         = pool;
            ResolveType             = Binder.GetInstanceType(serverHolder);
            mConstructor            = ResolveType.GetConstructor;
            mDefaultConstructorInfo = mConstructor(defaultGenericType);

            if (mResolverIDMapper == default)
            {
                mResolverIDMapper = new IntegerMapper <string>();
            }
            SetResolver <InterfaceT>(RESOLVER_CRT, OnResolverDefault, out _);
        }
예제 #2
0
        public void Create(IServersHolder servers)
        {
            aliasTemp = Alias;
            AliasID   = servers.GetAliasID(ref aliasTemp);
            Alias     = string.Empty;

            typeTemp = Type;
            servers.GetAliasID(ref aliasTemp);
            servers.CheckAndCacheType(ref typeTemp, out int id);
            Type = default;

            TypeID = id;

            typeTemp = InterfaceType;
            servers.CheckAndCacheType(ref typeTemp, out id);
            InterfaceType = default;

            InterfaceID = id;

            aliasTemp = string.Empty;
            typeTemp  = default;
        }
예제 #3
0
파일: Server.cs 프로젝트: firefishes/FWGame
 public void SetServerHolder(IServersHolder servers)
 {
     ServersHolder = servers;
 }
예제 #4
0
 public Type GetInstanceType(IServersHolder serverHolder)
 {
     return(serverHolder.GetCachedTypeByID(insType, out int statu));
 }