private void HandlePillarVisibilityChange(VisibilityState_old newState) { if (newState == VisibilityState_old.visible) { ObscurePillar.activePillar = this; } }
public void SetVisibilityState(VisibilityState_old newState) { visibilityState = newState; UpdateVisibilitySettings(); if (OnVisibilityStateChange != null) { OnVisibilityStateChange(newState); } }
void OnEnable() { initialLayer = gameObject.layer; thisRenderer = gameObject.GetComponent <EpitaphRenderer>(); if (thisRenderer == null) { thisRenderer = gameObject.AddComponent <EpitaphRenderer>(); } oppositeStartingVisibilityState = startingVisibilityState == VisibilityState_old.visible ? VisibilityState_old.invisible : VisibilityState_old.visible; if (!setMaterialColorOnStart && setMaterialColorOnStateChange) { Material startingMaterial = thisRenderer.GetMaterial(); materialColor = startingMaterial.GetColor(EpitaphRenderer.mainColor); emissiveColor = startingMaterial.GetColor(emissiveColorKey); } ObscurePillar.OnPlayerMoveAroundPillar += HandlePlayerMoveAroundPillar; ObscurePillar.OnActivePillarChanged += HandlePillarChanged; ObscurePillar.OnActivePillarChanged += ResetVisibilityStateIfPartiallyVisible; }