/// <summary> /// 初始化文件系统的新实例。 /// </summary> /// <param name="fullPath">文件系统完整路径。</param> /// <param name="access">文件系统访问方式。</param> /// <param name="stream">文件系统流。</param> private FileSystem(string fullPath, FileSystemAccess access, FileSystemStream stream) { if (string.IsNullOrEmpty(fullPath)) { throw new GameFrameworkException("Full path is invalid."); } if (access == FileSystemAccess.Unspecified) { throw new GameFrameworkException("Access is invalid."); } if (stream == null) { throw new GameFrameworkException("Stream is invalid."); } m_FullPath = fullPath; m_Access = access; m_Stream = stream; m_FileDatas = new Dictionary <string, int>(StringComparer.Ordinal); m_BlockDatas = new List <BlockData>(); m_FreeBlockIndexes = new GameFrameworkMultiDictionary <int, int>(); m_StringDatas = new SortedDictionary <int, StringData>(); m_FreeStringDatas = new Queue <KeyValuePair <int, StringData> >(); m_HeaderData = default(HeaderData); m_BlockDataOffset = 0; m_StringDataOffset = 0; m_FileDataOffset = 0; Utility.Marshal.EnsureCachedHGlobalSize(CachedBytesLength); }
/// <summary> /// 初始化对象池的新实例。 /// </summary> /// <param name="name">对象池名称。</param> /// <param name="allowMultiSpawn">是否允许对象被多次获取。</param> /// <param name="autoReleaseInterval">对象池自动释放可释放对象的间隔秒数。</param> /// <param name="capacity">对象池的容量。</param> /// <param name="expireTime">对象池对象过期秒数。</param> /// <param name="priority">对象池的优先级。</param> public ObjectPool(string name, bool allowMultiSpawn, float autoReleaseInterval, int capacity, float expireTime, int priority) : base(name) { m_Objects = new GameFrameworkMultiDictionary <string, Object <T> >(); m_ObjectMap = new Dictionary <object, Object <T> >(); m_DefaultReleaseObjectFilterCallback = DefaultReleaseObjectFilterCallback; m_CachedCanReleaseObjects = new List <T>(); m_CachedToReleaseObjects = new List <T>(); m_AllowMultiSpawn = allowMultiSpawn; m_AutoReleaseInterval = autoReleaseInterval; Capacity = capacity; ExpireTime = expireTime; m_Priority = priority; m_AutoReleaseTime = 0f; }
public EventSubscriber() { dicEventHandler = new GameFrameworkMultiDictionary <int, EventHandler <GameEventArgs> >(); Owner = null; }
/// <summary> /// 初始化文件系统管理器的新实例。 /// </summary> public FileSystemManager() { m_FileSystems = new Dictionary <string, FileSystem>(); m_RegisteredFileSystems = new GameFrameworkMultiDictionary <string, FileSystem>(); }