Browse Source

Merge branch 'F/20230904_Demo' of ssh://gogs.ghz-tech.com:30979/GHzGlass/GHZLangChao into F/20230904_Demo

DGJ 1 year ago
parent
commit
9af3022164

+ 18 - 4
Assets/Game/Blue/Controller/Item/DeviceInfo_Item.cs

@@ -11,13 +11,15 @@ namespace GHZLangChao
         public DataItem item;
 
         [SerializeField] private Button DetailsBtn;
+
+        private IQueueSystem mQueueSystem;
         private void Start()
         {
             DetailsBtn.onClick.AddListener(ClickDetails);
         }
 
         int i;
-        public void Init(DeviceParameters DeviceParameter,int i , DataItem item)
+        public void Init(DeviceParameters DeviceParameter, int i, DataItem item)
         {
             this.DeviceParameter = DeviceParameter;
             this.i = i;
@@ -26,12 +28,24 @@ namespace GHZLangChao
 
         private void ClickDetails()
         {
-            DeviceParameter.deviceModel = "NetView400"+i;
+            DeviceParameter.deviceModel = "NetView400" + i;
 
-          //  Vector3 currentPos = transform.position; // 为了将详情面板移动到面前
+            //  Vector3 currentPos = transform.position; // 为了将详情面板移动到面前
 
-            this.SendCommand(new DeviceDetailsUpdataDataCommand(DeviceParameter, currentPos,item)); // 触发事件,打开面板,更新数据
+            this.SendCommand(new DeviceDetailsUpdataDataCommand(DeviceParameter, currentPos, item)); // 触发事件,打开面板,更新数据
             item.gameObject.SetActive(false);
         }
+
+        private void OnEnable()
+        {
+            if (mQueueSystem == null)
+                mQueueSystem = this.GetService<IQueueSystem>();
+            mQueueSystem.Add(gameObject);
+        }
+
+        private void OnDestroy()
+        {
+            mQueueSystem.Remove(gameObject);
+        }
     }
 }

+ 0 - 22
Assets/Game/Blue/Event/GaiLanInfoActiveEvent.cs

@@ -1,22 +0,0 @@
-using Blue;
-
-/// <summary>
-/// 概览信息面板打开事件
-/// </summary>
-public class GaiLanInfoActiveEvent : IEvent
-{
-    public bool Active;
-}
-
-public class GaiLanInfoActiveCommand : ICommand
-{
-    private bool active;
-    public GaiLanInfoActiveCommand(bool active)
-    {
-        this.active = active;
-    }
-    public void OnExcute()
-    {
-        this.SendEvent<GaiLanInfoActiveEvent>(new GaiLanInfoActiveEvent() { Active = active });
-    }
-}

+ 1 - 0
Assets/Game/Blue/GHZLangChao.cs

@@ -18,6 +18,7 @@ namespace GHZLangChao
         private void RegisterService()
         {
             this.RegisterService<ILoginService>(new LoginService());
+            this.RegisterService<IQueueSystem>(new QueueSystem());
         }
 
         private void RegisterUtility()

+ 35 - 0
Assets/Game/Blue/Service/IQueueSystem.cs

@@ -0,0 +1,35 @@
+using System.Collections.Generic;
+using Blue;
+using UnityEngine;
+
+public interface IQueueSystem : IService
+{
+    BindableProperty<int> Level3QueueCount { get; }
+    HashSet<GameObject> Level3List{ get;}
+    void Add(GameObject go);
+    void Remove(GameObject go);
+}
+
+public class QueueSystem : IQueueSystem
+{
+    public BindableProperty<int> Level3QueueCount { get; set; } = new BindableProperty<int>();
+
+    public HashSet<GameObject> Level3List { get; set; }  = new HashSet<GameObject>();
+
+
+    public void OnInit()
+    {
+
+    }
+    public void Add(GameObject go)
+    {
+        Level3List.Add(go);
+        Level3QueueCount.Value = Level3List.Count;
+    }
+
+    public void Remove(GameObject go)
+    {
+        Level3List.Remove(go);
+        Level3QueueCount.Value = Level3List.Count;
+    }
+}

+ 1 - 1
Assets/Game/Blue/Event/GaiLanInfoActiveEvent.cs.meta → Assets/Game/Blue/Service/IQueueSystem.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: e1f4ed17b620d5e4991b942e16d44a4f
+guid: bee62ec34c60f2443951ea7dc3269e8b
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 245 - 0
Assets/Game/PrefabTemplate/借用_拖拽.prefab

