public User(IAgent agent) { _Agent = agent; _ConnectProvider = new TProvider<IConnect>(); _OnlineProvider = new TProvider<IOnline>(); _Machine = new StageMachine(); _Updater = new Updater(); }
public static ISerializerStorage <T> CreateCompiled <T, TComp, TBuilder, TProvider>() where TComp : ISerExprCompilerOf <T> where TBuilder : ISerMethodBuilderOf <T, TComp>, new() where TProvider : ISerMatchingProviderOf <T, TComp>, new() { var provider = new TProvider(); var builder = new TBuilder(); var strategy = provider.Build(); builder.Strategy = strategy; return(new SerializerStorage <T>(builder.Build())); }
public static ISizeOfStorage <T> CreateCompiled <T, TComp, TBuilder, TProvider>() where TComp : ICalculateFuncCompilerOf <T> where TBuilder : ICalculateFuncBuilderOf <T, TComp>, new() where TProvider : ISizeMatchingProviderOf <T, TComp>, new() { var provider = new TProvider(); var builder = new TBuilder(); var strategy = provider.Build(); builder.Strategy = strategy; return(new SizeOfStorage <T>(builder.Build())); }
public static TSingleton Create <TSingleton, TProvider> () where TProvider : ISingletonProvider <TSingleton>, new () { var singleton = Get <TSingleton> (); if (singleton != null) { return(singleton); } // create singleton = new TProvider().ProvideSingleton(); if (singleton == null) { Debug.LogErrorFormat("SingletonUtil->Create: can NOT create singleton [{0}] by provider [{1}]", typeof(TSingleton).Name, typeof(TProvider).Name); return(default(TSingleton)); } Bind(singleton); CallOnCreateIfPossible(singleton); return(singleton); }
/// <summary> /// Add provider <br /> /// 添加提供者程序 /// </summary> /// <typeparam name="TProvider"></typeparam> public void AddProvider <TProvider>() where TProvider : class, ISniffingDescriptorProvider, new() { var provider = new TProvider(); AddProvider(provider); }
public OfflineStage(IAgent agent, TProvider<IConnect> _ConnectProvider) { _Agent = agent; this._ConnectProvider = _ConnectProvider; _Connect = new Connect(); }
public override void Configure(TProvider provider) { configureProvider?.Invoke((TSpecialization)provider); }
public abstract void Configure(TProvider provider);
public OnlineStage(IAgent agent, TProvider<IOnline> provider) { _Agent = agent; _OnlineProvider = provider; _Online = new Online(agent); }