Пример #1
0
    public virtual void UseItem() // 아이템 사용 시
    {
        // 해당 아이템 가지고 있는 캐릭터 가져와 상태값 변경
        DataManager dm = DataManager.dataManager;

        childNum = GetChildNum();

        switch (item.type)
        {
        case Item.ItemType.food:
            Children = dm.GetChildren();
            playerState character = Children[childNum].GetComponent <playerState>();
            character.ChangeFull(dm.GetFull(item.ID));
            character.ChangeHP(dm.GetHP(item.ID));
            ItemIO.GotItemSave(item.ID);
            emptyItem();
            break;

        case Item.ItemType.memo:
            // 메모 패널 열기
            // 메모 글 불러오기
            ObjManager.objManager.inventory.OpenMemo(item.ID);
            break;

        case Item.ItemType.trap:
            ItemSpawner spawner = dm.gameObject.GetComponent <ItemSpawner>();
            GameObject  obj     = spawner.SpawnObj(item);

            // 오브젝트 위치 설정
            Vector3 charPos = dm.GetChildren()[childNum - 1].transform.position;
            obj.transform.position = new Vector3(charPos.x, obj.GetComponent <BoxCollider>().size.y / 2, charPos.z);

            // 오브젝트 이름, 태그 설정
            obj.name = item.ID;
            obj.tag  = "trap";

            emptyItem();

            break;
        }

        /* 인벤토리 새로고침 */
        ObjManager.objManager.inventory.RenewInfo();
        ObjManager.objManager.inventory.RenewInventory();
    }