Пример #1
0
        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);
        }
Пример #2
0
        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);
        }