negitamago
12/27/2018 - 4:12 AM

ItemGetter

アイテムをゲットしたときにイベントを送信する例

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

/// <summary>
/// アイテムをゲットしたときにイベントを送信する例
/// </summary>
public class ItemGetter : MonoBehaviour
{
    public EventHandler ItemGetEvent;   // アイテムをゲットしたときに送るイベント

    [SerializeField] private string itemTag;
    [SerializeField] AudioSource audioSource;

    private int count = 0;

    private void OnTriggerEnter ( Collider other )
    {
        if ( other.CompareTag ( itemTag ) ) GetItem ( other.gameObject );
    }

    private void GetItem ( GameObject item )
    {
        item.SetActive ( false );
        audioSource.Play ();

        ItemGetEvent ( this, EventArgs.Empty ); // イベント送信
    }
}