Example #1
0
    public IEnumerator InitUI()
    {
        var root = GameObject.Find("UIRoot");

        if (null == root)
        {
            var prefabPath = "UI/UIRoot";
            var ret        = ResourceManager.PrepareResourceWithHolder <GameObject>(prefabPath);
            yield return(ret.Wait());

            root = Instantiate(ret.Resource) as GameObject;
        }

        //var rootLogic = root.AddComponent<UIRootLogic>();
        var camera = root.gameObject.transform.Find("Camera").gameObject;

        UIManager.Instance.ResetUIRoot(root, camera.GetComponent <Camera>());

        UIManager.Instance.GetController(UIConfig.MainUI).RefreshData(null);
        var co = StartCoroutine(UIManager.Instance.ShowUICoroutine(UIConfig.MainUI));

        yield return(co);


        //EventDispatcher.Instance.DispatchEvent(new Show_UI_Event(UIConfig.MianUI));
        //EventDispatcher.Instance.DispatchEvent(new Show_UI_Event(UIConfig.MissionTrackList));
        //InputManager.Instance.OnMoveDestination = MoveTo;
        //UIManager.Instance.JoyStick.GetComponent<JoyStickLogic>().OnMoveDirection = MoveDirection;
        //JoyStickLogic.Instance().OnMoveDirection = MoveDirection;
        //UIManager.Instance.SkillBar.GetComponent<SkillBarLogic>().OnClickEvent = OnClickEvent;

        DebugHelper.CreateDebugHelper();

        if (IsFristLogin)
        {
            //初始化推送
            EventDispatcher.Instance.DispatchEvent(new UIEvent_RefreshPush(-1, 0));

            if (PlayerDataManager.Instance.CheckCondition(40000) == 0)
            {
                UIManager.Instance.ShowUI(UIConfig.RewardFrame, new UIRewardFrameArguments
                {
                    Tab = 2
                });
                IsFristLogin = false;
            }

            //统计数据forkuaifa
            var characterId   = PlayerDataManager.Instance.GetGuid().ToString();
            var characterName = PlayerDataManager.Instance.PlayerDataModel.CharacterBase.Name;
            var level         = PlayerDataManager.Instance.GetLevel();
            var serverId      = PlayerDataManager.Instance.ServerId.ToString();
            var serverName    = PlayerDataManager.Instance.ServerName;
            var vipLevel      = PlayerDataManager.Instance.GetRes((int)eResourcesType.VipLevel);
            var battleName    = PlayerDataManager.Instance.BattleName;
            var ts            = PlayerDataManager.Instance.CharacterFoundTime - DateTime.Parse("1970-1-1");
            var time          = (int)ts.TotalSeconds;
            PlatformHelper.CollectionEnterGameDataForKuaifa(characterId, characterName, level, serverId, serverName, vipLevel, battleName, time.ToString());
        }
    }
