Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

The TriggerManager class to determine if the object is triggered:

public class TriggerManager : MonoBehaviour
{
    public bool isTriggered = false;
    public bool requireZoom;
    public TriggerManager[] prerequisites;     // Start is called before the first frame update
    void Start()
    {     }     // Update is called once per frame
    void Update()
    {
        
    }     public bool pullTrigger(bool isZoomed)
    {
        // ズームでのトリガを要求するオブジェクトが、非ズーム状態で呼ばれても無視。
        if (requireZoom && !isZoomed)
            return false;         // 前提条件オブジェクトが、トリガを引かれていない状態で存在するならば
        // トリガは引かれない。
        for (int i = 0; i < prerequisites.Length; i++)
            if (prerequisites[i] != null && !prerequisites[i].isTriggered)
                return false;         // ここまで来たら、自分のトリガを引く。
        isTriggered = true;
        return true;
    }
}