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"); }