Beispiel #1
0
 private void Start()
 {
     _activeTextures = new List <Texture2D>();
     randomizeTeleportDirection();
     _lifeMask                 = renderer.material.GetTexture("_DisplacementMask");
     _lifeShrink               = renderer.material.GetFloat("_DefaultShrink");
     _lifeNormalPush           = renderer.material.GetFloat("_NormalPush");
     _lifeShrinkFacesAmplitude = renderer.material.GetFloat("_Shrink_Faces_Amplitude");
     _state = Enum.GetValues(typeof(TeleportingState)).Random <TeleportingState>();
     if (_state == TeleportingState.Invisible)
     {
         TransitionToInvisible();
     }
     else if (_state == TeleportingState.Visible)
     {
         TransitionToVisible();
     }
     else if (_state == TeleportingState.Growing)
     {
         TransitionToGrowing();
     }
     else if (_state == TeleportingState.Shrinking)
     {
         TransitionToShrinking();
     }
     if (_state == TeleportingState.Teleport || _state == TeleportingState.TeleportVisible)
     {
         TransitionToTeleportVisible();
     }
     if (_state == TeleportingState.TeleportBack || _state == TeleportingState.TeleportBackVisible)
     {
         TransitionToTeleportBackVisible();
     }
     _t = (float)Rng.Dbl();
 }
Beispiel #2
0
 private void TransitionToTeleportBackVisible()
 {
     renderer.gameObject.SetActive(true);
     goToPosition.gameObject.SetActive(false);
     UpdateTextures(renderer, Generate(1, 0, 0), goToPosition, Generate(1, 1, 1));
     _state = TeleportingState.TeleportBackVisible;
     _t     = 0;
 }
Beispiel #3
0
 private void TransitionToShrinking()
 {
     renderer.material.SetTexture("_DisplacementMask", deathMask);
     renderer.material.SetFloat("_DefaultShrink", 0);
     renderer.material.SetFloat("_NormalPush", 0);
     renderer.material.SetFloat("_Shrink_Faces_Amplitude", _deathShrinkFacesAmplitude);
     _state = TeleportingState.Shrinking;
     _t     = 0;
 }
Beispiel #4
0
 private void TransitionToVisible()
 {
     renderer.material.SetTexture("_DisplacementMask", _lifeMask);
     renderer.material.SetFloat("_DefaultShrink", _lifeShrink);
     renderer.material.SetFloat("_NormalPush", _lifeNormalPush);
     renderer.material.SetFloat("_Shrink_Faces_Amplitude", _lifeShrinkFacesAmplitude);
     _state = TeleportingState.Visible;
     _t     = 0;
 }
Beispiel #5
0
 private void TransitionToTeleportingBack()
 {
     renderer.gameObject.SetActive(true);
     goToPosition.gameObject.SetActive(true);
     rendererParticles.transform.localPosition = goToPosition.transform.localPosition;
     rendererParticles.transform.rotation      = Quaternion.LookRotation(renderer.transform.position - goToPosition.transform.position);
     rendererParticles.Play();
     _state = TeleportingState.TeleportBack;
     _t     = 0;
 }