@@ -0,0 +1,245 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &3126813705689015890
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7795500674606973475}
+  - component: {fileID: 2507665518965452477}
+  - component: {fileID: 5521545401347047076}
+  - component: {fileID: 637412656707864399}
+  - component: {fileID: 7873507639233317929}
+  - component: {fileID: 4043372850527459612}
+  - component: {fileID: 2136278159761334515}
+  m_Layer: 0
+  m_Name: "\u501F\u7528_\u62D6\u62FD"
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7795500674606973475
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3126813705689015890}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: -0.004700005}
+  m_LocalScale: {x: 250, y: 500, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: -5.397555, y: 71.00154}
+  m_SizeDelta: {x: 0.40543675, y: 0.03}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2507665518965452477
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3126813705689015890}
+  m_CullTransparentMesh: 0
+--- !u!114 &5521545401347047076
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3126813705689015890}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!65 &637412656707864399
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3126813705689015890}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 0.412, y: 0.03, z: 0.008}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &7873507639233317929
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3126813705689015890}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8f8ba16b6be60154694163e1357f21ab, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  GrabbaleTransform: {fileID: 0}
+--- !u!114 &4043372850527459612
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3126813705689015890}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0dbccc4d71ae5b447bab3997600fbdce, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  PointerEnter:
+    m_PersistentCalls:
+      m_Calls: []
+  PointerDown:
+    m_PersistentCalls:
+      m_Calls: []
+  PointerClick:
+    m_PersistentCalls:
+      m_Calls: []
+  PointerUp:
+    m_PersistentCalls:
+      m_Calls: []
+  PointerExit:
+    m_PersistentCalls:
+      m_Calls: []
+  PointerDrag:
+    m_PersistentCalls:
+      m_Calls: []
+  Target: {fileID: 0}
+  StartAudio: 6
+  EndAudio: 5
+  headRotate: 1
+  oneGameControllerRotate: 1
+  canOneHandRotate: 0
+  canTwoHandRotate: 0
+  canTwoHandScale: 0
+  minScaleRatio: 0.8
+  maxScaleRatio: 3
+  isParentDrag: 0
+--- !u!82 &2136278159761334515
+AudioSource:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3126813705689015890}
+  m_Enabled: 1
+  serializedVersion: 4
+  OutputAudioMixerGroup: {fileID: 0}
+  m_audioClip: {fileID: 8300000, guid: 0643f79600b74f247a26d8a6f155669f, type: 3}
+  m_PlayOnAwake: 0
+  m_Volume: 1
+  m_Pitch: 1
+  Loop: 0
+  Mute: 0
+  Spatialize: 0
+  SpatializePostEffects: 0
+  Priority: 128
+  DopplerLevel: 1
+  MinDistance: 1
+  MaxDistance: 50
+  Pan2D: 0
+  rolloffMode: 0
+  BypassEffects: 0
+  BypassListenerEffects: 0
+  BypassReverbZones: 0
+  rolloffCustomCurve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 1
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0.33333334
+      outWeight: 0.33333334
+    - serializedVersion: 3
+      time: 1
+      value: 0
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0.33333334
+      outWeight: 0.33333334
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
+  panLevelCustomCurve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 1
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0.33333334
+      outWeight: 0.33333334
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
+  spreadCustomCurve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 0
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0.33333334
+      outWeight: 0.33333334
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
+  reverbZoneMixCustomCurve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 1
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0.33333334
+      outWeight: 0.33333334
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4

+ 7 - 0
Assets/Game/PrefabTemplate/借用_拖拽.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 16c92e943dc89bb469fc3fdac6c868c6
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 26 - 5
Assets/Game/ShowChoose/ChooseManager.cs

@@ -9,13 +9,17 @@ public class ChooseManager : MonoBehaviour,IController
     [SerializeField] private GameObject Tip;
     [SerializeField] private GameObject ShowDevice => SceneIOCContainer.Instance.Pull("ShowDevice") as GameObject;
     [SerializeField] private Toggle ShowHide_Toggle;
-    void Start()
+
+    private IQueueSystem mQueueSystem;
+    void Awake()
     {
         StartCoroutine(ControlTip());
         ShowDevice.SetActive(true);
 
-        //this.SendCommand<GaiLanInfoActiveCommand>(new GaiLanInfoActiveCommand(true)); 发送一个命令即可
-        this.RegisterEvent<GaiLanInfoActiveEvent>(GaiLanInfoActive); //当设备概览信息显示出来后,该按钮可进行隐藏或显示;设备概览信息未触发的情况,点击该按钮无响应
+        ShowHide_Toggle.onValueChanged.AddListener(ShowHideLevel3);
+        mQueueSystem = this.GetService<IQueueSystem>();
+        mQueueSystem.Level3QueueCount.Register(mQueueSystemCountNotNull).UnRegisterWhenGameObjectDestroyed(gameObject);
+
     }
 
     public void GotoXunJian()
@@ -37,10 +41,27 @@ public class ChooseManager : MonoBehaviour,IController
         Tip.SetActive(false);
     }
 
+    private void OnEnable()
+    {
+        if(mQueueSystem.Level3QueueCount.Value>0)
+            ShowHide_Toggle.interactable = true;
+        Debug.Log($"打开的数量:{mQueueSystem.Level3QueueCount.Value}");
+    }
+    private void ShowHideLevel3(bool on)
+    {
+        Debug.Log("Level3Queue:"+mQueueSystem.Level3List.Count);
+        foreach(var go in mQueueSystem.Level3List)
+        {
+            go.SetActive(!on);
+        }
+    }
+
     #region 事件监听
