Esempio n. 1
0
    public void SetMode(PlayerModeManager.PlayerMode mode) {
        if (this.mode == mode) {
            Debug.Log("No action");
            return;
        }

        HashSet<TrailRenderer> selected;

        switch (mode) {
            case PlayerModeManager.PlayerMode.Flight:
                selected = flightTrailSet;
                break;
            case PlayerModeManager.PlayerMode.Hover:
                selected = hoverTrailSet;
                break;
            case PlayerModeManager.PlayerMode.Stun:
                selected = stunTrailSet;
                break;
            default:
                Debug.LogError("No trail set for mode: " + mode);
                return;
        }

        foreach (TrailRenderer t in trailTimes.Keys) {
            if (selected.Contains(t)) {
                t.time = trailTimes[t];
            } else {
                t.time = disabledTrailTime;
            }
        }

        Debug.Log(trailTimes.Keys.Count + " trail managers updated");

        this.mode = mode;
    }
    void Awake () {
        camera = Camera.main.transform;
        mode = GetComponent<PlayerModeManager>();

        layerMask = 1 << LayerMask.NameToLayer("Ground") | 1 << LayerMask.NameToLayer("Default") | 1 << LayerMask.NameToLayer("BoidSegment");
    }