少年修仙传客户端代码仓库
hch
2025-06-12 204ef05a831c9484e2abc561d27ecbff7c797453
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using vnxbqy.UI;
 
public class CameraSwitch : MonoBehaviour
{
    [SerializeField] GameObject m_CameraNode;
 
    bool cameraActive = true;
    bool check = false;
    int frameCount = 0;
 
    private void Awake()
    {
        WindowCenter.Instance.windowAfterOpenEvent += OnWindowOpen;
        WindowCenter.Instance.windowAfterCloseEvent += OnWindowClose;
    }
 
    private void OnDestroy()
    {
        WindowCenter.Instance.windowAfterOpenEvent -= OnWindowOpen;
        WindowCenter.Instance.windowAfterCloseEvent -= OnWindowClose;
    }
 
    private void OnWindowOpen(Window _window)
    {
        cameraActive = !WindowCenter.Instance.ExistAnyFullScreenOrMaskWin();
 
        if (!cameraActive)
        {
            frameCount = 0;
            check = true;
        }
        else
        {
            if(CameraController.Instance != null && CameraController.Instance.IsInGame)
                m_CameraNode.SetActive(cameraActive);
        }
    }
 
    private void OnWindowClose(Window _window)
    {
        cameraActive = !WindowCenter.Instance.ExistAnyFullScreenOrMaskWin();
 
        if (!cameraActive)
        {
            frameCount = 0;
            check = true;
        }
        else
        {
            //防范意外的情况
            if (CameraController.Instance != null && CameraController.Instance.IsInGame)
                m_CameraNode.SetActive(cameraActive);
        }
    }
 
    private void LateUpdate()
    {
        if (check)
        {
            frameCount++;
            if (frameCount == 3)
            {
                m_CameraNode.SetActive(cameraActive);
                check = false;
                frameCount = 0;
            }
        }
    }
 
 
 
}