示例#1
0
    // 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;
        }
    }