Forráskód Böngészése

遥控和本地存储校准数据

lvjincheng 2 éve
szülő
commit
36fe735583

+ 2 - 1
Assets/DuckHunter/Scripts/SmartBowController.cs

@@ -28,7 +28,8 @@ namespace DuckHunter
         {
         {
             _btnCalibrateGyr.onClick.AddListener(OnClick_CalibrateGyr);
             _btnCalibrateGyr.onClick.AddListener(OnClick_CalibrateGyr);
             _btnCalibrateMag.onClick.AddListener(OnClick_CalibrateMag);
             _btnCalibrateMag.onClick.AddListener(OnClick_CalibrateMag);
-
+            
+            SmartBowHelper.GetInstance().calibrateDataStorageMode = CalibrateDataStorageMode.Local;
             //监听蓝牙状态变化
             //监听蓝牙状态变化
             SmartBowHelper.GetInstance().OnBluetoothStatusChanged += OnBluetoothStatusChanged;
             SmartBowHelper.GetInstance().OnBluetoothStatusChanged += OnBluetoothStatusChanged;
             //监听蓝牙抛出的错误
             //监听蓝牙抛出的错误

+ 17 - 0
Assets/GrassLandShoot/Game.unity

@@ -12022,6 +12022,7 @@ GameObject:
   m_Component:
   m_Component:
   - component: {fileID: 1980744679}
   - component: {fileID: 1980744679}
   - component: {fileID: 1980744680}
   - component: {fileID: 1980744680}
+  - component: {fileID: 1980744681}
   m_Layer: 0
   m_Layer: 0
   m_Name: GrassLandShoot
   m_Name: GrassLandShoot
   m_TagString: Untagged
   m_TagString: Untagged
@@ -12056,6 +12057,22 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 148ea1d23f8c3804f823ed0f0d62819a, type: 3}
   m_Script: {fileID: 11500000, guid: 148ea1d23f8c3804f823ed0f0d62819a, type: 3}
   m_Name: 
   m_Name: 
   m_EditorClassIdentifier: 
   m_EditorClassIdentifier: 
+--- !u!114 &1980744681
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1980744678}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0dde2aee795e0374d9619ea59ab44ef8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  funcItemButtons:
+  - {fileID: 1520691924}
+  - {fileID: 797480944}
+  - {fileID: 522277248}
 --- !u!1001 &1982948080
 --- !u!1001 &1982948080
 PrefabInstance:
 PrefabInstance:
   m_ObjectHideFlags: 0
   m_ObjectHideFlags: 0

+ 60 - 111
Assets/GrassLandShoot/GameMenuView.cs

