转发UGUI事件响应

2023-10-26

示例:点击UI时,被遮挡的UI也响应

using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

public class ClollideUI : MonoBehaviour, IPointerClickHandler
{
    private bool _toBlue;

    private void ChangeColor()
    {
        _toBlue = !_toBlue;
        GetComponent<Image>().material.SetColor("_Color", _toBlue ? Color.blue : Color.white);
    }

    public void OnPointerClick(PointerEventData eventData)
    {
        ChangeColor();
        ExecuteAll(eventData, ExecuteEvents.pointerClickHandler);
    }

    private void ExecuteAll<T>(PointerEventData eventData, ExecuteEvents.EventFunction<T> functor) where T : IEventSystemHandler
    {
        // 射线检测全部响应物体
        var results = new List<RaycastResult>();
        EventSystem.current.RaycastAll(eventData, results);

        // 转发事件给其他响应物体
        foreach (var result in results.Where(result => result.gameObject != gameObject))
        {
            ExecuteEvents.Execute(result.gameObject, eventData, functor);
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

转发UGUI事件响应 的相关文章

随机推荐

  • http请求 状态码204

    今天在调试接口的时候遇到个问题 一个请求走了两次 一次204 一次200 且 请求204的 Request Method 是 OPTIONS 在网上查看资料后得知 是因为跨域而引起的 OPTIONS是一种 预检请求 浏览器在处理跨域访问的请
  • 【C++】基础语法7--继承

    继承 意义 增加代码利用率 语法 class 类名1 权限 父类2 类名1被称为 子类 或者 派生类 类名2被称为 父类 或者 基类 class dog public class Taidi public dog 继承方式 公共继承方式 p
  • 刷脸支付成功路上任何事都需要经过历练

    刷脸支付自出世以来 争议从未断过 有人认为刷脸支付十分安全便捷 是可以替代扫码支付的支付方式首选 也有人认为刷脸支付会泄露人脸信息造成安全隐患从而拒绝使用 关于刷脸支付安全性 支付宝微信早已出面解释并表示刷脸支付十分安全 也承诺若有因刷脸支
  • 一步一步学习openfire+spark(1)

    以前写过一篇关于openfire的文章 内容比较孤立 写的也比较简单 没有实际意义 正好公司使用的是这个平台 现在从新开始 对openfire这个框架进行系统性的学习 深入的了解openfire以及和openfire配套的spark的开发
  • 按步长对遥感数据进行批量裁剪

    该代码支持多图像裁剪 先将tif格式的图片转为png 再对多个png图片进行批量裁剪 批量裁剪 import os import gdal makeData import numpy as np from osgeo import gdal
  • 量化策略——准备1 系列简介

    文章目录 系列简介 系列重点 避坑 系列简介 量化策略 xxxx 是博主近期新开的一个系列 主要有以下四个方面的内容 量化选股 选择大概率赚钱的好股票 量化择时 选择低买高卖的好时机 量化套利 利用不同市场 品种 价格共识等 进行价差套利
  • 零基础可以学习Python吗?转行小白怎么学Python?

    Python学习常用的技巧有这些 一是要明确自己的学习目的 二是从易到难 循序渐进 三是合理的选择资料 有所取舍 四是坚定自己的信念 以下是关于Python学习技巧的具体介绍 1 明确自己的学习目的 每个人学Python的初衷绝对是不一样的
  • 【工具类】工具类中使用@Autowired

    Component public class Util private static String b Autowired private String a PostConstruct public void init b a Compon
  • SQL server删除表信息代码

    SQL server删除表信息代码 1 delete删除 delete from table 只是删除了表中的内容 并没有把表删除 2 drop删除 drop table 表名 把整个表都删除 3 truncate删除 truncate t
  • 通用mybatis执行sql工具系列解决方案lingdu

    整套逻辑可执行保存到数据库中的sql例如 select from a where a name ling name ling name中的name是由前端传入的参数 经过Lingdu类的动态封装 传入到mapper xml中的sql字符串中
  • python 处理hbase数据

    使用Python调用happybase库 1 thrift 是facebook开发并开源的一个二进制通讯中间件 通过thrift 我们可以用Python来操作Hbase 首先开启Hadoop平台的HadoopMaster的thrift服务
  • 使用webpack中的externals配置项如何配置

    externals配置项用于配置那些不需要打包进应用程序中的第三方依赖 在webpack配置文件中 可以使用以下方式配置externals module exports externals jquery jQuery 上面的配置表示jque
  • gdb C++程序coredump不显示行号问题

    编译程序的时候加上 g就可以了 编译出来的程序会大不少 然后再去gdb就能显示行号了 直接就能定位到具体那一行导致的程序coredump
  • 虚拟机下为ubuntu添加硬盘

    1 在Vm中关闭Ubuntu 设置 中 添加新的硬件设备 选择Hard Disk 点击下一步 2 选择硬盘类型 可以选择IDE 或是SCSI 这里选择SCSI 3 选择虚拟新硬盘的位置 命名 Ubuntu2 vmdk 4 设定硬盘大小 随便
  • python解带L1正则的最小二乘

    给定 H R d n H in R d times n
  • 存储卡目录变成未知文件?这些技巧能让你恢复数据!

    当存储卡的目录变成未知文件时 我们无法直接访问存储卡中的数据 但是 这并不意味着这些数据永远无法恢复 以下是几种可能恢复存储卡数据的方法 使用数据恢复软件 从互联网上下载并安装专业的数据恢复软件这些软件可以扫描存储卡 找回已删除或损坏的数据
  • 用MATLAB的GUI绘图的一个简单例子

    本文参考自https jingyan baidu com article 0f5fb099ade1626d8334ead0 html 略加改动 常用MATLAB进行一些计算 使用GUI功能的话调整参数的时候会比较方便 首先在MATLAB中选
  • FCA-FineReport帆软认证报表工程师(FCA)考试考题

    Part 1 判断题 总分 60分 得分 56 第1题 判断题 进行决策系统平台目录管理时 链接的地址可以选择使用相对路径或绝对路径 得分 2分 满分 2分 正确答案 A A 正确 B 错误 第2题 判断题 次级管理员可新建 编辑 删除有权
  • 爬虫的“黄金搭档”---requests库的详细介绍

    什么是requests Requests is an elegant an simple HTTP library for Python Requests是一个优雅而简单的HTTP库 requests库是一个常用的用于http请求的模块 它
  • 转发UGUI事件响应

    示例 点击UI时 被遮挡的UI也响应 using System Collections using System Collections Generic using System Linq using UnityEngine using U