private List<Item> containItem; // 해당 폴더에 속해있는 아이템들에 대한 정보를 가지고 있는 ArrayList입니다. /// <summary> /// 폴더 구현을 위해 필요한 정보를 가지고 Folder 인스턴스를 초기화합니다. /// </summary> /// <param name="folderID">해당 폴더의 ID입니다.</param> /// <param name="folderName">해당 폴더의 이름입니다.</param> /// <param name="folderSprite">해당 폴더의 이미지를 가리킵니다.</param> /// <param name="upperFolderInfo">해당 폴더의 상위 폴더 정보입니다.</param> /// <param name="isAccessible">해당 폴더의 접근 여부입니다. 기본 값은 False입니다.</param> /// <param name="lowerFolderInfo">해당 폴더의 하위 폴더들의 ID를 가리킵니다. 기본 값은 Null(존재하지 않음)입니다.</param> /// <param name="items">해당 폴더에 속해있는 아이템의 리스트입니다.</param> public Folder(int folderID, string folderName, Sprite folderSprite, FolderShortcut upperFolderInfo, bool isAccessible = false, FolderShortcut[] lowerFolderInfo = null, params Item[] items) { this.FolderID = folderID; this.Name = folderName; this.UpperFolderInfo = upperFolderInfo; this.IsAccessible = isAccessible; this.FolderSprite = folderSprite; this.lowerFolderInfo = new List<FolderShortcut>(); this.containItem = new List<Item>(); if (lowerFolderInfo != null) { this.lowerFolderInfo.AddRange(lowerFolderInfo); } if (items != null) { this.containItem.AddRange(items); } }
/// <summary> /// 인자로 전달된 폴더를 해당 폴더의 하위 폴더 리스트에서 지웁니다. /// </summary> /// <param name="folder">지우고자 하는 폴더입니다.</param> public void DeleteLowerFolder(FolderShortcut folder) { this.lowerFolderInfo.Remove(folder); }
/// <summary> /// 해당 폴더의 하위 폴더를 추가합니다. /// </summary> /// <param name="folder">추가하고자 하는 폴더입니다.</param> public void AddLowerFolder(FolderShortcut folder) { this.lowerFolderInfo.Add(folder); }