public virtual void Open(bool open) { if (IvaGameObject != null) { if (IvaGameObjectRenderer != null) { IvaGameObjectRenderer.enabled = open; } } HideOnOpen(open); FreeIva.SetRenderQueues(FreeIva.CurrentPart); if (Collider != null) { Collider.Enable(!open); } if (open) { if (HatchOpenSound != null && HatchOpenSound.audio != null) { HatchOpenSound.audio.Play(); } } else { if (HatchCloseSound != null && HatchCloseSound.audio != null) { HatchCloseSound.audio.Play(); } } }
//public override void Open(bool open) public void Open(bool open) { if (open && _isLocked) { ScreenMessages.PostScreenMessage("Hatch is locked", 1f, ScreenMessageStyle.LOWER_CENTER); return; } if (IvaGameObject != null) { Renderer r = IvaGameObject.GetComponentCached <Renderer>(ref depthMaskRenderer); if (r != null) { r.enabled = open; } } AnimationState animationState = unlockAnimation[openAnimationName]; if (open ^ animationState.speed > 0) { animationState.speed = -animationState.speed; } if (animationState.speed > 0) { animationState.normalizedTime = 0f; } else { animationState.normalizedTime = 1f; } unlockAnimation.clip = animationState.clip; // This animation player could be used for multiple clips. unlockAnimation.enabled = true; unlockAnimation.wrapMode = WrapMode.Once; unlockAnimation.Play(); FreeIva.SetRenderQueues(FreeIva.CurrentPart); if (open) { HatchOpenSound.audio.Play(); } else { HatchCloseSound.audio.Play(); } _isOpen = !_isOpen; }
public override void Open(bool open) { if (ClosedRenderer != null) { ClosedRenderer.enabled = !open; } else { Debug.Log("# ClosedRenderer was null"); } if (OpenRenderer != null) { OpenRenderer.enabled = open; } else { Debug.Log("# OpenRenderer was null"); } HideOnOpen(open); FreeIva.SetRenderQueues(FreeIva.CurrentPart); if (Collider != null) { Collider.Enable(!open); } if (open) { if (HatchOpenSound != null && HatchOpenSound.audio != null) { HatchOpenSound.audio.Play(); } } else { if (HatchCloseSound != null && HatchCloseSound.audio != null) { HatchCloseSound.audio.Play(); } } }
public void Activate(bool activate) { IsActive = !IsActive; AnimationState animationState = Animation[AnimationName]; if (IsActive ^ animationState.speed > 0) { animationState.speed = -animationState.speed; } if (animationState.speed > 0) { animationState.normalizedTime = 0f; } else { animationState.normalizedTime = 1f; } Animation.clip = animationState.clip; // This animation player could be used for multiple clips. Animation.enabled = true; Animation.wrapMode = WrapMode.Once; Animation.Play(); FreeIva.SetRenderQueues(FreeIva.CurrentPart); if (IsActive) { if (ActivateSound != null && ActivateSound.audio != null) { ActivateSound.audio.Play(); } } else { if (DeactivateSound != null && DeactivateSound.audio != null) { DeactivateSound.audio.Play(); } } }
public void Open(bool open) { IvaGameObject.renderer.enabled = open; MeshRenderer[] meshRenderers = Part.internalModel.GetComponentsInChildren <MeshRenderer>(); foreach (var hideProp in HideWhenOpen) { foreach (MeshRenderer mr in meshRenderers) { if (mr.name.Equals(hideProp.Value) && mr.transform != null) { float error = Vector3.Distance(mr.transform.position, hideProp.Key); if (error < 0.15) { Debug.Log("# Toggling " + mr.name); mr.enabled = !open; break; } } } } FreeIva.SetRenderQueues(FreeIva.CurrentPart); if (Collider != null) { Collider.Enable(!open); } if (open) { HatchOpenSound.audio.Play(); } else { HatchCloseSound.audio.Play(); } }