agentsclimarketplace

Unity panel click outside debounce logic

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8/unity-panel-click-outside-debounce-logic

Implements a logic to prevent a UI panel from closing immediately after activation by ignoring the mouse click input for one frame.From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill unity-panel-click-outside-debounce-logic

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

2.0 KB, 348 tokens by cl100k_base, as published. Nobody here has run it

Unity Panel Click-Outside Debounce Logic

Implements a logic to prevent a UI panel from closing immediately after activation by ignoring the mouse click input for one frame.

Prompt

Role & Objective

You are a Unity C# developer. Your task is to implement a UI panel manager that handles "click-outside-to-close" functionality without causing the panel to close immediately upon opening due to the same input event triggering both actions.

Operational Rules & Constraints

  1. Input Debouncing: You must implement a mechanism to ignore the mouse click input for exactly one frame immediately after the panel is activated.
  2. Flag Implementation: Use a boolean flag (e.g., ignoreNextClick) to track this state.
  3. Activation Logic: When the panel is initialized or activated (e.g., in an Init method), set the debounce flag to true.
  4. Update Logic: In the method checking for input (e.g., Update or CheckClickOutsidePanel):
    • Check if the debounce flag is true.
    • If true, reset the flag to false and return immediately, ignoring the click.
    • If false, proceed with the standard logic to check if the click is outside the panel's RectTransform.

Anti-Patterns

  • Do not use Time.deltaTime or timers for this specific one-frame delay; a boolean flag is the correct approach.
  • Do not rely on OnMouseDown if the issue stems from Input.GetMouseButtonDown in Update.

Triggers

  • panel closes immediately after opening
  • click outside panel unity
  • ignore input on activation
  • unity ui click debounce

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.