zoukankan      html  css  js  c++  java
  • go.IsActive() && go.GetTag() != 0 的报错

     这个问题原由于 OnEnable Awake  OnEnable OnLevelWasLoaded 这几个问题。

    具体的起因大致是 在OnEnable 中的代码执行的时候这个脚本已经激活了。

    开始我的起始脚本是 

    using UnityEngine;
    using System.Collections;
    /*
     *  游戏从这里开始 ,整个游戏的逻辑初始化开始
     */
    public class LogicWorld:MonoSingleton<LogicWorld>
    {
       
        // 这里有所有需要初始化的 逻辑管理器
        #region property
        public PlayerDatas globalPlayerData;
    
        #endregion
        protected override void OnAwake()
       {
            base.OnAwake();  
            DontDestroyOnLoad(this);
        }
        void Start()
        { 
            StartGame();
            UIMgr.SG.HandlerSence(SenceTypy.UIBackGround , UICommend.CommendType.CreateUIAndShow);
        }
        void StartGame()
        {
            globalPlayerData = RealtimeDataGet.GetData(); //获取本地存储的数据 单机版
           this.gameObject.AddComponent<LayerMgr>();
            this.gameObject.AddComponent<UIMgr>();
            this.gameObject.AddComponent<AppMgr>();
        }
    }

    在这里 我先把这几个 脚本初始化加载了 。 然后我的ResMgr 脚本的单例是这么写的

    public class MonoSingleton<T> : MonoBehaviour where T : MonoSingleton<T>
        {
            private static T instance=null;
            public static T Instance {
                get {
                       if(instance==null)
                       instance=GameObject.Find("GameElement").AddCompnent<T>();
                    return instance;
                }
            }
            
            void OnApplicationQuit () { if (instance != null) instance = null; }
            
            
        }

    导致再次使用时 ResMgr 已经激活

  • 相关阅读:
    Web前端开发工程师编程能力飞升之路
    commonJSAMDCMD
    js正则替换十六进制
    JS获取粘贴内容
    ajax跨域访问总结
    需要坚持,能写出自己满意的内容
    【新年献词】我们是南方周末,我们三十而立
    iOS: 动态更改 backBarButtonItem 的 title
    iOS: 计算 UIWebView 的内容高度
    iOS: 在键盘之上显示一个 View
  • 原文地址:https://www.cnblogs.com/bambomtan/p/5080713.html
Copyright © 2011-2022 走看看