lvjincheng 3 лет назад
Родитель
Сommit
61ba2d9c03

+ 76 - 0
Assets/BowArrow/Resources/Prefabs/Views/FriendView.prefab

@@ -3864,6 +3864,7 @@ RectTransform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children:
   - {fileID: 2098970732597963393}
+  - {fileID: 1657866329755751924}
   m_Father: {fileID: 2098970732063129811}
   m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -4959,6 +4960,81 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+--- !u!1 &2571427477542761929
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1657866329755751924}
+  - component: {fileID: 8755323408728537476}
+  - component: {fileID: 4472502354621805746}
+  m_Layer: 5
+  m_Name: FriendTip
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &1657866329755751924
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2571427477542761929}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 2098970732858207611}
+  m_RootOrder: 1
+  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: 114.7, y: 28.5}
+  m_SizeDelta: {x: 55, y: 55}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8755323408728537476
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2571427477542761929}
+  m_CullTransparentMesh: 1
+--- !u!114 &4472502354621805746
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2571427477542761929}
+  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: 1}
+  m_RaycastTarget: 0
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: a745329c4986d574c9aa1f52ee061bcc, type: 3}
+  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!1 &2714049695902798460
 GameObject:
   m_ObjectHideFlags: 0

BIN
Assets/BowArrow/Resources/Textures/Common/icon_tip.png


+ 120 - 0
Assets/BowArrow/Resources/Textures/Common/icon_tip.png.meta

@@ -0,0 +1,120 @@
+fileFormatVersion: 2
+guid: a745329c4986d574c9aa1f52ee061bcc
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  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
+  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
+  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: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 80 - 3
Assets/BowArrow/Scenes/Home.unity

@@ -851,7 +851,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
-  m_AnchoredPosition: {x: 8.648648, y: 0}
+  m_AnchoredPosition: {x: 8.780488, y: 0}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &219397737
@@ -4031,6 +4031,81 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 664475002}
   m_CullTransparentMesh: 0
+--- !u!1 &669601398
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 669601399}
+  - component: {fileID: 669601401}
+  - component: {fileID: 669601400}
+  m_Layer: 5
+  m_Name: FriendTip
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &669601399
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 669601398}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1745479168}
+  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: 65, y: 55}
+  m_SizeDelta: {x: 55, y: 55}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &669601400
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 669601398}
+  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: 1}
+  m_RaycastTarget: 0
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: a745329c4986d574c9aa1f52ee061bcc, type: 3}
+  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!222 &669601401
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 669601398}
+  m_CullTransparentMesh: 1
 --- !u!1 &669672329
 GameObject:
   m_ObjectHideFlags: 0
@@ -9654,7 +9729,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
-  m_AnchoredPosition: {x: 95.945946, y: 0}
+  m_AnchoredPosition: {x: 96.34146, y: 0}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &1698308730
@@ -10420,7 +10495,8 @@ RectTransform:
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
-  m_Children: []
+  m_Children:
+  - {fileID: 669601399}
   m_Father: {fileID: 1816586353744212361}
   m_RootOrder: 4
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -15054,6 +15130,7 @@ MonoBehaviour:
   - {fileID: 2149841694037615841}
   btnConnectBow: {fileID: 4973226242707535401}
   btnConnectArrow: {fileID: 7700095569980712421}
+  friendTip: {fileID: 669601398}
 --- !u!1 &6695826967318728441
 GameObject:
   m_ObjectHideFlags: 0

+ 20 - 0
Assets/BowArrow/Scripts/Network/UserPlayer.cs

@@ -104,5 +104,25 @@ public class UserPlayer : JCEntity
 
     public void onRequestAddFriend() {
         PopupMgr.ins.ShowTipTop("收到好友添加请求,可到好友界面查看!");
+        tempData.hasFriendRequest = true;
+    }
+
+    public void onHasFriendTip() {
+        tempData.hasFriendRequest = true;
+    }
+
+    public TempData tempData = new TempData();
+    public class TempData {
+        public System.Action onUpdate;
+        private bool _hasFriendRequest;
+        public bool hasFriendRequest {
+            get {
+                return _hasFriendRequest;
+            }
+            set {
+                _hasFriendRequest = value;
+                onUpdate?.Invoke();
+            }
+        }
     }
 }

+ 22 - 0
Assets/BowArrow/Scripts/View/FriendView.cs

@@ -22,9 +22,29 @@ public class FriendView : MonoBehaviour
 
     void Start()
     {
+        if (UserPlayer.ins != null) {
+            UserPlayer.ins.tempData.onUpdate += onUserPlayerTempDataUpdate;
+            onUserPlayerTempDataUpdate();
+        }
         SetBtnTabSelected(btnTabs[0]);
     }
 
+    void OnDestroy() {
+        if (UserPlayer.ins != null) {
+            UserPlayer.ins.tempData.onUpdate -= onUserPlayerTempDataUpdate;
+        }
+    }
+
+    void onUserPlayerTempDataUpdate() {
+        try {
+            var data = UserPlayer.ins.tempData;
+            btnTabs[1].transform.Find("FriendTip").gameObject.SetActive(data.hasFriendRequest);
+        } catch (System.Exception e) {
+            Debug.LogError(e.Message);
+            Debug.LogError(e.StackTrace);
+        }
+    }
+
     #region myFriend
         void InitMyFriendBox() {
             myFriendBox.SetActive(false);
@@ -120,6 +140,7 @@ public class FriendView : MonoBehaviour
                             AudioMgr.ins.PlayBtn();
                             UserPlayer.ins.call("friendComp.decideAddFriend", new object[]{false, otherID});
                             Destroy(o);
+                            UserPlayer.ins.tempData.hasFriendRequest = GetFriendRequestItemParent().childCount - 1 > 1;
                         });
                         Button btnYes = o.transform.Find("BtnYes").GetComponent<Button>();
                         btnYes.onClick.RemoveAllListeners();
@@ -127,6 +148,7 @@ public class FriendView : MonoBehaviour
                             AudioMgr.ins.PlayBtn();
                             UserPlayer.ins.call("friendComp.decideAddFriend", new object[]{true, otherID});
                             Destroy(o);
+                            UserPlayer.ins.tempData.hasFriendRequest = GetFriendRequestItemParent().childCount - 1 > 1;
                         });
                     }
                 } else {

+ 12 - 0
Assets/BowArrow/Scripts/View/HomeView.cs

@@ -11,6 +11,7 @@ public class HomeView : MonoBehaviour
     [SerializeField] GameObject[] genders;
     [SerializeField] GameObject btnConnectBow;
     [SerializeField] GameObject btnConnectArrow;
+    [SerializeField] GameObject friendTip;
     public static HomeView ins;
 
     void Start()
@@ -35,6 +36,17 @@ public class HomeView : MonoBehaviour
         UpdateBtnForConnect();
     }
 
+    void Update() {
+        if (UserPlayer.ins != null) {
+            if (UserPlayer.ins.tempData.hasFriendRequest && !friendTip.activeSelf) {
+                friendTip.SetActive(true);
+            }
+            else if (!UserPlayer.ins.tempData.hasFriendRequest && friendTip.activeSelf) {
+                friendTip.SetActive(false);
+            }
+        }
+    }
+
     public void RenderNameOrGender() {
         nickNameText.text = LoginMgr.myUserInfo.nickname;
         genders[LoginMgr.myUserInfo.gender == 2 ? 1 : 0].SetActive(true);