@@ -6,146 +6,95 @@ using UnityEngine.EventSystems;
 
 
 public class GameMenuView : MonoBehaviour
 public class GameMenuView : MonoBehaviour
 {
 {
-    [SerializeField] GameObject funcView;
-    Button[] funcItemButtons;
-    [SerializeField] Text keyCodeText;
-
-    void Awake()
-    {
-        funcItemButtons = funcView.transform.Find("Items").GetComponentsInChildren<Button>();
-        for (int i = 0; i < funcItemButtons.Length; i++)
-        {
-            int id = i;
-            funcItemButtons[i].onClick.AddListener(delegate() {
-                SelectItem(id, true);
-                ConfirmItem(id);
-            });
+    public Button[] funcItemButtons;
+    private int funcItemButtonIndex = -1;
+    void UpdateFuncItemButtonIndex(int deltaValue) {
+        if (funcItemButtonIndex == -1) funcItemButtonIndex = 0;
+        funcItemButtonIndex += deltaValue;
+        while (funcItemButtonIndex < 0) {
+            funcItemButtonIndex += funcItemButtons.Length;
         }
         }
-        SelectItem(0, true);
+        funcItemButtonIndex %= funcItemButtons.Length;
     }
     }
 
 
     void Update()
     void Update()
     {
     {
         if (Input.GetKeyDown(KeyCode.UpArrow))
         if (Input.GetKeyDown(KeyCode.UpArrow))
 	    {
 	    {
-	        SelectItem(-1);
+            UpdateFuncItemButtonIndex(-1);
+            SetSelectable(funcItemButtons[funcItemButtonIndex]);
             AudioMgr.ins.PlayBtn();
             AudioMgr.ins.PlayBtn();
 	    }
 	    }
         if (Input.GetKeyDown(KeyCode.DownArrow))
         if (Input.GetKeyDown(KeyCode.DownArrow))
 	    {
 	    {
-	        SelectItem(+1);
+	        UpdateFuncItemButtonIndex(1);
+            SetSelectable(funcItemButtons[funcItemButtonIndex]);
             AudioMgr.ins.PlayBtn();
             AudioMgr.ins.PlayBtn();
 	    }
 	    }
         if (Input.GetKeyDown(KeyCode.JoystickButton0) || Input.GetKeyDown(KeyCode.Return))
         if (Input.GetKeyDown(KeyCode.JoystickButton0) || Input.GetKeyDown(KeyCode.Return))
 	    {
 	    {
-	        if (funcView.activeSelf) {
-                ConfirmItem(funcItemIndex);
-            }
-            if (recordItemIns && recordItemOkBtn.interactable) {
-                recordItemOkBtn.onClick.Invoke();
-            }
+            if (funcItemButtonIndex == -1) DuckHunter.TextSmartBowTip.Show("尚未选择按钮");
+            else OnClikc_Confirm();
 	    }
 	    }
         if (Input.GetKeyDown(KeyCode.Escape))
         if (Input.GetKeyDown(KeyCode.Escape))
 	    {
 	    {
-	        if (recordItemIns && recordItemBackBtn.interactable) {
-                recordItemBackBtn.onClick.Invoke();
-            }
+            funcItemButtonIndex = -1;
+	        ResumeTarget();
 	    }
 	    }
     }
     }
 
 
-    void OnGUI()
-    {
-        if (Input.anyKeyDown)
-		{
-			Event e = Event.current;
-			if (e.isKey)
-			{
-				keyCodeText.text = string.Format("按下的键值:[{0}]", e.character);
-			}
-		}
-    }
+    #region 选项功能
+    Selectable _targetSelectable;
+    Vector3 _targetlocalScale;
+    Color _targetColor;
+    Selectable.Transition _btnTransition;
 
 
-    void ShowFuncView(bool active) 
-    {
-        funcView.SetActive(active);
-    }
+    void SetSelectable(Selectable selectable) {
+        if (!selectable) return;
+        if (selectable == _targetSelectable) return;
 
 
-    int funcItemIndex = 0;
+        ResumeTarget();
 
 
-    void SelectItem(int deltaIndex, bool isFixed = false) 
-    {
-        if (!funcView.activeSelf) return;
-        funcItemIndex += deltaIndex;
-        if (funcItemIndex < 0) {
-            funcItemIndex = funcItemButtons.Length - 1;
-        } else if (funcItemIndex >= funcItemButtons.Length) {
-            funcItemIndex = 0;
-        }
-        if (isFixed) funcItemIndex = deltaIndex;
-        for (int i = 0; i < funcItemButtons.Length; i++) {
-            funcItemButtons[i].GetComponentInChildren<Image>().color = i == funcItemIndex ? Color.yellow : Color.white;
-            Text ttt = funcItemButtons[i].GetComponentInChildren<Text>();
-            if (ttt) ttt.color = i == funcItemIndex ? Color.yellow : Color.white;
-            
-        }
-    }   
+        Button btn = selectable.GetComponent<Button>();
+        if (!btn) return;
+        if (!btn.interactable) return;
 
 
+        _targetSelectable = selectable;
 
 
-    void ConfirmItem(int id) 
-    {
-        if (!funcView.activeSelf) return;
-        AudioMgr.ins.PlayBtn();
-        switch (id)
-        {
-            case 1:
-                // ShowFuncView(false);
-                // GameObject v1 = DeviceCalibrateView.Create(DeviceCalibrateItem.Gyr);
-                // RecordItem(v1);
-                break;
-            case 2:
-                // ShowFuncView(false);
-                // GameObject v2 = DeviceCalibrateView.Create(DeviceCalibrateItem.Mag);
-                // RecordItem(v2);
-                break;
-            case 3:
-                // AutoResetView.DoIdentity();
-                break;
-            case 4:
-                // if (LoginMgr.myUserInfo.arrowAccValue == 16) {
-                //     LoginMgr.myUserInfo.arrowAccValue = 64;
-                // } else {
-                //     LoginMgr.myUserInfo.arrowAccValue = 16;
-                // }
-                // LoginMgr.myUserInfo.Save();
-                // RenderArrowAcc();
-                break;
-            case 0:
-                Application.Quit();
-                break;
+        RectTransform rtf = _targetSelectable.transform as RectTransform;
+        _btnTransition = btn.transition;
+        if (btn.transition == Selectable.Transition.ColorTint) { //变色和放大
+            _targetlocalScale = rtf.localScale;
+            rtf.localScale = rtf.localScale * 1.2f;
+            _targetColor = _targetSelectable.targetGraphic.color;
+            var newcolor = _targetSelectable.targetGraphic.color;
+            newcolor.a = 0.4f;
+            _targetSelectable.targetGraphic.color = newcolor;
         }
         }
     }
     }
-
-    // public void RenderArrowAcc()
-    // {
-    //     funcItemButtons[4].GetComponentInChildren<Text>().text = LoginMgr.myUserInfo.arrowAccValue + "G使用中";
-    // }
-
-    GameObject recordItemIns;
-    Button recordItemOkBtn;
-    Button recordItemBackBtn;
-
-    void RecordItem(GameObject itemIns) 
-    {   
-        // ClearRecordItem();
-        // recordItemIns = itemIns;
-        // (recordItemOkBtn, recordItemBackBtn) = itemIns.GetComponent<DeviceCalibrateView>().GetInterfaceBtns();
-        // recordItemBackBtn.onClick.AddListener(delegate() {
-        //     ShowFuncView(true);
-        // });
+    void ResumeTarget()
+    {
+        if (_targetSelectable) {
+            if (_btnTransition == Selectable.Transition.ColorTint) {
+                _targetSelectable.transform.localScale = _targetlocalScale;
+                _targetSelectable.targetGraphic.color = _targetColor;
+            }
+        }
     }
     }
-
-    void ClearRecordItem()
+    void OnClikc_Confirm()
     {
     {
-        if (recordItemIns) Destroy(recordItemIns);
+        try
+        {
+            if (_targetSelectable && _targetSelectable.interactable) {
+                Button btn = _targetSelectable.GetComponent<Button>();
+                btn.onClick.Invoke();
+            }
+        }
+        catch (System.Exception e)
+        {
+            Debug.LogError(e.Message);
+            Debug.LogError(e.StackTrace);
+        }
     }
     }
+    #endregion
 }
 }

BIN
Assets/Packages/JCUnity/JCUnityLib.dll


+ 33 - 0
Assets/Packages/JCUnity/JCUnityLib.dll.meta

@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 80e95dc185efd8c45a1053fd9c3a17da
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/SmartBowSDK/SmartBowSDK.dll