Example #2
0
    public IEnumerator InitUI()
    {
        //UIManager.Instance.CreatePrelayer();
        UIManager.Instance.GetController(UIConfig.MainUI).RefreshData(null);
        var showUiCoroutine = StartCoroutine(UIManager.Instance.ShowUICoroutine(UIConfig.MainUI));

        yield return(showUiCoroutine);

        UIManager.Instance.OnEnterScene();

        HeadBoardManager.Instance.Init();
        DamageBoardManager.Instance.Init();
        GainItemTipManager.Instance.Init();
        UIHintBoardManager.Instance.Init();

        DebugHelper.CreateDebugHelper();


        if (IsFristLogin)
        {
            //初始化推送
            EventDispatcher.Instance.DispatchEvent(new UIEvent_RefreshPush(-1, 0));



//             if (PlayerDataManager.Instance.CheckCondition(40000) == 0)
//             {
//                 UIManager.Instance.ShowUI(UIConfig.RewardFrame, new UIRewardFrameArguments
//                 {
//                     Tab = 2
//                 });
//                 IsFristLogin = false;
//             }

            //统计数据forkuaifa
            var characterId   = PlayerDataManager.Instance.GetGuid().ToString();
            var characterName = PlayerDataManager.Instance.PlayerDataModel.CharacterBase.Name;
            var level         = PlayerDataManager.Instance.GetLevel();
            var serverId      = PlayerDataManager.Instance.ServerId.ToString();
            var serverName    = PlayerDataManager.Instance.ServerName;
            var vipLevel      = PlayerDataManager.Instance.GetRes((int)eResourcesType.VipLevel);
            var battleName    = PlayerDataManager.Instance.BattleName;
            var ts            = PlayerDataManager.Instance.CharacterFoundTime - DateTime.Parse("1970-1-1");
            var time          = (int)ts.TotalSeconds;
            var diamond       = PlayerDataManager.Instance.GetRes((int)eResourcesType.DiamondRes);

            var timeLevel       = DateTime.Now - DateTime.Parse("1970-1-1");
            var timeLevelSecond = (int)timeLevel.TotalSeconds;
            var levelupTime     = PlayerPrefs.GetString(characterName + "timeLv", timeLevelSecond.ToString());

            PlatformHelper.CollectionEnterGameDataForKuaifa(characterId, characterName, level, serverId, serverName, vipLevel, battleName, time.ToString(), diamond.ToString(), levelupTime);
        }
    }
        void Awake()
        {
            //设置当前场景
            if (null == GameManager.gameManager)
            {
                ResourceManager.InstantiateResource("Prefab/Logic/GameManager", "GameManagerObject");
                if (null != GameManager.gameManager)
                {
                    GameManager.gameManager.Init();
                }
                else
                {
                    LogModule.ErrorLog("Create GameManagerInstance failed");
                }
            }

            if (null == PlatformListener.Instance())
            {
                ResourceManager.InstantiateResource("Prefab/Logic/PlatformListener", "PlatformListener");
            }
            //将当前场景SceneLogic放入GameManager暂存
            GameManager.gameManager.SceneLogic = this;

            ResourceManager.InstantiateResource("Prefab/Logic/FingerGestures", "FingerGestures");

            // 将Debug工具挂入场景,如发布正式版,注释掉此行代码
            DebugHelper.CreateDebugHelper();
            CreateAndroidHelper();             //```````````````````
            Singleton <ObjManager> .GetInstance().OnEnterScene();

            // 动态加载场景无法加载SHADER问题
#if UNITY_EDITOR
            GameObject SceneObj = GameObject.Find("Scene");
            if (null != SceneObj && SceneObj.GetComponent <ShaderFix>() == null)
            {
                SceneObj.AddComponent <ShaderFix>();
            }

            TeleportPoint[] Teleports = GameObject.FindObjectsOfType <TeleportPoint>();
            foreach (TeleportPoint curTeleport in Teleports)
            {
                if (curTeleport.gameObject.GetComponent <ShaderFix>() == null)
                {
                    curTeleport.gameObject.AddComponent <ShaderFix>();
                }
            }
#endif
            GameManager.gameManager.ActiveScene.Init();

            //为了防止低端机型在场景切换完成和人物创建完成之间会照到空白的地方,这里先调整一下摄像机的位置
            if (null != Camera.main)
            {
                Vector3 camInitPos = GameManager.gameManager.PlayerDataPool.EnterSceneCache.EnterScenePos;
                camInitPos    = ActiveScene.GetTerrainPosition(camInitPos);
                camInitPos.y += 8.0f;
                Camera.main.transform.position = camInitPos;
            }

            //初始化场景通路图
            if (null != GameManager.gameManager.AutoSearch)
            {
                GameManager.gameManager.AutoSearch.InitMapConnectPath();
            }

            //设置是否可处理消息包
            NetWorkLogic.GetMe().CanProcessPacket = true;

            // 广播进入场景消息
            if (GameManager.gameManager.RunningScene != (int)GameDefine_Globe.SCENE_DEFINE.SCENE_LOADINGSCENE)
            {
                Messenger.Broadcast(MessengerConst.OnEnterSceneFinish);
            }
        }