public void FadeSilk() { if (silkState == SilkState.On) { silkState = SilkState.Fading; } }
public void ActivateSilk() { silkStartPosition = new Vector3(silkEndGO.transform.position.x, silkStartYGO.transform.position.y, silkEndGO.transform.position.z); silkRenderer.enabled = true; silkState = SilkState.On; Color silkColor = silkRenderer.material.color; silkRenderer.material.color = new Color(silkColor.r, silkColor.g, silkColor.b, 1); silkRenderer.SetWidth(0.001f, 0.001f); silkRenderer.SetPosition(0, silkStartPosition); silkRenderer.SetPosition(1, silkEndGO.transform.position); }
// Update is called once per frame void LateUpdate() { if (silkState == SilkState.On) { silkRenderer.SetPosition(1, silkEndGO.transform.position); float xCorrection = silkEndGO.transform.position.x - silkStartPosition.x; float zCorrection = silkEndGO.transform.position.z - silkStartPosition.z; transform.position += new Vector3(-xCorrection, 0, -zCorrection); } else if (silkState == SilkState.Fading) { Color silkColor = silkRenderer.material.color; silkRenderer.material.color = new Color(silkColor.r, silkColor.g, silkColor.b, silkColor.a - SILK_FADE_SPEED * Time.deltaTime); if (silkRenderer.material.color.a <= 0) { silkRenderer.enabled = false; silkState = SilkState.Off; } } }
// Start is called before the first frame update void Start() { silkRenderer.enabled = false; silkState = SilkState.Off; }
public void DeactivateSilk() { silkRenderer.enabled = false; silkState = SilkState.Off; }