private GameObject CreateView(string newScreenId) { var view = viewCreator.Create(newScreenId); if (OnViewCreated != null) { OnViewCreated(newScreenId, view); } return(view); }
public EntryEditorBaseView CreateView(Type entryType) { IViewCreator creator = null; if (_creators.TryGetValue(entryType, out creator)) { return(creator.Create()); } else { throw new InvalidOperationException($"{entryType}' type not registered."); } }
public DanmakuView Get() { DanmakuView view; if (Cache == null) { // 缓存中没有View if (InUseSize >= MaxSize) { return(null); } view = Creator.Create(); } else { // 有可用的缓存,从缓存中取 view = Cache.Poll().DanmakuView; } view.AddOnExitListener(new DanmakuExitListener(this)); InUseSize++; return(view); }