ソースを参照

添加不同语言切换标题。添加连接提示

slambb 1 年間 前
コミット
89dc8418cb

+ 1 - 1
Assets/BowArrow/InfraredCamera/InfraredDemo.cs

@@ -103,7 +103,7 @@ public class InfraredDemo : JCUnityLib.ViewBase
         GUIStyle labelFont = new GUIStyle();
         labelFont.normal.textColor = new Color(1, 0.6f, 0.6f);
         labelFont.fontSize = Mathf.CeilToInt(Screen.height * 0.03f);
-        GUI.Label(new Rect(Screen.width / 100, Screen.height / 100, 100, 100), "game-20241207-1224-5-1", labelFont);
+        GUI.Label(new Rect(Screen.width / 100, Screen.height / 100, 100, 100), "game-20241216-1224-5-1", labelFont);
     }
 
     void Update()

BIN
Assets/BowArrow/Resources/Textures/GameIcon/NewHome/title_t2.png


+ 123 - 0
Assets/BowArrow/Resources/Textures/GameIcon/NewHome/title_t2.png.meta

@@ -0,0 +1,123 @@
+fileFormatVersion: 2
+guid: cac406f692a3cd94f9c38d68077a42a7
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 0
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 7 - 4
Assets/BowArrow/Resources/Textures/GameIcon/Prefabs/Views/Home/HomeView.prefab

@@ -4318,6 +4318,9 @@ MonoBehaviour:
   layout1: {fileID: 3672234321717008273}
   layout2: {fileID: 6319746184913536358}
   layoutGun: {fileID: 4449772049047786275}
+  titleImage: {fileID: 7715748591454465399}
+  cnTitleSprite: {fileID: 21300000, guid: 6340bf22d55fccf40b0dbfffac139134, type: 3}
+  enTitleSprite: {fileID: 21300000, guid: cac406f692a3cd94f9c38d68077a42a7, type: 3}
 --- !u!1 &3405687114444825116
 GameObject:
   m_ObjectHideFlags: 0
@@ -10047,7 +10050,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &2380280116642831893
 RectTransform:
   m_ObjectHideFlags: 0
@@ -10063,9 +10066,9 @@ RectTransform:
   m_Father: {fileID: 7950452517524989595}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 0, y: 0}
-  m_AnchoredPosition: {x: 0, y: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 67.358, y: -70}
   m_SizeDelta: {x: 123, y: 123}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &3485226410561197407

+ 2 - 0
Assets/BowArrow/Scripts/ArrowSerialPort.cs

@@ -202,6 +202,8 @@ public class ArrowSerialPort : MonoBehaviour
         data.Add(0x85);//异或校验
         data.Add(0x55);//结束码
         serialPortUtility?.Write(data.ToArray());
+
+        DevicesHolder.ins?.ShowConnectTip();
     }
     #endregion
     

+ 13 - 1
Assets/BowArrow/Scripts/Bluetooth/DevicesHolder.cs

@@ -8,6 +8,7 @@ using UnityEngine;
 public class DevicesHolder : MonoBehaviour
 {
     public static DevicesHolder ins;
+    bool bConnected = false;
     public static void Init()
     {
         if (!BluetoothHolder.ins)
@@ -32,13 +33,24 @@ public class DevicesHolder : MonoBehaviour
     // Start is called before the first frame update
     void Start()
     {
-        
+        ShowConnectTip();
+    }
+    /// <summary>
+    /// 提示正在连接
+    /// </summary>
+    public void ShowConnectTip() {
+        if (!bConnected) {
+            PopupMgr.ins.ShowTip(TextAutoLanguage2.GetTextByKey("BConnectTip"), 15f);
+        }
     }
     /// <summary>
     /// 目前应该只使用红外设备,就是 HOUYIPRO,ARTEMISPRO,Gun
     /// </summary>
     /// <param name="deviceType"></param>
     public void SwitchDeviceByType(AimDeviceType deviceType) {
+        bConnected = true;
+        //切换后算连接成功
+        PopupMgr.ins.ShowTip(TextAutoLanguage2.GetTextByKey("BConnectTipSuccess"));
         //1.默认选择第一个玩家(这里沿用了之前的设置信息代码,和蓝牙无关)
         BluetoothAim.ins.setBLEPlayer(BluetoothPlayer.FIRST_PLAYER);
         Debug.Log("[DevicesHolder]当前选择的操作用户:" + BluetoothAim.ins.getBLEPlayer());

+ 20 - 0
Assets/BowArrow/Scripts/Manager/PopupMgr.cs

@@ -42,6 +42,26 @@ public class PopupMgr : MonoBehaviour
         });
         LayoutRebuilder.ForceRebuildLayoutImmediate(tipObj.transform.parent.GetComponent<RectTransform>());
     }
+    public void ShowTip(string text,float duration = 4f)
+    {
+        Transform tipGroup = popupRoot.Find("TipGroup");
+        ClearAllTip();
+        GameObject tipPrefab = tipGroup.Find("Tip").gameObject;
+        GameObject tipObj = GameObject.Instantiate(tipPrefab, tipGroup);
+        tipObj.GetComponentInChildren<Text>().text = text;
+        tipObj.SetActive(true);
+        Sequence seq = DOTween.Sequence();
+        seq.PrependInterval(duration);
+        seq.AppendCallback(() => {
+            HideTip(tipObj);
+            FadeOutTip(tipObj);
+        });
+        tipObj.GetComponent<Button>().onClick.AddListener(delegate () {
+            HideTip(tipObj);
+            FadeOutTip(tipObj);
+        });
+        LayoutRebuilder.ForceRebuildLayoutImmediate(tipObj.transform.parent.GetComponent<RectTransform>());
+    }
     public void ClearAllTip() {
         Transform tipGroup = popupRoot.Find("TipGroup");
         for (int i = 0; i < tipGroup.childCount; i++) {

+ 34 - 1
Assets/BowArrow/Scripts/View/BScript/LayoutManager.cs

@@ -1,17 +1,50 @@
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
+using UnityEngine.UI;
 
 public class LayoutManager : MonoBehaviour
 {
     public GameObject layout1;
     public GameObject layout2;
     public GameObject layoutGun;
+
+    public Image titleImage;
+    public Sprite cnTitleSprite;
+    public Sprite enTitleSprite;
+
     void Start()
     {
-        
+        // 处理语言变化的逻辑
+        if (TextAutoLanguage2.GetLanguage() == LanguageEnum.English)
+        {
+            titleImage.sprite = enTitleSprite;
+            titleImage.SetNativeSize();
+        }
+        else
+        {
+            titleImage.sprite = cnTitleSprite;
+            titleImage.SetNativeSize();
+        }
+        TextAutoLanguage2.OnLanguageChanged += HandleLanguageChange;
     }
 
+    void OnDestroy() {
+        TextAutoLanguage2.OnLanguageChanged -= HandleLanguageChange;
+    }
+    private void HandleLanguageChange(LanguageEnum newLanguage)
+    {
+        // 处理语言变化的逻辑
+        if (newLanguage == LanguageEnum.English)
+        {
+            titleImage.sprite = enTitleSprite;
+            titleImage.SetNativeSize();
+        }
+        else {
+            titleImage.sprite = cnTitleSprite;
+            titleImage.SetNativeSize();
+        }
+    }
     // Update is called once per frame
     void Update()
     {