-    private void GaiLanInfoActive(GaiLanInfoActiveEvent e)
+    private void mQueueSystemCountNotNull(int newCount)
     {
-        ShowHide_Toggle.interactable = e.Active;
+        if(newCount>0)
+            ShowHide_Toggle.interactable = true;
+        Debug.Log($"打开的数量:{mQueueSystem.Level3QueueCount.Value}");
     }
     #endregion
 }

File diff suppressed because it is too large
+ 279 - 311
Assets/Game/ShowSupport/ShowRtc.prefab


+ 50 - 7
Assets/Game/ShowSupport/SupportControl.cs

@@ -1,13 +1,27 @@
-using System.Collections;
-using System.Collections.Generic;
 using UnityEngine;
+using UnityEngine.UI;
+using Blue;
 
-public class SupportControl : MonoBehaviour
+public class SupportControl : AbstractController
 {
-    // Start is called before the first frame update
-    void Start()
+    [SerializeField] private Button Titile_Btn;
+    [SerializeField] private Toggle ShowHide_Toggle;
+
+    private Transform ShowRtcTrans;
+    private IQueueSystem mQueueSystem;
+    void Awake()
     {
-        
+        Init();
+        Titile_Btn.onClick.AddListener(() =>
+        {
+            transform.position = ShowRtcTrans.position;
+            Quaternion ang = Quaternion.LookRotation(OpenXRCamera.Instance.head.position - transform.position);
+            transform.rotation = ang;
+            transform.localEulerAngles = new Vector3(transform.localEulerAngles.x,transform.localEulerAngles.y+180f,transform.localEulerAngles.z);
+        });
+        ShowHide_Toggle.onValueChanged.AddListener(ShowHideLevel3);
+        mQueueSystem = this.GetService<IQueueSystem>();
+        mQueueSystem.Level3QueueCount.Register(mQueueSystemCountNotNull).UnRegisterWhenGameObjectDestroyed(gameObject);
     }
 
     public void showRTC()
@@ -32,6 +46,35 @@ public class SupportControl : MonoBehaviour
     
     public void History()
     {
-        ShowRTC.Instance.gotoWindow(ScenesManager.SceneType.ShowRTCHistory);
+        //ShowRTC.Instance.gotoWindow(ScenesManager.SceneType.ShowRTCHistory);
+    }
+
+    private void Init()
+    {
+        ShowRtcTrans = new GameObject("ShowRtcTrans").transform;
+        ShowRtcTrans.position = OpenXRCamera.Instance.head.position + new Vector3(-1,0,0);
+        ShowRtcTrans.localEulerAngles = new Vector3(0, -90, 0);
+        ShowRtcTrans.SetParent(OpenXRCamera.Instance.head);
+    }
+    
+    private void OnEnable()
+    {
+        if(mQueueSystem.Level3QueueCount.Value>0)
+            ShowHide_Toggle.interactable = true;
+        Debug.Log($"打开的数量:{mQueueSystem.Level3QueueCount.Value}");
+    }
+    private void ShowHideLevel3(bool on)
+    {
+        Debug.Log("Level3Queue:"+mQueueSystem.Level3List.Count);
+        foreach(var go in mQueueSystem.Level3List)
+        {
+            go.SetActive(!on);
+        }
+    }
+    private void mQueueSystemCountNotNull(int newCount)
+    {
+        if(newCount>0)
+            ShowHide_Toggle.interactable = true;
+        Debug.Log($"打开的数量:{mQueueSystem.Level3QueueCount.Value}");
     }
 }

+ 4 - 4
Assets/Game/ShowXunJian/ShowDaoHang.prefab

@@ -1571,7 +1571,7 @@ RectTransform:
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 1, y: 1}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 0, y: 238.78}
+  m_SizeDelta: {x: 0, y: 400}
   m_Pivot: {x: 0, y: 1}
 --- !u!114 &6240691263090879633
 MonoBehaviour:
@@ -3772,7 +3772,7 @@ RectTransform:
   - {fileID: 1678467013842777556}
   - {fileID: 4672334870979798756}
   m_Father: {fileID: 3333306093384337136}
-  m_RootOrder: 3
+  m_RootOrder: 2
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 0, y: 1}
@@ -3822,8 +3822,8 @@ Transform:
   m_Children:
   - {fileID: 7834602434589601592}
   - {fileID: 3487798571507264745}
-  - {fileID: 1056066577903891606}
   - {fileID: 9021331631229394003}
+  - {fileID: 1056066577903891606}
   m_Father: {fileID: 533781171914398967}
   m_RootOrder: 2
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -4174,7 +4174,7 @@ RectTransform:
   m_Children:
   - {fileID: 4922031019597716734}
   m_Father: {fileID: 3333306093384337136}
-  m_RootOrder: 2
+  m_RootOrder: 3
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 0, y: 1}

Some files were not shown because too many files changed in this diff