// initialize dropItemList private void initItemList() { List <FieldDropDatabaseElement> list = FieldDropDatabase.load(this.type); foreach (FieldDropDatabaseElement e in list) { int objectCount = Mathf.Max(0, Random.Range(e.minObjectCount, e.maxObjectCount + 1)); for (int i = 0; i < objectCount; i++) { int itemCount = Mathf.Max(0, Random.Range(e.minItemCount, e.maxItemCount + 1)); dropItemList.Add(new FieldItemElement(e.id, itemCount)); } } // YES THIS IS F*****G HARD-CODING!! /* * rocket 필드에는 우주선 구성에 필요한 6개 아이템이 있는데 (count가 0이라 필드 상에 표시되지는 않음) * 그 중 랜덤한 하나의 count를 -1로 지정해주고, 이것이 부족한 아이템이 된다 */ if (getType() == FIELDTYPE.ROCKET) { int randomIdx = Random.Range(0, dropItemList.Count); dropItemList[randomIdx].currentCount = -1; } }