public override void Drop() { Renderer r = GetComponent <Renderer>(); if (player.GetComponent <flipScript>().space) { //Going to real ShaderUtility.ShaderWorldChange(r.material, false); this.gameObject.layer = 11; GetComponent <SelectionRenderChange>().OnDrop(); GetComponent <Transition>().SetStart(0f); GetComponent <MorphController>().OnDeselection(); } else { //Going to laser ShaderUtility.ShaderWorldChange(r.material, true); //GetComponent<Renderer>().material.shader = raycastManager.laserWorldShader; this.gameObject.layer = 10; GetComponent <SelectionRenderChange>().OnDrop(); GetComponent <Transition>().SetStart(1f); GetComponent <MorphController>().OnDeselection(); } _iconContainer.SetOpenHand(); selected = false; rigidbody.freezeRotation = false; rigidbody.GetComponent <Rigidbody>().constraints = RigidbodyConstraints.FreezeAll; rigidbody.isKinematic = true; ResetWalk(); }
public void FlipInternalRenderers(renderersAndProps[] internals, bool dir) { float currentTransitionState = internals[0].renderer.material.GetFloat("_TransitionState"); foreach (renderersAndProps r in internals) { ShaderUtility.ShaderWorldChange(r.renderer.material, dir); r.renderer.GetPropertyBlock(r.propertyBlock); if (dir) { r.propertyBlock.SetFloat("_TransitionState", 1f - currentTransitionState); } else { r.propertyBlock.SetFloat("_TransitionState", currentTransitionState); } r.renderer.SetPropertyBlock(r.propertyBlock); } }