/// <summary>
    /// 획득 UI 활성화
    /// </summary>
    /// <param name="value"></param>
    public void ActivatedInfoUI(int value, Actor target, AcquireType acquireType)
    {
        // 획득 UI 노출
        AcquireUI acquireUI = Generate(target.transform.position, acquireType);

        if (acquireUI != null)
        {
            acquireUI.SetInfo(value, target.transform);
        }
    }
    /// <summary>
    /// 획득 UI 초기화
    /// </summary>
    /// <param name="position">표시될 지점</param>
    /// <param name="acquireType">표시될 획득 정보 타입</param>
    /// <returns></returns>
    public AcquireUI Generate(Vector3 position, AcquireType acquireType)
    {
        // 인덱스를 범어났을 시 초기화
        if (acquireUiOrderIndex >= acquireUIs.Length)
        {
            acquireUiOrderIndex = 0;
        }

        AcquireUI acquireUI = acquireUIs[acquireUiOrderIndex];

        // 위치, 인덱스, 스프라이트 셋팅
        acquireUI.transform.position = position;
        acquireUI.UiIndex            = acquireUiOrderIndex;
        acquireUI.Icon = GameManager.Instance.SpriteSetManager.GetSprite(acquireType.ToString());

        // 획득 UI 화면에 표시
        acquireUI.gameObject.SetActive(true);

        // 인덱스 증가
        acquireUiOrderIndex++;

        return(acquireUI);
    }
 /// <summary>
 /// Set current acquire type of the oscilloscope.
 /// </summary>
 public void SetAcquireType(AcquireType memoryDepth)
 {
     Write(":ACQ:TYPE " + memoryDepth.SetterDescription());
 }
    /// <summary>
    /// 아이템 획득 처리
    /// </summary>
    /// <param name="acquireType">획득할 아이템 타입</param>
    /// <param name="gainer">아이템 획득자</param>
    public void TakeItem(AcquireType acquireType, Player gainer)
    {
        int value = 0;

        // 아이템 타입에 따라 획득량 증가
        switch (acquireType)
        {
        case AcquireType.BULLET_ITEM:
            // 주무기가 없는 경우 리턴
            if (gainer.MainGun == null)
            {
                return;
            }

            // 불렛 타입에 따른 총알 수 증가량 변경
            switch (gainer.MainGun.BulletType)
            {
            case Gun.BulletStyle.RIFLE:
                value = RIFLE_GET_VALUE;
                break;

            case Gun.BulletStyle.SNIPE:
                value = SNIPE_GET_VALUE;
                break;

            case Gun.BulletStyle.SHOTGUN:
                value = SHOTGUN_GET_VALUE;
                break;

            case Gun.BulletStyle.STRAY:
                value = STRAY_GET_VALUE;
                break;
            }

            gainer.MainGun.ReloadableBulletCount += value;

            break;

        // 힐 아이템
        case AcquireType.HEAL_ITEM:
            value = HEAL_PACK_VALUE;
            gainer.OnTakeHeal(value);
            break;

        // 수류탄
        case AcquireType.GRENADE_ITEM:
            value = THROW_ITEM_GET_VALUE;
            gainer.GrenadeCount += value;
            break;

        // TnT
        case AcquireType.TNT_ITEM:
            value            = TNT_ITEM_GET_VALUE;
            gainer.TntCount += value;
            break;

        // 골드
        case AcquireType.GOLD_ITEM:
            int ran = Random.Range(GOLD_GET_MIN_VALUE, GOLD_GET_MAX_VALUE + 1);
            value = ran;
            GameAccumulator ga = GameManager.Instance.GetCurrentSceneManager <InGameSceneManager>().GameAccumulator;
            ga.Gold += value;
            break;
        }

        // 획득 UI 노출
        GameManager.Instance.GetCurrentSceneManager <InGameSceneManager>().AcquireUIManager.ActivatedInfoUI(value, gainer, acquireType);
    }