首页 > 其他分享 >unity+单例

unity+单例

时间:2024-03-26 16:38:28浏览次数:26  
标签:false gameObject unity 单例 SetActive MOCAGlobalData true public

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ModuleManage : MonoBehaviour
{
    private static ModuleManage _instance;
    public static ModuleManage Instance
    {
        get
        {
            if (_instance == null)
            {
                _instance = FindObjectOfType<ModuleManage>();
            }
            return _instance;
        }
    }
    private ModuleManage() { }
    public QuestionManage questionManage;
    public MOCAQuestionManage mOCAQuestionManage;
    public SceneModelManagr sceneModelManagr;
    public MOCASceneModelManage mOCASceneModelManage;
    public GameObject LeftTable;
    public GameObject RightTable;
    public GameObject mOCAScoreboard;
    public GameObject MOCASceneModel;

    public GameObject Earth;

    // Start is called before the first frame update

    void Awake()
    {
        Debug.Log(MOCAGlobalData.SkinSceneName);
        if (MOCAGlobalData.SkinSceneName == "Environment0")
        {
            Earth.SetActive(true);
        }
        else 
        {
            Earth.SetActive(false);

        }
        LeftTable.SetActive(false);
        RightTable.SetActive(false);

        Debug.Log(MOCAGlobalData. CurrentModuleName);
        if (MOCAGlobalData.CurrentSceneModuleName == "MMSE")
        {
            MOCAGlobalData.CurrentModuleName = "MMSE";

            questionManage.gameObject.SetActive(true);
            mOCAQuestionManage.gameObject.SetActive(false);
            mOCAScoreboard.SetActive(false);
            MOCASceneModel.SetActive(false);
            sceneModelManagr.enabled = true;
            mOCASceneModelManage.enabled = false;
        }
        else if (MOCAGlobalData.CurrentSceneModuleName == "MOCA" || MOCAGlobalData.CurrentSceneModuleName == "智能MoCA")
        {
            MOCAGlobalData.CurrentModuleName = "MOCA";

            questionManage.gameObject.SetActive(false);
            mOCAQuestionManage.gameObject.SetActive(true);
            mOCAScoreboard.SetActive(true);
            MOCASceneModel.SetActive(true);

            sceneModelManagr.enabled = false;
            mOCASceneModelManage.enabled = true;
        }
        else if (MOCAGlobalData.CurrentSceneModuleName == "SCALE")//SCALE
        {
            //混合测试EMCA,首先进入MMSE模块
            MOCAGlobalData.CurrentModuleName = "MMSE";
            questionManage.gameObject.SetActive(true);
            mOCAQuestionManage.gameObject.SetActive(false);
            mOCAScoreboard.SetActive(false);
            MOCASceneModel.SetActive(false);
            sceneModelManagr.enabled = true;
            mOCASceneModelManage.enabled = false;
        }
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

 

标签:false,gameObject,unity,单例,SetActive,MOCAGlobalData,true,public
From: https://www.cnblogs.com/WalkingSnail/p/18096978

相关文章

  • 使用Github托管Unity项目
    ​准备工作在本机生成ssh密钥ssh-keygen-trsa-C"你的邮箱地址"点击回车后会出现生成的密钥路径,我们直接打开密钥复制下来。github官网添加我们的本机密钥进入Github官网,点击设置,选择SSHandGPGkeys点击newSSHkey,将我们刚才在本机生成的ssh密钥放入key中,并起......
  • Unity 切换场景前的进度条效果
    废话不多说上代码,欢迎对Unity有兴趣的伙伴一起探讨学习。usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingUnityEngine.UI;usingUnityEngine.SceneManagement;usingTMPro;//创建一个名为JDT的MonoBehaviour脚本,它可以附加到游......
  • 关于unity的学习-第一天
    首先是关于unity的下载,直接去官网。。。下hub版本,然后安装,再安装这个 选他默认的就好,然后开始创建新的项目 这是选3d 这个里面可以对创建的文件进行设置,指preferrnce 里面可以对扩展进行修改 此处选择vs编辑器果然出现问题了 vs无法下载 这是可能的原因我......
  • 设计模式-单例模式(模拟面试官八股)
    一、请说下设计模式中,你熟悉的设计模式单例模式二、单例模式你有了解吗单例模式是创建型设计模式,该类负责创建自己的对象,他确保一个类只有一个实例,并且提拱了一个去全局访问点来访问该实例。二、单例模式有几种实现方式 1.饿汉式(静态常量)优点:写法容易,在类加载的时候就......
  • Java面试题:用Java并发工具类,实现一个线程安全的单例模式;使用Java并发工具包和并发框架
    面试题一:设计一个Java并发工具类,实现一个线程安全的单例模式,并说明其工作原理。题目描述:请设计一个Java并发工具类,实现一个线程安全的单例模式。要求使用Java内存模型、原子操作、以及Java并发工具包中的相关工具。考察重点:对Java内存模型的理解。对Java并发工具包的了......
  • (Unity)Assembly Definition
    简单来说,AssemblyDefinition是一个可以划分代码集合的东西。​ 其核心用途一是减少编译时间,Unity在需要编译的时候会找到对应的csproj文件,然后直接对其进行重编译。默认情况下所有程序集都搁在Assembly-CSharp.csproj一起编译,随着你脚本越来越多,Assembly-CSharp.csproj也越来越......
  • unity Mirror网络同步
    我们直接来剖析,上干货在github上的主页代码,稍微修改了下:usingSystem.Collections;usingSystem.Collections.Generic;usingMirror;usingUnityEngine;publicclassPlayer:NetworkBehaviour{//Syncedautomatically//自动同步[SyncVar]publicinthe......
  • 【转】[C#] 单例模式
    来自:阿里的通义灵码在C#中,单例模式实现线程安全时通常会采用双重检查锁定(Double-CheckedLocking,DCL)的策略来确保只创建类的一个实例,并且这个过程是线程安全的。两层lock的设计是为了减少获取锁的开销,尤其是当类的实例已经被初始化的情况下。以下是一个使用双重检查锁定的C#......
  • 【Unity】捕捉PC桌面的插件
    【背景】之前介绍了如何用一款名为uWindowCapture的Unity免费插件在Unity的Canvas上展示PC桌面。经过一段时间的使用,本篇继续分享此插件的一些功能和限制。在此感谢作者Hecomi。【特征和限制】一般局域网络环境只能最多达到15帧的帧率,所以别幻想用来窜流游戏或者看电影......
  • Unity解决z冲突(Z-Fighting)的几种方式
    1、在物理上将对象移得更远在大多数情况下,只需增加战斗对象之间的距离就可以解决深度冲突问题。这是最明显的解决方案,但遗憾的是,根据具体情况,并不总是可能的,但如果是的话,那么总是尝试增加对象之间的距离,如果这样做没有任何缺点!UnityZ-Fight示例。2、增加相机的*剪裁*面并减少远......