private void UpdateVisibility(VisionState nvs) { if (VisionState != nvs) { VisionState = nvs; if (VisibleObject) { VisibleObject.SetActive(nvs == VisionState.VISIBLE); } if (HiddenObject) { HiddenObject.SetActive(nvs == VisionState.HIDDEN); } if (SeenObject) { SeenObject.SetActive(nvs == VisionState.SEEN); } UpdateParticleSystems(nvs); //foreach (var r in GetComponentsInChildren<Renderer>()) r.enabled = (nvs != VisionState.HIDDEN); foreach (var obj in mapObjects.Values) { ApplyVisibilityToObject(obj); } } }