unity中Event Trigger组件应用代码

本文介绍了一个使用Unity实现的UI交互设计方案,通过EventTrigger组件来响应用户的鼠标操作,并根据不同条件改变UI元素的状态。该方案实现了按钮高亮显示、下拉菜单的展开与收起等功能。
using UnityEngine;
using System.Collections;
using UnityEngine.Events;
using UnityEngine.EventSystems;
using System.Collections.Generic;
using UnityEngine .UI ;
public class DistrictBgEvent {



    //门户小界面按钮功能
    private EventTrigger m_eventTrigger;
    public  string pathDistrictBg;
    public GameObject PanelName;
    private  bool m_state = true   ;
    private bool m_state_2 = true;
    private bool m_toggleState = false ;
    // Use this for initialization

    //初始化
    public void StartInit(GameObject Obj,string path)
    {
        if (PanelName.name == "mainPanel(Clone)" || PanelName.name == "mainControllerPanel(Clone)")
        {
            Enter(Obj, path, "Gwh", "管委会");        
        }
        else
        {
            if (pathDistrictBg == "LeftBar/districtBg/mainconbg/")
            {

                Enter(Obj, path, "Gwh", "管委会");
            }
            else
            {

                Exit(Obj, path, "Gwh", "管委会");

            }
           
        }
        Exit(Obj, path, "Gjq", "高教区");
        Exit(Obj, path, "Jmq", "居民区");
        Exit(Obj, path, "Gyq", "工业区");
        Exit(Obj, path, "Yfq", "研发区");
        Exit(Obj, path, "Syq", "商业区");

        m_state = true;
        m_state_2 = true;
        m_toggleState = false ;

}

    //鼠标进入事件
    public void MouseInit(GameObject Obj,string path) {
       
        AddTriggersListener(Obj.transform.Find(path + "LeftBtn/Gwh").gameObject, EventTriggerType.PointerEnter, GwhEnter);
        AddTriggersListener(Obj.transform.Find(path + "LeftBtn/Gjq").gameObject, EventTriggerType.PointerEnter, GjqEnter);
        AddTriggersListener(Obj.transform.Find(path + "LeftBtn/Jmq").gameObject, EventTriggerType.PointerEnter, JmqEnter);
        AddTriggersListener(Obj.transform.Find(path + "LeftBtn/Gyq").gameObject, EventTriggerType.PointerEnter, GyqEnter);
        AddTriggersListener(Obj.transform.Find(path + "LeftBtn/Yfq").gameObject, EventTriggerType.PointerEnter, YfqEnter);
        AddTriggersListener(Obj.transform.Find(path + "LeftBtn/Syq").gameObject, EventTriggerType.PointerEnter, SyqEnter);

        if (PanelName.name == "mainPanel(Clone)" || PanelName.name == "mainControllerPanel(Clone)")
        {

        }
        else
        {
            AddTriggersListener(Obj.transform.FindChild("TopBarBg/districtBg").gameObject, EventT
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值