public static void SetTarget(KillButtonManager __instance, DeadBody target, Roles.Janitor role) { if (role.CurrentTarget && role.CurrentTarget != target) { role.CurrentTarget.GetComponent <SpriteRenderer>().material.SetFloat("_Outline", 0f); } role.CurrentTarget = target; if (role.CurrentTarget && __instance.enabled) { var component = role.CurrentTarget.GetComponent <SpriteRenderer>(); component.material.SetFloat("_Outline", 1f); component.material.SetColor("_OutlineColor", Color.red); __instance.renderer.color = Palette.EnabledColor; __instance.renderer.material.SetFloat("_Desat", 0f); return; } __instance.renderer.color = Palette.DisabledColor; __instance.renderer.material.SetFloat("_Desat", 1f); }
public static IEnumerator CleanCoroutine(DeadBody body, Roles.Janitor role) { KillButtonTarget.SetTarget(DestroyableSingleton <HudManager> .Instance.KillButton, null, role); role.Player.SetKillTimer(PlayerControl.GameOptions.KillCooldown); var renderer = body.GetComponent <SpriteRenderer>(); var backColor = renderer.material.GetColor(BackColor); var bodyColor = renderer.material.GetColor(BodyColor); var newColor = new Color(1f, 1f, 1f, 0f); for (var i = 0; i < 60; i++) { if (body == null) { yield break; } renderer.color = Color.Lerp(backColor, newColor, i / 60f); renderer.color = Color.Lerp(bodyColor, newColor, i / 60f); yield return(null); } UnityEngine.Object.Destroy(body.gameObject); }