private IEnumerator Routine_Hit() { Color s1 = _BrokenRenderer.material.color; Color s2 = _LightTexture.material.color; Color e = new Color(1.0f, 1.0f, 1.0f, 0.0f); Vector3 ms = _MaskTransform.localScale; for (float t = 0; t < _RepairSpeed; t += Time.deltaTime) { float dt = t / _RepairSpeed; if (_MaskTransform) { Vector3 p1 = Vector3.Lerp(ms, Vector3.zero, dt); _MaskTransform.localScale = Vector3.Lerp(ms, p1, dt); } _BrokenRenderer.material.color = Color.Lerp(s1, e, dt); _LightTexture.material.color = Color.Lerp(s2, e, dt); yield return(null); } _BrokenRenderer.material.color = e; _LightTexture.material.color = e; _MaskTransform.gameObject.SetActive(false); Main_GameManager.RepairCiruit(); if (_EventTarget) { _EventTarget.StartEvent(); } }
public override bool Tap(Main_PlayerCharacter chara) { if (_Character == chara) { base.Tap(chara); if (isOn) { if (canOff) { if (_Event_Off) { _Event_Off.StartEvent(); } if (_Obj_Off) { _Obj_Off.SetActive(true); } if (_Obj_On) { _Obj_On.SetActive(false); } isOn = false; } } else { if (_Event_On) { _Event_On.StartEvent(); } if (_Obj_Off) { _Obj_Off.SetActive(false); } if (_Obj_On) { _Obj_On.SetActive(true); } isOn = true; if (!canOff) { _Sprite.gameObject.SetActive(false); } } } return(true); }