对战初步完成

This commit is contained in:
lishuo 2022-05-10 19:24:07 +08:00
parent b0c0890ca3
commit 509c309252
55 changed files with 7079 additions and 6748 deletions

View File

@ -0,0 +1,302 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4004685694961810270
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8677947232269612421}
- component: {fileID: 8458396860255552010}
- component: {fileID: 4317101118078111407}
- component: {fileID: 2070059875145325856}
m_Layer: 5
m_Name: Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8677947232269612421
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4004685694961810270}
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: 6504393824051335961}
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: -0, y: 0}
m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8458396860255552010
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4004685694961810270}
m_CullTransparentMesh: 0
--- !u!114 &4317101118078111407
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4004685694961810270}
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: 0.9764706, g: 0.1882353, b: 0.5254902, a: 1}
m_RaycastTarget: 1
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!114 &2070059875145325856
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4004685694961810270}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: adb30198aa32dd140b5750692dd48104, type: 3}
m_Name:
m_EditorClassIdentifier:
radius: 6
--- !u!1 &5233097001461701591
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7293663517835848793}
- component: {fileID: 4011317909851338225}
- component: {fileID: 1152582558003027818}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7293663517835848793
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5233097001461701591}
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: 6504393824051335961}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4011317909851338225
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5233097001461701591}
m_CullTransparentMesh: 0
--- !u!114 &1152582558003027818
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5233097001461701591}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 56ffaecccce0ae34fa083c91bcabecdb, type: 3}
m_FontSize: 14
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 10
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 1
--- !u!1 &6498461380654085756
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6504393824051335961}
- component: {fileID: 8314874553444194766}
- component: {fileID: 2873632742725853869}
- component: {fileID: 4397362811858750648}
- component: {fileID: 162527733359028705}
m_Layer: 5
m_Name: PFUIPageBtn
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6504393824051335961
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6498461380654085756}
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:
- {fileID: 8677947232269612421}
- {fileID: 7293663517835848793}
m_Father: {fileID: 0}
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_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8314874553444194766
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6498461380654085756}
m_CullTransparentMesh: 0
--- !u!114 &2873632742725853869
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6498461380654085756}
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: 0.25490198, g: 0.25882354, b: 0.31764707, a: 1}
m_RaycastTarget: 1
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!114 &4397362811858750648
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6498461380654085756}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 2873632742725853869}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!114 &162527733359028705
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6498461380654085756}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: adb30198aa32dd140b5750692dd48104, type: 3}
m_Name:
m_EditorClassIdentifier:
radius: 6

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -0,0 +1,435 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &822402955209879126
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6588472641444449108}
- component: {fileID: 2291246779552870050}
- component: {fileID: 5742292171245952026}
- component: {fileID: 3377461910246983980}
m_Layer: 5
m_Name: icon_owner_l
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &6588472641444449108
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 822402955209879126}
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:
- {fileID: 8439614869917329849}
m_Father: {fileID: 4579759975967233373}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 32, y: 12}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2291246779552870050
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 822402955209879126}
m_CullTransparentMesh: 0
--- !u!114 &5742292171245952026
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 822402955209879126}
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: 1
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!114 &3377461910246983980
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 822402955209879126}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: adb30198aa32dd140b5750692dd48104, type: 3}
m_Name:
m_EditorClassIdentifier:
radius: 6
--- !u!1 &2829159119150016345
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8439614869917329849}
- component: {fileID: 8333423988551827496}
- component: {fileID: 455849264984660850}
- component: {fileID: 1196958514764798091}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8439614869917329849
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2829159119150016345}
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: 6588472641444449108}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: 0.8, y: 7}
m_SizeDelta: {x: 28, y: 10}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8333423988551827496
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2829159119150016345}
m_CullTransparentMesh: 0
--- !u!114 &455849264984660850
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2829159119150016345}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.9764706, g: 0.1882353, b: 0.5254902, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 1db9e217733971041be26b076fda6083, type: 3}
m_FontSize: 8
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 1
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 1
m_VerticalOverflow: 1
m_LineSpacing: 0
m_Text: 'Owner
'
--- !u!114 &1196958514764798091
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2829159119150016345}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e47f6ee11b78f3247a0b474b6c36e2cd, type: 3}
m_Name:
m_EditorClassIdentifier:
key:
--- !u!1 &4579759975967233372
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4579759975967233373}
- component: {fileID: 4579759975967233368}
- component: {fileID: 4579759975967233371}
- component: {fileID: 4579759975967233370}
- component: {fileID: 8759017605774147426}
m_Layer: 5
m_Name: Head
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4579759975967233373
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4579759975967233372}
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:
- {fileID: 4579759974294400264}
- {fileID: 6588472641444449108}
m_Father: {fileID: 0}
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_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4579759975967233368
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4579759975967233372}
m_CullTransparentMesh: 0
--- !u!114 &4579759975967233371
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4579759975967233372}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Texture: {fileID: 2800000, guid: c9d9f81f5f6eb614e99f451057ac7074, type: 3}
m_UVRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
--- !u!114 &4579759975967233370
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4579759975967233372}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: adb30198aa32dd140b5750692dd48104, type: 3}
m_Name:
m_EditorClassIdentifier:
radius: 16
--- !u!114 &8759017605774147426
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4579759975967233372}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c7fd898b102fbad479f0d0037b505976, type: 3}
m_Name:
m_EditorClassIdentifier:
IconOwnerLightImg: {fileID: 5742292171245952026}
IconOwnerImg: {fileID: 4579759974294400262}
Head: {fileID: 4579759975967233371}
--- !u!1001 &5421092647063320177
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 4579759975967233373}
m_Modifications:
- target: {fileID: 8409632710132128631, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_Material
value:
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_AnchorMax.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_AnchorMin.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_SizeDelta.x
value: 32
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_SizeDelta.y
value: 12
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128634, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_Name
value: icon_owner
objectReference: {fileID: 0}
- target: {fileID: 8409632710132128634, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: d9b1b32cc3fc7584b9542312671ca2a4, type: 3}
--- !u!224 &4579759974294400264 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 8409632710132128633, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
m_PrefabInstance: {fileID: 5421092647063320177}
m_PrefabAsset: {fileID: 0}
--- !u!114 &4579759974294400262 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 8409632710132128631, guid: d9b1b32cc3fc7584b9542312671ca2a4,
type: 3}
m_PrefabInstance: {fileID: 5421092647063320177}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,932 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &179832686330868983
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1029861625540241372}
- component: {fileID: 832169509085611536}
- component: {fileID: 7857587847911608166}
m_Layer: 5
m_Name: Rank
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1029861625540241372
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 179832686330868983}
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: 1967269365151318092}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 33, y: -33}
m_SizeDelta: {x: 26, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &832169509085611536
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 179832686330868983}
m_CullTransparentMesh: 0
--- !u!114 &7857587847911608166
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 179832686330868983}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 9428f2aab98e9c34d923a9174035a197, type: 3}
m_FontSize: 20
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 0
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 1
m_LineSpacing: 1
m_Text: 00
--- !u!1 &1217203292474343182
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5351483503476211252}
- component: {fileID: 8369678322392034571}
- component: {fileID: 5374125960092474038}
- component: {fileID: 5331821520423654773}
m_Layer: 5
m_Name: NewRecord
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &5351483503476211252
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1217203292474343182}
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: 1967269365151318092}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 305, y: 0}
m_SizeDelta: {x: 50, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8369678322392034571
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1217203292474343182}
m_CullTransparentMesh: 0
--- !u!114 &5374125960092474038
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1217203292474343182}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Texture: {fileID: 2800000, guid: 4d23195d006b78a409e399ad0d0e4849, type: 3}
m_UVRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
--- !u!114 &5331821520423654773
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1217203292474343182}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: adb30198aa32dd140b5750692dd48104, type: 3}
m_Name:
m_EditorClassIdentifier:
radius: 23
--- !u!1 &1782278869103422184
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2607804651156158952}
- component: {fileID: 7841509205764756371}
- component: {fileID: 7081856593100536653}
m_Layer: 5
m_Name: Name
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2607804651156158952
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1782278869103422184}
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: 1967269365151318092}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 230, y: -33}
m_SizeDelta: {x: 200, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7841509205764756371
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1782278869103422184}
m_CullTransparentMesh: 0
--- !u!114 &7081856593100536653
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1782278869103422184}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 9428f2aab98e9c34d923a9174035a197, type: 3}
m_FontSize: 16
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 1
m_MaxSize: 116
m_Alignment: 0
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text:
--- !u!1 &2117775484033885141
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1967269365151318092}
- component: {fileID: 6699005068001180933}
- component: {fileID: 8671272299784352712}
- component: {fileID: 5010059943428245473}
m_Layer: 5
m_Name: RoomRankItem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1967269365151318092
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2117775484033885141}
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:
- {fileID: 8236548681081935979}
- {fileID: 1029861625540241372}
- {fileID: 7920925398253333883}
- {fileID: 3038475962926185185}
- {fileID: 2607804651156158952}
- {fileID: 8988124241667687885}
- {fileID: 5351483503476211252}
- {fileID: 1557006935995449134}
- {fileID: 2373683716047896353}
- {fileID: 7403100505738979391}
m_Father: {fileID: 0}
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_SizeDelta: {x: 432, y: 66}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6699005068001180933
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2117775484033885141}
m_CullTransparentMesh: 0
--- !u!114 &8671272299784352712
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2117775484033885141}
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: 0.13725491, g: 0.13725491, b: 0.1764706, a: 0.29803923}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 1
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!114 &5010059943428245473
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2117775484033885141}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: adb30198aa32dd140b5750692dd48104, type: 3}
m_Name:
m_EditorClassIdentifier:
radius: 20
--- !u!1 &3088139734471937557
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1557006935995449134}
- component: {fileID: 4381068155806212084}
- component: {fileID: 722072613935627598}
m_Layer: 5
m_Name: Timer
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1557006935995449134
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3088139734471937557}
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: 1967269365151318092}
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: -58, y: 0}
m_SizeDelta: {x: 76, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4381068155806212084
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3088139734471937557}
m_CullTransparentMesh: 0
--- !u!114 &722072613935627598
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3088139734471937557}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 9428f2aab98e9c34d923a9174035a197, type: 3}
m_FontSize: 16
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 1
m_MaxSize: 116
m_Alignment: 0
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 1
m_LineSpacing: 1
m_Text: 00:00:00
--- !u!1 &4593182720700606551
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3038475962926185185}
- component: {fileID: 4120577558224057423}
- component: {fileID: 4583852649775329290}
- component: {fileID: 4909530112083492287}
m_Layer: 5
m_Name: Country
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3038475962926185185
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4593182720700606551}
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: 1967269365151318092}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 113.6, y: -33.399994}
m_SizeDelta: {x: 19.2, y: 19.2}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4120577558224057423
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4593182720700606551}
m_CullTransparentMesh: 0
--- !u!114 &4583852649775329290
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4593182720700606551}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Texture: {fileID: 0}
m_UVRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
--- !u!114 &4909530112083492287
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4593182720700606551}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: adb30198aa32dd140b5750692dd48104, type: 3}
m_Name:
m_EditorClassIdentifier:
radius: 9.6
--- !u!1 &5431639679254064168
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7403100505738979391}
- component: {fileID: 5965325977431526683}
- component: {fileID: 4053349393370233779}
- component: {fileID: 8390334851033921935}
m_Layer: 5
m_Name: DNF
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &7403100505738979391
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5431639679254064168}
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: 1967269365151318092}
m_RootOrder: 9
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 305, y: 0}
m_SizeDelta: {x: 50, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5965325977431526683
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5431639679254064168}
m_CullTransparentMesh: 0
--- !u!114 &4053349393370233779
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5431639679254064168}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Texture: {fileID: 2800000, guid: 2eb31a60528f36c4084e57fb3c73c39c, type: 3}
m_UVRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
--- !u!114 &8390334851033921935
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5431639679254064168}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: adb30198aa32dd140b5750692dd48104, type: 3}
m_Name:
m_EditorClassIdentifier:
radius: 23
--- !u!1 &5921307855566496657
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8236548681081935979}
- component: {fileID: 590883079032555235}
- component: {fileID: 5152385045926570085}
- component: {fileID: 4235048808033788450}
m_Layer: 5
m_Name: Bg
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8236548681081935979
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5921307855566496657}
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: 1967269365151318092}
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: 0, y: 0}
m_SizeDelta: {x: 432, y: 66}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &590883079032555235
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5921307855566496657}
m_CullTransparentMesh: 0
--- !u!114 &5152385045926570085
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5921307855566496657}
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: 0.9764706, g: 0.1882353, b: 0.5254902, a: 1}
m_RaycastTarget: 1
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!114 &4235048808033788450
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5921307855566496657}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: adb30198aa32dd140b5750692dd48104, type: 3}
m_Name:
m_EditorClassIdentifier:
radius: 20
--- !u!1 &7257992551659137838
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7920925398253333883}
- component: {fileID: 4565754133566414583}
- component: {fileID: 9017339981091228957}
- component: {fileID: 877105669823674449}
m_Layer: 5
m_Name: Head
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7920925398253333883
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7257992551659137838}
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: 1967269365151318092}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 75, y: -33}
m_SizeDelta: {x: 46, y: 46}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4565754133566414583
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7257992551659137838}
m_CullTransparentMesh: 0
--- !u!114 &9017339981091228957
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7257992551659137838}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Texture: {fileID: 0}
m_UVRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
--- !u!114 &877105669823674449
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7257992551659137838}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: adb30198aa32dd140b5750692dd48104, type: 3}
m_Name:
m_EditorClassIdentifier:
radius: 23
--- !u!1 &7530005993399858691
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8988124241667687885}
- component: {fileID: 2477961301189822293}
- component: {fileID: 8209752342329580871}
- component: {fileID: 8917953436020517116}
m_Layer: 5
m_Name: NewRecord_L
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &8988124241667687885
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7530005993399858691}
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: 1967269365151318092}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 305, y: 0}
m_SizeDelta: {x: 50, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2477961301189822293
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7530005993399858691}
m_CullTransparentMesh: 0
--- !u!114 &8209752342329580871
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7530005993399858691}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Texture: {fileID: 2800000, guid: 6a63e35d7489d864babf85090ab2aab0, type: 3}
m_UVRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
--- !u!114 &8917953436020517116
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7530005993399858691}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: adb30198aa32dd140b5750692dd48104, type: 3}
m_Name:
m_EditorClassIdentifier:
radius: 23
--- !u!1 &8480130360511706081
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2373683716047896353}
- component: {fileID: 2757558883377510331}
- component: {fileID: 5336344325287507691}
- component: {fileID: 6566891610936305864}
m_Layer: 5
m_Name: DNF_L
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &2373683716047896353
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8480130360511706081}
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: 1967269365151318092}
m_RootOrder: 8
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 305, y: 0}
m_SizeDelta: {x: 50, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2757558883377510331
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8480130360511706081}
m_CullTransparentMesh: 0
--- !u!114 &5336344325287507691
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8480130360511706081}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Texture: {fileID: 2800000, guid: d99ebac7ae869eb41901531bca1e8ea5, type: 3}
m_UVRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
--- !u!114 &6566891610936305864
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8480130360511706081}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: adb30198aa32dd140b5750692dd48104, type: 3}
m_Name:
m_EditorClassIdentifier:
radius: 23

View File

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

View File

@ -0,0 +1,154 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &994686065624044128
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 994686065624044129}
- component: {fileID: 994686065624044131}
- component: {fileID: 994686065624044130}
- component: {fileID: 994686065624044124}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &994686065624044129
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 994686065624044128}
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: 994686065979953167}
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: 0, y: 0}
m_SizeDelta: {x: 160, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &994686065624044131
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 994686065624044128}
m_CullTransparentMesh: 0
--- !u!114 &994686065624044130
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 994686065624044128}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 56ffaecccce0ae34fa083c91bcabecdb, type: 3}
m_FontSize: 96
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 0
m_MaxSize: 100
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 1
m_VerticalOverflow: 1
m_LineSpacing: 1
m_Text: 6
--- !u!114 &994686065624044124
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 994686065624044128}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e47f6ee11b78f3247a0b474b6c36e2cd, type: 3}
m_Name:
m_EditorClassIdentifier:
key:
--- !u!1 &994686065979953166
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 994686065979953167}
- component: {fileID: 994686065979953160}
- component: {fileID: 994686065979953161}
m_Layer: 5
m_Name: GameRoomCountDown
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &994686065979953167
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 994686065979953166}
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:
- {fileID: 994686065624044129}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &994686065979953160
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 994686065979953166}
m_CullTransparentMesh: 0
--- !u!114 &994686065979953161
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 994686065979953166}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b84f9a966f56dc54d8e49acc631ae62f, type: 3}
m_Name:
m_EditorClassIdentifier:
newNav: {fileID: 0}
count: {fileID: 994686065624044130}

View File

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

View File

@ -327,6 +327,9 @@ MonoBehaviour:
startBtn: {fileID: 130627679516412299}
quitBtn: {fileID: 130627679949777536}
cancelBtn: {fileID: 130627679431431430}
d2: {fileID: 130627679623734729}
d3: {fileID: 130627680619608444}
ar: {fileID: 130627680002043932}
--- !u!1 &130627679431431430
GameObject:
m_ObjectHideFlags: 0
@ -895,7 +898,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &130627679623734730
RectTransform:
m_ObjectHideFlags: 0
@ -912,7 +915,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -395, y: -55}
m_AnchoredPosition: {x: -335, y: -55}
m_SizeDelta: {x: 24, y: 24}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &130627679623734732
@ -942,7 +945,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: e67d070f35d1a9f4796e8d67fa17b2af, type: 3}
m_Sprite: {fileID: 21300000, guid: a5a948142a13d7443aeeafd15954ed75, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@ -2368,7 +2371,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &130627680619608445
RectTransform:
m_ObjectHideFlags: 0
@ -2385,7 +2388,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -365, y: -55}
m_AnchoredPosition: {x: -335, y: -55}
m_SizeDelta: {x: 24, y: 24}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &130627680619608447
@ -2415,7 +2418,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: e67d070f35d1a9f4796e8d67fa17b2af, type: 3}
m_Sprite: {fileID: 21300000, guid: f77d62b6e3080cc4fa6994130be4904b, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@ -2571,7 +2574,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &130627680679261794
RectTransform:
m_ObjectHideFlags: 0

File diff suppressed because it is too large Load Diff

View File

@ -23,9 +23,9 @@ namespace Assets.Scripts.Apis
});
}
public async Task<JsonResult<List<GameRoomModel>>> GetList(int pageIndex, int pageSize,int? id = null)
public async Task<JsonResult<GameRoomResult>> GetList(int pageIndex, int pageSize,string name = "")
{
return await GetAsync<JsonResult<List<GameRoomModel>>>($"GameRoom/GetList?pageIndex={pageIndex}&pageSize={pageSize}&id={id}");
return await GetAsync<JsonResult<GameRoomResult>>($"GameRoom/GetList?pageIndex={pageIndex}&pageSize={pageSize}&name={name}");
}
public JsonResult<GameRoomModel> GetDetail(int id)

View File

@ -130,6 +130,11 @@ namespace Assets.Scripts.Apis
}
return null;
}
public JsonResult<MapRouteBestInfo> GetMapBestInfo(int id)
{
var url = $"Map/GetMapBestInfo?routeId={ id }";
return Get<JsonResult<MapRouteBestInfo>>(url);
}
public async Task<JsonResult<List<NearRouteModel>>> GetNearRouteAsync(float lat, float lng, float zoom, string bounds)
{

View File

@ -6,11 +6,18 @@ using System.Threading.Tasks;
namespace Assets.Scripts.Apis.Models
{
public class GameRoomResult
{
public int Total { get; set; }
public List<GameRoomModel> List { get; set; }
}
public class GameRoomModel
{
public int Id { get; set; }
public int RoomId { get; set; }
public string Name { get; set; }
public DateTime StartTime { get; set; }
public DateTime? StartTime { get; set; }
public DateTime? EndTime { get; set; }
public int CloseTime { get; set; }
public int MaxMembers { get; set; }
public int UserId { get; set; }
@ -22,6 +29,7 @@ namespace Assets.Scripts.Apis.Models
public bool Enable3D { get; set; }
public bool EnableAR { get; set; }
public bool IsLock { get; set; }
public string Password { get; set; }
public string AltitudeGraph { get; set; }
public double AverageGrade { get; set; }
public double Distance { get; set; }
@ -34,5 +42,129 @@ namespace Assets.Scripts.Apis.Models
public string BestWxHeadImg { get; set; }
public string BestTotalTime { get; set; }
public string FileUrl { get; set; }
public List<RoomRankItem> RoomRankingList { get;set;}
public List<RoomPlayerModel> RoomPlayerList { get; set; }
public static List<GameRoomModel> Parse(string s)
{
if (s.Equals("list"))
return null;
List<GameRoomModel> list = new List<GameRoomModel>();
try
{
var arr = s.Replace("list[", "").Replace("[","").Split(']');
foreach (var item in arr)
{
if (string.IsNullOrEmpty(item))
continue;
var detailIndex = item.IndexOf("detail");
var info = item.Substring(0, detailIndex - 1).Split(',');
var playerList = item.Substring(detailIndex);
DateTime? startTime = null;
if (!string.IsNullOrEmpty(info[18]))
{
startTime = Convert.ToDateTime(info[18]);
}
list.Add(new GameRoomModel()
{
RoomId = Convert.ToInt32(info[0]),
UserId = Convert.ToInt32(info[1]),
Name = info[2],
CloseTime = Convert.ToInt32(info[3]),
MaxMembers = Convert.ToInt32(info[4]),
MapRouteId = Convert.ToInt32(info[5]),
MapRouteName = info[6],
Distance = Convert.ToDouble(info[7]),
TotalClimb = Convert.ToDouble(info[8]),
AverageGrade = Convert.ToDouble(info[9]),
Enable3D = Convert.ToBoolean(info[10]),
EnableAR = Convert.ToBoolean(info[11]),
IsLock = Convert.ToBoolean(info[12]),
Password = info[13],
FileName = info[14],
FileUrl = info[15],
AltitudeGraph = info[16],
Status = Convert.ToInt32(info[17]),
StartTime = startTime,
RoomPlayerList = RoomPlayerModel.Parse(playerList)
});
}
}
catch (Exception ex)
{
}
//list[0,0,321313,30,5,5492,福州化工路-鼓山峰爬坡线路,19.17906,815.9704000000002,4.0466336723489045,True,False,True,213,,,http://192.168.0.102:5082/Map/AltitudeGraph?id=5492,0,:][0,0,2131,30,4,5492,福州化工路-鼓山峰爬坡线路,19.17906,815.9704000000002,4.0466336723489045,True,False,True,313,,,http://192.168.0.102:5082/Map/AltitudeGraph?id=5492,0,:][20,16652,3213,30,3,5492,福州化工路-鼓山峰爬坡线路,19.17906,815.9704000000002,4.0466336723489045,True,False,True,,,,http://192.168.0.102:5082/Map/AltitudeGraph?id=5492,0,2022/5/6 8:41:34:][19,16652,测试3d线路,30,2,5492,福州化工路-鼓山峰爬坡线路,19.17906,815.9704000000002,4.0466336723489045,True,False,True,,,,http://192.168.0.102:5082/Map/AltitudeGraph?id=5492,0,2022/5/6 1:39:57:][18,16652,测试,61,2,5492,福州化工路-鼓山峰爬坡线路,19.17906,815.9704000000002,4.0466336723489045,True,False,True,,,,http://192.168.0.102:5082/Map/AltitudeGraph?id=5492,0,2022/4/25 2:34:03:][17,16652,213,30,3,1217,翠屏山后山北向南,5.271609999999998,65.22760000000001,0.23308249282477278,False,False,True,,,,http://192.168.0.102:5082/Map/AltitudeGraph?id=1217,0,2022/4/25 2:20:13:]
return list;
}
}
public class RoomPlayerModel
{
public int RoomId { get; set; }
public string WxHeadImage { get; set; }
public string Name { get; set; }
public int Sex { get; set; }
public double Weight { get; set; }
public int FTP { get; set; }
public int UserId { get; set; }
public DateTime JoinAt { get; set; }
public int Status { get; set; }
public double Process { get; set; }
public bool IsOwner { get; set; }
public DateTime LastActiveTime { get; set; }
public override string ToString()
{
return $"{RoomId},{UserId},{JoinAt},{Status},{Process},{IsOwner}";
}
public static List<RoomPlayerModel> Parse(string s)
{
List<RoomPlayerModel> list = new List<RoomPlayerModel>();
s = s.Replace("detail{", "");
if (string.IsNullOrEmpty(s))
return list;
var arr = s.Split('|');
foreach (var item in arr)
{
var info = item.Split(',');
list.Add(new RoomPlayerModel()
{
RoomId = Convert.ToInt32(info[0]),
UserId = Convert.ToInt32(info[1]),
JoinAt = Convert.ToDateTime(info[2]).ToLocalTime(),
Status = Convert.ToInt32(info[3]),
Process = Convert.ToInt32(info[4]),
IsOwner = Convert.ToBoolean(info[5]),
});
}
if (list.Count > 0)
{
var ids = list.Select(c => c.UserId);
var userList = ConfigHelper.mapApi.GetOnlineUserInfo(ids).data;
foreach (var item in list)
{
var user = userList.Where(c => c.Id == item.UserId).FirstOrDefault();
item.WxHeadImage = user?.HeadImage;
item.FTP = user.FTP;
item.Weight = user.Weight;
item.Name = user.Name;
item.Sex = user.Sex;
}
}
return list;
}
}
public class RoomRankItem
{
public int UserId { get; set; }
public string WxHeadImg { get; set; }
public string NickName { get; set; }
public int Rank { get; set; }
public string Country { get; set; }
public string TotalTime { get; set; }
public bool IsDNF { get; set; }
}
}

View File

@ -108,5 +108,7 @@ namespace Assets.Scripts.Apis.Models
public string Source { get; set; }
public int? LastFrame { get; set; }
public int? RoomId { get; set; }
}
}

View File

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Assets.Scripts.Apis.Models
{
public class MapRouteBestInfo
{
public string BestNickName { get; set; }
public string BestWxHeadImg { get; set; }
public string BestTotalTime { get; set; }
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: db87a380e3453e5468eeaf412ccbe00c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -60,7 +60,7 @@ public static class App
public static IDictionary<string, Texture> TextureCache = new Dictionary<string, Texture>();
public static Texture CurrentUserHeadTexture;
public static RouteResult routeResult;//骑行记录向骑行场景传值
public static GameRoomModel gameRoomDetail;
public static GameRoomModel gameRoomDetail { get; set; }
public static Texture DefaultRotateTexture { get; set; }
//全局用 输入框或者下拉框修改标志位
public static bool isChanged { get; set; }
@ -110,6 +110,9 @@ public static class App
public readonly static bool isFullScreen = width / height > 1.8;
public static float canvasWidth { get; set; }
public static string WorkoutsUrl { get; internal set; }
public static string TcpRequestUrl { get; internal set; }
public static long delayTime { get; set; }
public static List<OnlineUser> userList = new List<OnlineUser>();
@ -192,6 +195,8 @@ public static class App
}
}
public static string Model { get; set; }
public static bool CanOpenAd = false;
public static Dictionary<string, string> websiteDict = new Dictionary<string, string>()

View File

@ -88,5 +88,8 @@ public static class PFConstants
public static Color Red => new Color(0.8901961f, 0.2313726f, 0.1529412f, 0.6f);
public static Color Pink => new Color(0.9764706f, 0.1882353f, 0.5254902f, 1f);
public static Color grey => new Color(0.3607843f, 0.3607843f, 0.4313726f, 1f);
public static Color Dark => new Color(0.1372549f, 0.1372549f, 0.1764706f, 1f);//23232D
public static Color LightGrey => new Color(0.3607843f, 0.3607843f, 0.4313726f, 1f); // 5C5C6E
}

View File

@ -413,7 +413,7 @@ public class MainController : BaseScene
//App.MainDeviceAdapter.StopScan();
//Debug.Log("StopScan");
}
MapUDPService.Send(0, App.CurrentUser.Id, new double[]{ 0d,0d}, competitionId: 0,roomId:(App.gameRoomDetail?.Id ?? 0));
MapUDPService.Send(0, App.CurrentUser.Id, new double[]{ 0d,0d}, competitionId: 0,model:App.Model);
//发送消息
var list = MapUDPService.GetAllOnlineUserList();

View File

@ -105,8 +105,8 @@ namespace Assets.Scenes.Ride.Scripts
}
protected override void ShowLoading()
{
loadingPanel = panel.transform.Find("LoadingPanel").gameObject;
loadingPanel.showLoadingExtension();
//loadingPanel = panel.transform.Find("LoadingPanel").gameObject;
//loadingPanel.showLoadingExtension();
}
//初始化
public override void Init()
@ -290,7 +290,7 @@ namespace Assets.Scenes.Ride.Scripts
{
Application.OpenURL(App.CurrentUser.WebHost + $"Mine/MatchPreview?id={cyclingController.competitionId}&Token={App.CurrentUser.cookie}");
}
protected override void StartRide(BaseEventData baseEvent)
public override void StartRide(BaseEventData baseEvent)
{
UpdateCompetition();
if (competition.Status == 4)

View File

@ -105,7 +105,7 @@ namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
MapUDPService.Send(route.RouteInstance.Id, recorderData.BelongUserId,
new double[] { lastData._Lat, lastData._Lon },
recorderData.IsCompleted, false, recorderData.EndDistance,
true, 1, lastData._Speed, false, preDistance, weightKg, competitionId: recorderData.Competitionid, recorderData.Saved, 0, lastData._Power, lastData._Cadence, lastData.Ticks, (lastData._FrameRate??0));
true, 1, lastData._Speed, false, preDistance, weightKg, competitionId: recorderData.Competitionid, recorderData.Saved, 0, lastData._Power, lastData._Cadence, lastData.Ticks, (lastData._FrameRate??0),roomId: (recorderData.RoomId??0));
}
else if (recorderData.EndDistance > 0)//没有骑,但是有初始位置的情况
{

View File

@ -0,0 +1,79 @@
using Assets.Scenes.Ride.Scripts.Model.RiderModels;
using Assets.Scripts.Apis.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Assets.Scenes.Ride.Scripts.Model.CyclingModels
{
public class GameModel : BaseCycling
{
public GameModel(Route route,RouteResultParam param)
: base(route, CyclingModel.Single)
{
this.IsRecord = true;
recorderData = new RecorderDataModel()
{
CurrentUser = App.CurrentUser,
Competitionid = 0,
ContinueIndex = 0,
ContinueMark = Guid.NewGuid().ToString(),
EndDistance = 0,
IsCompleted = false,
IsNeedRanking = true,
CyclingState = CyclingStateEnum.Prepare,
CurrentRoute = route,
CurrentRouteStartDistance = 0,
StartTime = DateTime.Now,//UIManager.Now.GetDateTime(),//DateTime.Now
selectParam = param,
RoomId = App.gameRoomDetail.RoomId,
};
if (param != null)
{
recorderData.EndDistance = param.EndDistance;
recorderData.CurrentRouteStartDistance = param.EndDistance;
if (!string.IsNullOrWhiteSpace(param.ContinueMark))
{
recorderData.ContinueMark = param.ContinueMark;
}
else
{
param.ContinueMark = recorderData.ContinueMark;
}
recorderData.ContinueIndex = param.ContinueIndex.GetValueOrDefault(0);
}
recorderData.PreDistance = recorderData.EndDistance;
riders = new List<BaseRider>();
}
public override void Run(TargetData targetData)
{
#region 线线
riders.RemoveAll(r => r.IsSelf == false);
var onlineUsers = MapUDPService.GetOnlineUsers(recorderData.CurrentRoute.RouteInstance.Id,App.gameRoomDetail.RoomId).Where(d => d.IsSelf == false)
.ToList();
foreach (var item in onlineUsers)
{
riders.Add(new OnlineRiderModel()
{
NickName = item.Name,
UserId = item.Id,
WxHeadImg = item.HeadImage,
Point = new GeoJSON.Net.Geometry.GeographicPosition(item.Point[0], item.Point[1]),
EndDistance = item.EndDistance,
PreDistance = item.PreDistance,
WeightKg = item.WeightKg,
FrameRate = item.FrameRate,
});
}
#endregion
base.Run(targetData);
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 15c731fec2d5df74c8881a2cefe75fb6
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -30,7 +30,11 @@ namespace Assets.Scenes.Ride.Scripts.Model
/// <summary>
/// 环球骑行
/// </summary>
GlobalCycling = 4
GlobalCycling = 4,
/// <summary>
/// 对战模式
/// </summary>
GameRoom = 5
}
/// <summary>

View File

@ -1,4 +1,5 @@
using GeoJSON.Net.Geometry;
using Assets.Scripts.Apis.Models;
using GeoJSON.Net.Geometry;
using System;
using System.Collections.Generic;
using System.Globalization;
@ -41,6 +42,23 @@ namespace Assets.Scenes.Ride.Scripts.Model
return detail;
}
}
public class ExtendInfo
{
public int RoomId { get; set; }
public int UserId { get; set; }
public static ExtendInfo Parse(string s)
{
if (string.IsNullOrEmpty(s))
return null;
var info = s.Split(',');
var ex = new ExtendInfo()
{
UserId = Convert.ToInt32(info[0]),
RoomId = Convert.ToInt32(info[1]),
};
return ex;
}
}
public class RoomDetailModel
{
public int RoomId { get; set; }
@ -70,6 +88,57 @@ namespace Assets.Scenes.Ride.Scripts.Model
return detail;
}
}
public class QueryGameRoomListCommand
{
public byte CommandType { get; set; }
public byte SubType { get; set; }
public int V { get; set; }
public int UserId { get; set; }
public int PageIndex { get; set; }
public int PageSize { get; set; }
public string Name { get; set; }
}
public class QueryGameRoomDetailCommand
{
public byte CommandType { get; set; }
public byte SubType { get; set; }
public int V { get; set; }
public int RoomId { get; set; }
}
public class CreateGameRoomCommand
{
public byte CommandType { get; set; }
public byte SubType { get; set; }
public int V { get; set; }
public int Id { get; set; }
public string Name { get; set; }
public int RouteId { get; set; }
public int UserId { get; set; }
public int CloseTime { get; set; }
public int MaxMembers { get; set; }
public string Password { get; set; }
public DateTime CreateTime { get; set; }
public string MapRouteName { get; set; }
public double Distance { get; set; }
public double TotalClimb { get; set; }
public double AverageGrade { get; set; }
public bool Enable3D { get; set; }
public bool EnableAR { get; set; }
public bool IsLock { get; set; }
public string FileName { get; set; }
public string FileUrl { get; set; }
public string AltitudeGraph { get; set; }
}
public class JoinGameRoomCommand
{
public byte CommandType { get; set; }
@ -444,7 +513,9 @@ namespace Assets.Scenes.Ride.Scripts.Model
public int FrameRate { get; set; }
public int RoomId { get; set; }
public string Model { get; set; }
public DateTime? StartTime { get; set; }
public string Request { get; set; }
}
public class GzipMsgModel
@ -507,9 +578,8 @@ namespace Assets.Scenes.Ride.Scripts.Model
public int? FrameRate { get; set; }
public int? RoomId { get; set; }
public RoomModel Room{ get; set; }
public RoomDetailModel RoomDetail { get; set; }
public DateTime? StartTime { get; set; }
public List<GameRoomModel> RoomList { get; set; }
public GameRoomModel RoomDetail { get; set; }
public static ReceiveMsgModel Parse(string str)
{
@ -543,9 +613,6 @@ namespace Assets.Scenes.Ride.Scripts.Model
HeartRate = Convert.ToDouble(list[11], CultureInfo.InvariantCulture),
Cadence = Convert.ToDouble(list[12], CultureInfo.InvariantCulture),
TotoalTicks = Convert.ToInt32(list[13], CultureInfo.InvariantCulture),
FrameRate = Convert.ToInt32(list[14], CultureInfo.InvariantCulture),
//RoomId = Convert.ToInt32(list[15], CultureInfo.InvariantCulture),
//StartTime = startTime,
};
}
catch(Exception e)
@ -580,6 +647,7 @@ namespace Assets.Scenes.Ride.Scripts.Model
return "Online-" + this.Id;
}
}
public int Sex { get; set; }
public bool IsVirtual { get; set; }
/// <summary>
@ -680,6 +748,8 @@ namespace Assets.Scenes.Ride.Scripts.Model
public int? FrameRate { get; set; }
public int RoomId { get; set; }
public RoomModel Room { get; set; }
public RoomDetailModel RoomDetail { get; set; }

View File

@ -106,6 +106,8 @@ namespace Assets.Scenes.Ride.Scripts.Model
public DateTime EndTime { get; set; }
public int? LastFrame { get; set; }
public int? RoomId { get; set; }
/// <summary>
/// 是否已经保存成功
/// </summary>
@ -180,7 +182,8 @@ namespace Assets.Scenes.Ride.Scripts.Model
Param = Newtonsoft.Json.JsonConvert.SerializeObject(selectParam),
GlobalCyclingId = 0,
Source = "",
LastFrame = LastFrame
LastFrame = LastFrame,
RoomId = RoomId
};
//var range = new MapSpeedRange().GetSpeedRange(RiderDatas, CurrentRoute.RouteInstance.Distance);
interruptRecord.SpeedRange = null; //JsonConvert.SerializeObject(range);

View File

@ -41,6 +41,8 @@ namespace Assets.Scenes.Ride.Scripts
}
private static DateTime LastActiveTime = DateTime.Now;
private static List<ReceiveMsgModel> msgs = new List<ReceiveMsgModel>();
public static Action<List<ReceiveMsgModel>> MessageListener { get; set; }
/// <summary>
/// 初始化如果UDP服务未启动则会已没5秒一次不断尝试直到连接上为止,前端不需要考虑任何UDP连接的事情
/// </summary>
@ -61,9 +63,10 @@ namespace Assets.Scenes.Ride.Scripts
_udpService.Start(list =>
{
LastActiveTime = DateTime.Now;
//onlineUserHelper.RemoveExceptionData(list);
msgs = list;
//onlineUserHelper.RemoveExceptionData(list);
msgs = list;
onlineUserHelper.SetOnlineUser(msgs);
MessageListener?.Invoke(list);
});
heartbeat = new System.Timers.Timer();
@ -109,18 +112,48 @@ namespace Assets.Scenes.Ride.Scripts
SendHeartbeat();
}
}
//获取房间人物列表
private static void SendGameRoomListPlayers(int[] roomIds)
//查询房间
public static void SendQueryGameRoomList(int userId,int pageIndex,int pageSize,string roomIdOrName)
{
var model = new
var cmd = new QueryGameRoomListCommand()
{
UserId = userId,
PageIndex = pageIndex,
PageSize = pageSize,
Name = roomIdOrName,
CommandType = 3,
SubType = 6,
V = 2,
};
var sendBytes = Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(cmd));
_udpService.Send(sendBytes, sendBytes.Length);
}
//创建房间
public static void SendCreateGameRoom(string name, int routeId, string pwd, DateTime createTime , int closeTime, int maxMembers,double averageGrade,double totalClimb,double distance,bool enable3D,bool enableAR,string mapName,string fileName,string fileUrl,string altitudeGraph)
{
var cmd = new CreateGameRoomCommand() {
Id = 0,
UserId = App.CurrentUser.Id,
Name = name,
RouteId = routeId,
Password = pwd,
CreateTime = createTime,
CloseTime = closeTime,
MaxMembers= maxMembers,
MapRouteName = mapName,
EnableAR = enableAR,
Enable3D = enable3D,
Distance = distance,
TotalClimb = totalClimb,
AverageGrade = averageGrade,
AltitudeGraph = altitudeGraph,
FileName = fileName,
FileUrl = fileUrl,
CommandType = 3,
SubType = 0,
V = 2,
};
var sendBytes = Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(model));
var sendBytes = Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(cmd));
_udpService.Send(sendBytes, sendBytes.Length);
}
//加入对战房间
@ -130,8 +163,8 @@ namespace Assets.Scenes.Ride.Scripts
{
CommandType = 3,
SubType = 1,
UserId = userId,
RoomId = roomId,
UserId = userId,
JoinAt = startTime,
V = 2,
};
@ -280,13 +313,13 @@ namespace Assets.Scenes.Ride.Scripts
/// <param name="exit">是否退出</param>
public static void Send(int RouteId, int MemberId, double[] Point, bool IsCompleted = false, bool exit = false,
double endDistance = 0, bool showVirtual = false, byte commandType = 1, double speed = 0, bool isVirtual = false, double preDistance = 0,
double weightKg = 0, int competitionId = 0, bool saved = false,double? heartRate = 0, double power = 0, double? cadence = 0,int totalTicks = 0, int frameRate = 0, int roomId = 0,DateTime? startTime = null)
double weightKg = 0, int competitionId = 0, bool saved = false,double? heartRate = 0, double power = 0, double? cadence = 0,int totalTicks = 0, int frameRate = 0, int roomId = 0,string model = "",DateTime? startTime = null,string request = "")
{
try
{
Point[0] = Math.Round(Point[0], 6, MidpointRounding.AwayFromZero);
Point[1] = Math.Round(Point[1], 6, MidpointRounding.AwayFromZero);
var model = new MsgModel
var msgmodel = new MsgModel
{
RouteId = RouteId,
MemberId = MemberId,
@ -309,11 +342,13 @@ namespace Assets.Scenes.Ride.Scripts
Competitionid = competitionId,
Saved = saved,
FrameRate = frameRate,
RoomId = roomId,//房间Id
StartTime = startTime
RoomId = roomId,
Model = model,//是否在对战房间列表或者房间内
StartTime = startTime,
Request = request,
//V = 1
};
var sendBytes = Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(model));
var sendBytes = Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(msgmodel));
_udpService.Send(sendBytes, sendBytes.Length);
}
@ -331,7 +366,7 @@ namespace Assets.Scenes.Ride.Scripts
if (MapUDPService._udpService == null) return;
for (int i = 0; i < 3; i++)
{
Send(0, App.CurrentUser.Id, new double[] { 1, 1 }, true, isExit);
Send(0, App.CurrentUser.Id, new double[] { 1, 1 }, true, isExit,model:App.Model);
}
_udpService.Close();
@ -417,6 +452,13 @@ namespace Assets.Scenes.Ride.Scripts
return result;
}
public static List<OnlineUser> GetOnlineUsers(int routeId,int roomId)
{
var result = onlineUserHelper.OnlineUsers.Where(u => u.RoomId == roomId && u.RouteId == routeId).ToList();
return result;
}
public static List<OnlineUser> GetAllOnlineUserList()
{
var result = onlineUserHelper.OnlineUsers.Where(c => !c.IsSelf).ToList();
@ -438,12 +480,12 @@ namespace Assets.Scenes.Ride.Scripts
return result;
}
public static int GetNearRiderCount()
public static int GetNearRiderCount(int roomId = 0)
{
int count = 0;
try
{
count = onlineUserHelper.OnlineUsers.Where(c => (c.Point[0] != 0 && c.Point[1] != 0) && (c.Point[0] != -1 && c.Point[1] != -1)).Count();
count = onlineUserHelper.OnlineUsers.Where(c => (c.Point[0] != 0 && c.Point[1] != 0) && (c.Point[0] != -1 && c.Point[1] != -1) && c.RoomId == roomId).Count();
}
catch (Exception)
{
@ -469,13 +511,13 @@ namespace Assets.Scenes.Ride.Scripts
/// 获取附近的人(当前在线的所有人)
/// </summary>
/// <returns></returns>
public static IList<NearRiderModel> GetNearRiderData(int pageIndex, int pageSize = 5, double[] point = null)
public static IList<NearRiderModel> GetNearRiderData(int pageIndex, int pageSize = 5, double[] point = null,int roomId = 0)
{
if (point == null) return null;
try
{
var dict = new List<System.Tuple<double, OnlineUser>>();
var allOnlineUsers = onlineUserHelper.OnlineUsers.Where(c => c.CompetitionId == 0);
var allOnlineUsers = onlineUserHelper.OnlineUsers.Where(c => c.CompetitionId == 0 && c.RoomId == roomId);
foreach (var item in allOnlineUsers)
{
if (item.Id == App.CurrentUser.Id)
@ -580,7 +622,6 @@ namespace Assets.Scenes.Ride.Scripts
}
user.LastActiveTime = DateTime.Now;
user.RouteId = item.RouteId;
user.Point = item.Point;
user.IsCompleted = item.IsCompleted;
//user.exit = item.exit;
@ -606,8 +647,7 @@ namespace Assets.Scenes.Ride.Scripts
user.IsWatcher = user.WatcherList.Contains(item.MemberId);
user.CreateTime = DateTime.MaxValue;
user.FrameRate = item.FrameRate;
user.Room = item.Room;
user.RoomDetail = item.RoomDetail;
user.RoomId = (item.RoomId ?? 0);
}
else
{

View File

@ -12,6 +12,7 @@ using System.Text;
using System.Threading;
using System.Threading.Tasks;
using NetCoreServer;
using Assets.Scripts.Apis.Models;
namespace Assets.Scenes.Ride.Scripts.Network
{
@ -46,7 +47,7 @@ namespace Assets.Scenes.Ride.Scripts.Network
if (_tcpClient == null) return;
if (_tcpClient.IsConnected == false) return;
//_tcpClient.WriteLine(System.Text.Encoding.ASCII.GetString(dgram));
var txt = System.Text.Encoding.ASCII.GetString(dgram);
var txt = System.Text.Encoding.UTF8.GetString(dgram);
//Debug.WriteLine("发送:"+txt);
try
{
@ -199,28 +200,29 @@ namespace Assets.Scenes.Ride.Scripts.Network
//房间信息
if (t.IndexOf('g') == 0)
{
RoomModel room = null;
var x = t.Replace("g{", "").Replace("}", "");
room = RoomModel.Parse(x);
//list[0,0,321313,30,5,5492,福州化工路-鼓山峰爬坡线路,19.17906,815.9704000000002,4.0466336723489045,True,False,True,213,,,http://192.168.0.102:5082/Map/AltitudeGraph?id=5492,0,:][0,0,2131,30,4,5492,福州化工路-鼓山峰爬坡线路,19.17906,815.9704000000002,4.0466336723489045,True,False,True,313,,,http://192.168.0.102:5082/Map/AltitudeGraph?id=5492,0,:][20,16652,3213,30,3,5492,福州化工路-鼓山峰爬坡线路,19.17906,815.9704000000002,4.0466336723489045,True,False,True,,,,http://192.168.0.102:5082/Map/AltitudeGraph?id=5492,0,2022/5/6 8:41:34:][19,16652,测试3d线路,30,2,5492,福州化工路-鼓山峰爬坡线路,19.17906,815.9704000000002,4.0466336723489045,True,False,True,,,,http://192.168.0.102:5082/Map/AltitudeGraph?id=5492,0,2022/5/6 1:39:57:][18,16652,测试,61,2,5492,福州化工路-鼓山峰爬坡线路,19.17906,815.9704000000002,4.0466336723489045,True,False,True,,,,http://192.168.0.102:5082/Map/AltitudeGraph?id=5492,0,2022/4/25 2:34:03:][17,16652,213,30,3,1217,翠屏山后山北向南,5.271609999999998,65.22760000000001,0.23308249282477278,False,False,True,,,,http://192.168.0.102:5082/Map/AltitudeGraph?id=1217,0,2022/4/25 2:20:13:]
var li = GameRoomModel.Parse(x);
foreach (var i in list)
{
i.Room = room;
i.RoomList = li;
}
}
//房间用户信息
if (t.IndexOf('d') == 0)
//对战骑行场景中信息
if (t.IndexOf('e') == 0)
{
var g = t.Replace("d{", "").Replace("}", "");
var g = t.Replace("e{", "").Replace("}", "");
var glist = g.Split('|');
foreach (var i in glist)
{
var gameRoom = RoomDetailModel.Parse(i);
var owner = list.Where(c => c.MemberId == gameRoom.UserId).FirstOrDefault();
if (string.IsNullOrEmpty(i))
continue;
var extendInfo = ExtendInfo.Parse(i);
var owner = list.Where(c => c.MemberId == extendInfo.UserId).FirstOrDefault();
if (owner != null)
{
owner.RoomDetail = gameRoom;
owner.RoomId = extendInfo.RoomId;
}
}
}

View File

@ -48,7 +48,12 @@ namespace Assets.Scenes.Ride.Scripts
{
App.TextureCache.Clear();
mapApi = new MapApi();
//ShowLoading();
ShowLoading();
}
public float GetProcess()
{
return process;
}
protected virtual void Update()
@ -195,7 +200,7 @@ namespace Assets.Scenes.Ride.Scripts
cyclingController.ReSetUIManager();
cyclingController.GoContinueRide();
}
protected virtual void StartRide(BaseEventData baseEvent)
public virtual void StartRide(BaseEventData baseEvent)
{
if (!rideNow.IsInteractable())
return;
@ -207,6 +212,16 @@ namespace Assets.Scenes.Ride.Scripts
StartGame();
}
public void StartRide(int seconds)
{
processText.gameObject.SetActive(true);
slider.gameObject.SetActive(true);
depressFlag = true;
slider.DOValue(process, 0);
StartGame();
transform.gameObject.SetActive(false);
}
protected virtual void Cancel(BaseEventData baseEvent)
{
SceneManager.LoadScene("MainScene");

View File

@ -719,6 +719,9 @@ public class CyclingController : DeviceServiceMonoBase
case CyclingModel.Competition:
cyclingController = new CompetitionModel(route, selectParamModel, currentPlayer);
break;
case CyclingModel.GameRoom:
cyclingController = new GameModel(route, selectParamModel);
break;
}
GameStart();
InitPlayer();//初始化人物方向等

View File

@ -40,9 +40,19 @@ namespace Assets.Scenes.Ride.Scripts
protected override void ShowLoading()
{
loadingPanel = panel.transform.Find("LoadingPanel").gameObject;
loadingPanel.showLoadingExtension();
if (App.gameRoomDetail != null)
{
ShowGameRoomLoading();
loadingPanel = panel.transform.Find("LoadingPanel").gameObject;
loadingPanel.showLoadingExtension();
}
}
private void ShowGameRoomLoading()
{
UIManager.SetModalPanel(transform.Find("ModalPanel").GetComponent<PFUIPanel>());
UIManager.ShowGameRoomLoadingPanel();
}
//初始化
public override void Init()
{

View File

@ -34,9 +34,10 @@ namespace Assets.Scenes.Ride.Scripts
}
protected override void CreateList()
{
OnlineUserNum.text = " "+ MapUDPService.GetNearRiderCount().ToString();
var roomId = cyclingController.cyclingController == null ? 0 : (cyclingController.cyclingController.recorderData.RoomId ?? 0);
OnlineUserNum.text = " "+ MapUDPService.GetNearRiderCount(roomId).ToString();
LayoutRebuilder.ForceRebuildLayoutImmediate(OnlineUserNum.rectTransform);
var nearList = MapUDPService.GetNearRiderData(pageIndex, pageSize, new double[] { playerController.Currentlatlong.x, playerController.Currentlatlong.y });
var nearList = MapUDPService.GetNearRiderData(pageIndex, pageSize, new double[] { playerController.Currentlatlong.x, playerController.Currentlatlong.y },roomId);
if (nearList == null)
return;
var mod = MapUDPService.GetNearRiderCount() % pageSize;

View File

@ -17,8 +17,10 @@ namespace Assets.Scenes.Ride.Scripts
UIManager.AddEvent(singleButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, SingleRide);
UIManager.AddEvent(shadowButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, ShadowRide);
UIManager.AddEvent(addButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerClick, ShowSelectPlayer);
selectPanel.SetActive(true);//显示选择单人、影子骑行模式
if (App.gameRoomDetail == null)
{
selectPanel.SetActive(true);//显示选择单人、影子骑行模式
}
}
protected override void Update()
{
@ -151,5 +153,15 @@ namespace Assets.Scenes.Ride.Scripts
countDownTxt.gameObject.SetActive(true);
countDownTxt.text = count.ToString();
}
public void StartRide(int seconds)
{
mainController.SetCyclingModel(CyclingModel.GameRoom);
count = seconds;
startPanel.SetActive(false);
startBtn.gameObject.SetActive(false);
countDownTxt.gameObject.SetActive(true);
countDownTxt.text = count.ToString();
}
}
}

View File

@ -214,7 +214,7 @@ namespace Assets.Scripts.Scenes.VideoRide
distance = 0;
}
//一旦有功率就开始骑行、否则暂停
if (!manager.IsQuit() && manager.CurrentPlayer.UserId == UserId && !manager.IsQuit())
if (!manager.IsQuit() && manager.CurrentPlayer.UserId == UserId && !manager.IsQuit() && manager.cyclingModel == Assets.Scenes.Ride.Scripts.Model.CyclingModel.Single)
{
if (power > 0)
{

View File

@ -65,6 +65,8 @@ namespace Assets.Scripts.Scenes.VideoRide
//移动当前线上其他人头像
private void MoveOnlinePlayerHead()
{
if (manager.cyclingController == null)
return;
var players = manager.cyclingController.riders;
var headList = FindObjectsOfType<HeadScript>();
var videoPlayer = manager.CurrentPlayer;

View File

@ -108,8 +108,8 @@ namespace Assets.Scripts.Scenes.VideoRide
};
}
endDistance = 0;
//倒计时5s开始
SetCyclingModel(CyclingModel.Single);
////倒计时5s开始
//SetCyclingModel(CyclingModel.Single);
videoLoading = FindObjectOfType<VideoLoading>();
@ -121,13 +121,15 @@ namespace Assets.Scripts.Scenes.VideoRide
}
VideoLoading videoLoading { get; set; }
// Update is called once per frame
float timer = 0.5f;
float timer = 0f;
void Update()
{
timer -= Time.deltaTime;
while (timer <= 0)
{
cyclingController?.Run(null);
if (cyclingController == null)
return;
cyclingController.Run(null);
var onlineRiders = cyclingController.riders;
try
{
@ -137,7 +139,7 @@ namespace Assets.Scripts.Scenes.VideoRide
{
Debug.Log(e.Message);
}
timer += 0.5f;
timer += 1f;
}
}
MapRouteRankingList rankingList;
@ -335,6 +337,9 @@ namespace Assets.Scripts.Scenes.VideoRide
case CyclingModel.Single:
cyclingController = new SingleModel(route, selectParamModel);
break;
case CyclingModel.GameRoom:
cyclingController = new GameModel(route, selectParamModel);
break;
}
}
//模拟登录
@ -478,6 +483,7 @@ namespace Assets.Scripts.Scenes.VideoRide
cyclingController.recorderData.ManufacturerName = ManufacturerName;
cyclingController.recorderData.DeviceNumber = DeviceNumber;
cyclingController.recorderData.LastFrame = GetCurrentFrame();
cyclingController.recorderData.RoomId = App.gameRoomDetail?.RoomId;//房间ID
RankingId = cyclingController.recorderData.SaveWithLocalRecordAysnc(cyclingModel, selectParamModel, imageFileName, recordId, path);
}

View File

@ -211,11 +211,26 @@ namespace Assets.Scripts.Scenes.VideoRide
var ui = manager.GetCanvasTransform();
canvasGroup.DOFade(0, 1).onComplete += () => {
gameObject.SetActive(false);
manager.SetCyclingModel(Assets.Scenes.Ride.Scripts.Model.CyclingModel.Single);
manager.SetCurrentMode(VideoGameManager.ARMode.RIDE);
ui.Find("Panel").gameObject.SetActive(true);
};
}
public void StartRide(int seconds)
{
var ui = manager.GetCanvasTransform();
canvasGroup.DOFade(0, 0).onComplete += () => {
gameObject.SetActive(false);
manager.SetCyclingModel(Assets.Scenes.Ride.Scripts.Model.CyclingModel.GameRoom);
manager.SetCurrentMode(VideoGameManager.ARMode.RIDE);
ui.Find("Panel").gameObject.SetActive(true);
};
UIManager.ShowGameRoomCountDownPanel(seconds,()=> {
manager.StartGame();
});
}
protected void Download(BaseEventData baseEvent)
{
StartCoroutine(Utils.DownloadVideo(route.FileName, route.Url

View File

@ -0,0 +1,71 @@
using System;
using UnityEngine;
using UnityEngine.UI;
namespace Assets.Scripts.UI.Control
{
[RequireComponent(typeof(ScrollRect))]
public class PFUIPageHelper : PFUIComponentBase
{
public Transform content;
public GameObject preBtn;
public GameObject nextBtn;
public GameObject btnPrefab;
public int PageIndex { get; set; }
public int PageSize { get; set; } = 6;
public int Total { get; set; }
private Action<int> CallBack { get; set; }
public void Register(Action<int> refresh)
{
CallBack = refresh;
UIManager.AddEvent(preBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, (e) =>
{
Previous();
});
UIManager.AddEvent(nextBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, (e) =>
{
Next();
});
}
public void Build()
{
Utils.DestroyChildren(content);
for (int i = 1; i <= Total; i++)
{
var g = Instantiate(btnPrefab, content);
g.transform.Find("Text").GetComponent<Text>().text = i.ToString();
}
}
//上一页
private void Previous()
{
var newIndex = PageIndex - 1;
var index = newIndex < 0 ? 0 : newIndex;
if (index != PageIndex)
{
PageIndex = index;
CallBack?.Invoke(PageIndex);
}
}
//下一页
private void Next()
{
var newIndex = PageIndex + 1;
var index = newIndex >= Total ? Total-1 : newIndex;
if (index != PageIndex)
{
PageIndex = index;
CallBack?.Invoke(PageIndex);
}
}
//指定到第几页
private void Redirect(int index)
{
PageIndex = index;
CallBack?.Invoke(PageIndex);
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 284f6a5c33c31f14da608779c7797369
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -9,6 +9,7 @@ using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using Assets.Scripts;
using Assets.Scenes.Ride.Scripts;
public class GameRoomCell : MonoBehaviour, ICell, IBeginDragHandler, IDragHandler, IEndDragHandler,IScrollHandler
{
@ -39,18 +40,21 @@ public class GameRoomCell : MonoBehaviour, ICell, IBeginDragHandler, IDragHandle
public RawImage AltitudeGraphImg;
public RawImage Owner;
public RawImage Head1;
public RawImage Head2;
public RawImage Head3;
public RawImage Head4;
public RawImage Head5;
public GameObject IconOwnerLight;
public RawImage HeadPrefab;
public Transform Content;
public GameObject JoinBtn;
public GameObject CycingBtn;
public GameObject ResultBtn;
public GameObject Lock;
public GameObject LockL;
public GameObject D2;
public GameObject D3;
public GameObject AR;
public GameObject D2L;
public GameObject D3L;
public GameObject ARL;
private ScrollRect Scroll;
private bool IsLock;
@ -70,11 +74,42 @@ public class GameRoomCell : MonoBehaviour, ICell, IBeginDragHandler, IDragHandle
{
LockL.SetActive(IsLock);
Lock.SetActive(false);
D2.SetActive(false);
D2L.SetActive(Enable2d);
D3.SetActive(false);
D3L.SetActive(Enable3d);
AR.SetActive(false);
ARL.SetActive(EnableAR);
var list = GetComponentsInChildren<GameRoomHead>();
foreach (var item in list)
{
item.ShowLight();
}
});
UIManager.AddEvent(gameObject, EventTriggerType.PointerExit, (e) =>
{
LockL.SetActive(false);
Lock.SetActive(IsLock);
D2.SetActive(Enable2d);
D2L.SetActive(false);
D3.SetActive(Enable3d);
D3L.SetActive(false);
AR.SetActive(EnableAR);
ARL.SetActive(false);
var list = GetComponentsInChildren<GameRoomHead>();
foreach (var item in list)
{
item.ShowShadow();
}
});
UIManager.AddEvent(JoinBtn, EventTriggerType.PointerClick, (e) =>
{
@ -88,6 +123,16 @@ public class GameRoomCell : MonoBehaviour, ICell, IBeginDragHandler, IDragHandle
manager.ShowDownLoadConfirm();
}
});
//对战正在进行
UIManager.AddEvent(CycingBtn, EventTriggerType.PointerClick, (e) =>
{
manager.ShowCycingPanel(gameRoom);
});
//对战已经结束
UIManager.AddEvent(ResultBtn, EventTriggerType.PointerClick, (e) =>
{
manager.ShowDonePanel(gameRoom.RoomId);
});
}
private float timer = 1f;
private void Update()
@ -98,7 +143,9 @@ public class GameRoomCell : MonoBehaviour, ICell, IBeginDragHandler, IDragHandle
timer += 1f;
}
}
private bool Enable2d { get; set; }
private bool Enable3d { get; set; }
private bool EnableAR { get; set; }
//This is called from the SetCell method in DataSource
public void ConfigureCell(GameRoomModel cell, int cellIndex)
{
@ -119,15 +166,39 @@ public class GameRoomCell : MonoBehaviour, ICell, IBeginDragHandler, IDragHandle
RouteNameTxt.text = cell.MapRouteName;
RouteNameLightTxt.text = cell.MapRouteName;
IdTxt.text = cell.Id.ToString().PadLeft(7,'0');
IdTxt.text = cell.RoomId.ToString().PadLeft(7,'0');
IsLock = cell.IsLock;
Id = cell.Id;
Id = cell.RoomId;
//房间状态
JoinBtn.SetActive(cell.Status == 0);
CycingBtn.SetActive(cell.Status == 1);
ResultBtn.SetActive(cell.Status == 2);
Enable2d = !cell.Enable3D && !cell.EnableAR;
Enable3d = cell.Enable3D && !cell.EnableAR;
EnableAR = cell.EnableAR;
D2.SetActive(Enable2d);
D3.SetActive(Enable3d);
AR.SetActive(EnableAR);
Lock.SetActive(IsLock);
LockL.SetActive(false);
Utils.DisplayImage(AltitudeGraphImg, cell.AltitudeGraph);
Utils.DisplayImage(Owner, cell.WxHeadImg);
var playerList = cell.RoomPlayerList;
if (playerList != null)
{
MembersTxt.text = $"{playerList.Count}/{cell.MaxMembers}";
var s = playerList.Select(c => c.UserId);
var user = ConfigHelper.mapApi.GetOnlineUserInfo(s);
foreach (var item in playerList)
{
var obj = Instantiate(HeadPrefab, Content);
obj.GetComponent<GameRoomHead>().Set(item.WxHeadImage,item.IsOwner);
}
}
}
public void UpdateItem(string name, string gender, string id)
{

View File

@ -0,0 +1,43 @@
using Assets.Scripts;
using UnityEngine;
using UnityEngine.UI;
public class GameRoomHead : MonoBehaviour
{
public Image IconOwnerLightImg;
public Image IconOwnerImg;
public RawImage Head;
private bool IsOwner { get; set; }
private float timer = 1f;
private void Update()
{
timer -= Time.deltaTime;
while (timer < 0)
{
timer += 1f;
}
}
public void Set(string headUrl,bool isOwner)
{
Utils.DisplayImage(Head, headUrl);
IsOwner = isOwner;
IconOwnerImg.gameObject.SetActive(isOwner);
}
public void ShowLight()
{
IconOwnerImg.gameObject.SetActive(false);
IconOwnerLightImg.gameObject.SetActive(IsOwner);
}
public void ShowShadow()
{
IconOwnerImg.gameObject.SetActive(IsOwner);
IconOwnerLightImg.gameObject.SetActive(false);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: c7fd898b102fbad479f0d0037b505976
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,6 +1,7 @@
using Assets.Scenes.Ride.Scripts;
using Assets.Scripts;
using Assets.Scripts.Apis.Models;
using Assets.Scripts.UI.Control;
using PolyAndCode.UI;
using System;
using System.Collections.Generic;
@ -11,11 +12,8 @@ using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
class GameRoomList : MonoBehaviour, IRecyclableScrollRectDataSource
class GameRoomList : MonoBehaviour
{
[SerializeField]
RecyclableScrollRect _recyclableScrollRect;
[SerializeField]
RectTransform _rectTransform;
@ -29,18 +27,33 @@ class GameRoomList : MonoBehaviour, IRecyclableScrollRectDataSource
private int _dataLength;
private bool _isInit;
private GameObject RoomCell { get; set; }
//Dummy data List
private List<GameRoomModel> _list = new List<GameRoomModel>();
private string seachName = "";
PFUIPageHelper pageHelper;
//Recyclable scroll rect's data source must be assigned in Awake.
private void Awake()
{
_recyclableScrollRect.DataSource = this;
RoomCell = Resources.Load<GameObject>("UI/Prefab/GameRoom/Room");
//分页
pageHelper = FindObjectOfType<PFUIPageHelper>();
pageHelper.PageIndex = 0;
pageHelper.PageSize = 6;
pageHelper.Register((e) =>
{
_ = GetDataAsync();
});
_ = GetDataAsync();
_searchInputField.onValueChanged.AddListener((e) => {
if (!string.IsNullOrEmpty(e))
_searchInputField.onValueChanged.AddListener((e) => { seachName = e; });
_searchInputField.onEndEdit.AddListener((e) => {
if (!string.IsNullOrEmpty(name))
{
_ = GetDataAsync(Convert.ToInt32(e));
_ = GetDataAsync();
}
else
{
@ -53,14 +66,23 @@ class GameRoomList : MonoBehaviour, IRecyclableScrollRectDataSource
{
_ = GetDataAsync();
}
private async Task GetDataAsync(int? id =null)
private async Task GetDataAsync()
{
if (_list != null) _list.Clear();
var result = await ConfigHelper.GameRoomApi.GetList(0, 1000, id);
var result = await ConfigHelper.GameRoomApi.GetList(pageHelper.PageIndex, pageHelper.PageSize, seachName);
if (result.result)
{
_list = result.data;
_recyclableScrollRect.ReloadData();
Utils.DestroyChildren(_rectTransform);
_list = result.data.List;
int index = 0;
foreach (var item in _list)
{
index++;
var g = Instantiate(RoomCell, _rectTransform);
g.GetComponent<GameRoomCell>().ConfigureCell(item, index);
}
pageHelper.Total = result.data.Total;
pageHelper.Build();
}
}
float timer = 1f;
@ -72,28 +94,5 @@ class GameRoomList : MonoBehaviour, IRecyclableScrollRectDataSource
timer += 1f;
}
}
#region DATA-SOURCE
/// <summary>
/// Data source method. return the list length.
/// </summary>
public int GetItemCount()
{
return _list.Count;
}
/// <summary>
/// Data source method. Called for a cell every time it is recycled.
/// Implement this method to do the necessary cell configuration.
/// </summary>
public void SetCell(ICell cell, int index)
{
//Casting to the implemented Cell
var item = cell as GameRoomCell;
item.ConfigureCell(_list[index], index);
}
#endregion
}

View File

@ -134,7 +134,7 @@ public class GameRoomMapItem : MonoBehaviour, IPointerExitHandler, IPointerEnter
var fileName = map.FileName;
var path = PFConstants.VideoFolder;
var filepath = path + "/" + fileName;
if ((map.EnableAR && !File.Exists(filepath) )|| !map.EnableAR)
//if ((map.EnableAR && !File.Exists(filepath) )|| !map.EnableAR)
{
var list = FindObjectsOfType<GameRoomMapItem>();
foreach (var item in list)

View File

@ -28,20 +28,26 @@ class GameRoomPassword : MonoBehaviour
passwordInput.text = "";
}
private async void ConfirmClick(BaseEventData baseEventData)
private void ConfirmClick(BaseEventData baseEventData)
{
if (string.IsNullOrEmpty(Password))
{
Utils.showToast(gameObject, App.GetLocalString("room password can not be empty"));
return;
}
var RoomId = manager.GetRoomId();
var result = await ConfigHelper.GameRoomApi.ConfirmRoomPwd(RoomId, Password);
if (!result.result)
var room = manager.GetCurrentRoom();
if (room != null && !room.Password.Equals(Password))
{
Utils.showToast(gameObject, result.errMsg);
Utils.showToast(gameObject, App.GetLocalString("Wrong password"));
return;
}
//var RoomId = manager.GetRoomId();
//var result = await ConfigHelper.GameRoomApi.ConfirmRoomPwd(RoomId, Password);
//if (!result.result)
//{
// Utils.showToast(gameObject, result.errMsg);
// return;
//}
Refresh();
gameObject.SetActive(false);
manager.ShowDownLoadConfirm();

View File

@ -27,12 +27,14 @@ class GameRoomPlayerPanel : MonoBehaviour
public int UserId { get; set; }
public bool NotUse { get; private set; }
private void Start()
{
var manager = FindObjectOfType<GameRoomDetailController>();
var inviteBtn = inviteModal.transform.Find("InviteBtn").gameObject;
UIManager.AddEvent(inviteBtn,EventTriggerType.PointerClick,(e)=> {
Utils.CopyToClipboard($"GameRoom/{manager.GameRoom.Id}");
Utils.CopyToClipboard($"GameRoom/{manager.GameRoom.RoomId}");
Utils.showToast(transform.parent.gameObject, App.GetLocalString("copy to clipboard successfully!"));
});
UIManager.AddEvent(gameObject, EventTriggerType.PointerClick, (e) =>
@ -45,11 +47,11 @@ class GameRoomPlayerPanel : MonoBehaviour
});
UIManager.AddEvent(kickBtn, EventTriggerType.PointerClick, (e) =>
{
MapUDPService.SendGameRoomKick(App.gameRoomDetail.Id, UserId, App.CurrentUser.Id);
MapUDPService.SendGameRoomKick(App.gameRoomDetail.RoomId, UserId, App.CurrentUser.Id);
});
}
public void Init(int userId, string userName,string headUrl,double weight, float ftp,bool isOwner,int Status)
public void Init(int userId, string userName,string headUrl,double weight, float ftp,bool isOwner,int Status,int sex)
{
UserId = userId;
inviteModal.SetActive(false);
@ -65,7 +67,7 @@ class GameRoomPlayerPanel : MonoBehaviour
ready.SetActive(!isOwner && Status == 1);
}
public void UpdatePlayer(int userId, string userName, string headUrl, double weight, float ftp, bool isOwner, int Status)
public void UpdatePlayer(int userId, string userName, string headUrl, double weight, float ftp, bool isOwner, int Status,int sex)
{
UserId = userId;
inviteModal.SetActive(false);
@ -91,22 +93,20 @@ class GameRoomPlayerPanel : MonoBehaviour
{
ready.SetActive(false);
}
public void ForceQuit()
{
//TODO:踢人
NotInUse();
}
public void ShowQuitModal()
{
kickModal.SetActive(true);
}
public void ShowInviteModal()
{
NotUse = false;
UserId = 0;
notInUseModal.SetActive(false);
inviteModal.SetActive(true);
}
public void NotInUse()
{
NotUse = true;
UserId = 0;
notInUseModal.SetActive(true);
}
@ -115,5 +115,10 @@ class GameRoomPlayerPanel : MonoBehaviour
{
me.SetActive(true);
}
private void OnDisable()
{
ShowInviteModal();
}
}

View File

@ -0,0 +1,51 @@
using Assets.Scripts.Apis.Models;
using System;
using UnityEngine;
using UnityEngine.UI;
public class GameRoomCountDownController : PFUIPanel
{
public Text count;
private int Seconds { get; set; }
public GameRoomModel GameRoom { get; set; }
private Action Callback { get; set; }
protected override void Awake()
{
base.Awake();
}
public override void Show()
{
base.Show();
}
public void Init(int seconds,Action action)
{
Seconds = seconds;
Callback = action;
}
float timer = 0f;
private void Update()
{
timer -= Time.deltaTime;
while (timer < 0)
{
if (Seconds == 0)
{
Callback?.Invoke();
}
if (Seconds < 0)
{
gameObject.SetActive(false);
}
count.text = Seconds.ToString();
Seconds--;
timer += 1f;
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: b84f9a966f56dc54d8e49acc631ae62f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -8,6 +8,7 @@ using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using Assets.Scenes.Ride.Scripts.Model;
public class GameRoomDetailController : PFUIPanel
{
@ -31,27 +32,35 @@ public class GameRoomDetailController : PFUIPanel
public GameObject quitBtn;
public GameObject cancelBtn;
public GameObject d2;
public GameObject d3;
public GameObject ar;
public GameRoomModel GameRoom { get; set; }
public DateTime? StartTime { get; set; }
public int Status { get; set; }
protected override void Start()
{
base.Start();
UIManager.AddBackHandler((e) =>
{
MapUDPService.SendGameRoomKick(GameRoom.RoomId,App.CurrentUser.Id,App.CurrentUser.Id);
App.gameRoomDetail = null;
});
transform.Find("MainNav").GetComponent<MainNav>().ShowBack();
Utils.DisplayHead(Avatar, App.CurrentUser.WxHeadImg);
UIManager.AddEvent(startBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, (e) =>
{
//判断房间内的人是否都准备
var list = MapUDPService.GetGameRoomList(GameRoom.Id);
var notReady = list.Where(c => c.RoomDetail.Status == 0 && c.RoomDetail.IsOwner == false).Any();
var list = GameRoom.RoomPlayerList;
var notReady = list.Where(c => c.Status == 0 && c.IsOwner == false).Any();
if (notReady)
{
Utils.showToast(gameObject,App.GetLocalString("have to wait for all ready!"));
Utils.showToast(gameObject, App.GetLocalString("have to wait for all ready!"));
}
else
{
MapUDPService.SendGameRoomStartTime(App.gameRoomDetail.Id, App.CurrentUser.Id);
}
MapUDPService.SendGameRoomStartTime(App.gameRoomDetail.RoomId, App.CurrentUser.Id);
}
});
//准备
UIManager.AddEvent(readyBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, (e) =>
@ -59,7 +68,7 @@ public class GameRoomDetailController : PFUIPanel
Status = 1;
readyBtn.SetActive(false);
cancelBtn.SetActive(true);
MapUDPService.SendGameRoomReadyStatus(App.gameRoomDetail.Id, App.CurrentUser.Id, Status);
MapUDPService.SendGameRoomReadyStatus(App.gameRoomDetail.RoomId, App.CurrentUser.Id, Status);
});
//取消准备
UIManager.AddEvent(cancelBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, (e) =>
@ -67,133 +76,180 @@ public class GameRoomDetailController : PFUIPanel
Status = 0;
readyBtn.SetActive(true);
cancelBtn.SetActive(false);
MapUDPService.SendGameRoomReadyStatus(App.gameRoomDetail.Id, App.CurrentUser.Id, Status);
MapUDPService.SendGameRoomReadyStatus(App.gameRoomDetail.RoomId, App.CurrentUser.Id, Status);
});
//退出
UIManager.AddEvent(quitBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, (e) =>
{
App.gameRoomDetail = null;
MapUDPService.SendGameRoomKick(GameRoom.RoomId, App.CurrentUser.Id, App.CurrentUser.Id);
UIManager.ShowGameRoomListPanel();
});
}
public override void Show()
{
base.Show();
GameRoom = App.gameRoomDetail;
Init();
}
private bool DataSourceChanged { get; set; }
private void ListenerHandler(List<ReceiveMsgModel> message)
{
try
{
var detail = message.FirstOrDefault();
if (detail != null)
{
if (detail.RoomList != null)
{
GameRoom = detail.RoomList.Where(c => c.RoomId == GameRoom.RoomId).FirstOrDefault();
DataSourceChanged = true;
}
}
}
catch (Exception e)
{
}
}
float timer = 0f;
private void Update()
{
TcpHandler();
timer -= Time.deltaTime;
while (timer < 0)
{
TcpHandler();
timer += 1f;
}
}
private void Init()
{
UIManager.AddEvent(startBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, (e) =>
{
//TODO:
});
UIManager.AddEvent(quitBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, (e) =>
{
//TODO:
});
UIManager.AddEvent(cancelBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, (e) =>
{
//TODO:
});
idText.text = GameRoom.Id.ToString().PadLeft(7, '0');
App.Model = "GameRoom";
MapUDPService.MessageListener = ListenerHandler;
GameRoom = App.gameRoomDetail;
var enable2d = !GameRoom.Enable3D && !GameRoom.EnableAR;
var enable3d = GameRoom.Enable3D && !GameRoom.EnableAR;
d2.SetActive(enable2d);
d3.SetActive(enable3d);
ar.SetActive(GameRoom.EnableAR);
DataSourceChanged = true;
MapUDPService.SendQueryGameRoomList(App.CurrentUser.Id, 0, 1, GameRoom.RoomId.ToString());
readyBtn.SetActive(true);
cancelBtn.SetActive(false);
startBtn.SetActive(false);
idText.text = GameRoom.RoomId.ToString().PadLeft(7, '0');
roomName.text = GameRoom.Name;
routeName.text = GameRoom.MapRouteName;
distanceText.text = $"{Math.Round(GameRoom.Distance, 1)}KM";
eleText.text = $"{Math.Round(GameRoom.TotalClimb, 0)}M";
slopeText.text = $"{Math.Round(GameRoom.AverageGrade, 1)}%";
if (!string.IsNullOrEmpty(GameRoom.BestNickName))
//查询某线路最佳
var result = ConfigHelper.mapApi.GetMapBestInfo(GameRoom.MapRouteId);
if (result.result && !string.IsNullOrEmpty(result.data.BestNickName))
{
bestTab.SetActive(true);
bestTabName.text = GameRoom.BestNickName;
bestTabTimer.text = GameRoom.BestTotalTime;
Utils.DisplayHead(bestTabHead, GameRoom.BestWxHeadImg);
bestTabName.text = result.data.BestNickName;
bestTabTimer.text = result.data.BestTotalTime;
Utils.DisplayHead(bestTabHead, result.data.BestWxHeadImg);
}
Utils.DisplayHead(altitudeGraph, GameRoom.AltitudeGraph);
var playerList = FindObjectsOfType<GameRoomPlayerPanel>();
foreach (var item in playerList)
{
if (GameRoom.MaxMembers - item.sort < 0)
{
item.NotInUse();
}
else
{
item.ShowInviteModal();
}
}
}
private void TcpHandler()
{
MapUDPService.Send(0, App.CurrentUser.Id, new double[] { 0d, 0d }, competitionId: 0, roomId: GameRoom.Id);
var list = MapUDPService.GetGameRoomList(GameRoom.Id);
var playerList = FindObjectsOfType<GameRoomPlayerPanel>();
//自己
var mine = list.Where(c => c.RoomDetail.UserId == App.CurrentUser.Id).FirstOrDefault();
if (mine != null)
if (DataSourceChanged)
{
//是否是房主
var owner = mine.RoomDetail.IsOwner;
readyBtn.SetActive(!owner);
startBtn.SetActive(owner);
//是否准备
//readyBtn.SetActive(!owner && mine.RoomDetail.Status == 0);
//cancelBtn.SetActive(!owner && mine.RoomDetail.Status == 1);
}
//新增/更新
foreach (var item in list)
{
var current = playerList.Where(c => c.UserId == item.Id).FirstOrDefault();
if (current == null)
var playerList = FindObjectsOfType<GameRoomPlayerPanel>();
var list = GameRoom.RoomPlayerList;
//自己
var mine = list.Where(c => c.UserId == App.CurrentUser.Id).FirstOrDefault();
if (mine != null)
{
var s = playerList.Where(c => c.UserId == 0).OrderBy(c => c.sort).FirstOrDefault();
if (s != null)
{
s.Init(item.Id, item.Name, item.HeadImage, item.Weight, item.FTP, item.RoomDetail.IsOwner, item.RoomDetail.Status);
}
//是否是房主
var owner = mine.IsOwner;
readyBtn.SetActive(!owner);
startBtn.SetActive(owner);
}
else
//新增/更新
foreach (var item in list)
{
current.UpdatePlayer(item.Id, item.Name, item.HeadImage, item.Weight, item.FTP, item.RoomDetail.IsOwner, item.RoomDetail.Status);
}
}
//删除
foreach (var item in playerList)
{
if (item.UserId != 0)
{
var current = list.Where(c => c.Id == item.UserId).FirstOrDefault();
var userName =item.Name;
var headurl = item.WxHeadImage;
var ftp = item.FTP;
var weight = item.Weight;
var sex = item.Sex;
var current = playerList.Where(c => c.UserId == item.UserId).FirstOrDefault();
if (current == null)
{
item.ShowInviteModal();
var s = playerList.Where(c => c.UserId == 0 && c.NotUse == false).OrderBy(c => c.sort).FirstOrDefault();
if (s != null)
{
s.Init(item.UserId, userName, headurl, weight, ftp, item.IsOwner, item.Status,sex);
}
}
var myself = list.Where(c => c.RoomDetail.UserId == App.CurrentUser.Id).FirstOrDefault();
if (myself == null)
else
{
Utils.showToast(gameObject, App.GetLocalString("you've been kicked out of the room"));
UIManager.ShowGameRoomListPanel();
current.UpdatePlayer(item.UserId, userName, headurl, weight, ftp, item.IsOwner, item.Status,sex);
}
}
}
//收到服务器开始命令进入 loading页面
var roomStart = list.Where(c => c.Room != null && c.Room.Status == 1).FirstOrDefault();
if (roomStart != null)
{
//UIManager.ShowGameRoomLoadingPanel();
//路线
App.RouteIdParam = GameRoom.MapRouteId;
if (GameRoom.EnableAR)
//删除
foreach (var item in playerList)
{
SceneManager.LoadScene("VideoPlay");
if (item.UserId != 0)
{
var current = list.Where(c => c.UserId == item.UserId).FirstOrDefault();
if (current == null)
{
item.ShowInviteModal();
}
var myself = list.Where(c => c.UserId == App.CurrentUser.Id).FirstOrDefault();
//被移除房间 or 掉线 or
if (myself == null)
{
//Utils.showToast(gameObject, App.GetLocalString("you've been kicked out of the room"));
UIManager.ShowGameRoomListPanel();
}
}
}
else
//收到服务器开始命令进入 loading页面
if (GameRoom.Status == 1)
{
SceneManager.LoadScene("Ride");
//路线
App.RouteIdParam = GameRoom.MapRouteId;
if (GameRoom.EnableAR)
{
SceneManager.LoadScene("VideoPlay");
}
else
{
SceneManager.LoadScene("Ride");
}
}
DataSourceChanged = false;
}
}
protected override void OnDisable()
{
//App.gameRoomDetail = null;
}
protected override void OnDestroy()
{
//App.gameRoomDetail = null;
}
}

View File

@ -1,9 +1,13 @@

using Assets.Scenes.Ride.Scripts;
using Assets.Scenes.Ride.Scripts.Model;
using Assets.Scripts;
using Assets.Scripts.Apis.Models;
using Assets.Scripts.UI.Control;
using Assets.Scripts.UI.Prefab.MapList;
using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
@ -63,6 +67,10 @@ public class GameRoomListController : PFUIPanel
private GameObject btn6;
private Transform enterRoomModal;
private Transform cycingRoomModal;
private Transform resultRoomModal;
private GameObject RoomRankItem;
private string RoomName;
private string Roompwd;
@ -72,9 +80,93 @@ public class GameRoomListController : PFUIPanel
private int Members;
private GameRoomModel GameRoom;
[SerializeField]
RectTransform _rectTransform;
[SerializeField]
InputField _searchInputField;
[SerializeField]
GameObject _searchBtn;
private GameObject RoomCell { get; set; }
//Dummy data List
private List<GameRoomModel> _list = new List<GameRoomModel>();
private string seachName = "";
private bool ListChanged = false;
private bool CreateRoomSuccessed = false;
PFUIPageHelper pageHelper;
protected override void Awake()
{
base.Awake();
RoomRankItem = Resources.Load<GameObject>("UI/Prefab/GameRoom/RoomRankItem");
RoomCell = Resources.Load<GameObject>("UI/Prefab/GameRoom/Room");
//分页
pageHelper = FindObjectOfType<PFUIPageHelper>();
pageHelper.PageIndex = 0;
pageHelper.PageSize = 6;
pageHelper.Register((e) =>
{
});
_searchInputField.onValueChanged.AddListener((e) => { seachName = e; });
_searchInputField.onEndEdit.AddListener((e) => {
seachName = e;
MapUDPService.SendQueryGameRoomList(App.CurrentUser.Id, pageHelper.PageIndex, pageHelper.PageSize, seachName);
});
UIManager.AddEvent(_searchBtn, UnityEngine.EventSystems.EventTriggerType.PointerClick, Search);
}
private void Search(BaseEventData data)
{
MapUDPService.SendQueryGameRoomList(App.CurrentUser.Id, pageHelper.PageIndex, pageHelper.PageSize, seachName);
}
private void Refreash()
{
Utils.DestroyChildren(_rectTransform);
if (list == null)
return;
int index = 0;
foreach (var item in list)
{
index++;
var g = Instantiate(RoomCell, _rectTransform);
g.GetComponent<GameRoomCell>().ConfigureCell(item, index);
}
pageHelper.Total = 10;
pageHelper.Build();
}
List<GameRoomModel> list;
private void ListenerHandler(List<ReceiveMsgModel> message)
{
try
{
//查询列表
var roomList = message.Where(c => c.RoomList != null).FirstOrDefault();
if (roomList != null)
{
list = roomList.RoomList;
ListChanged = true;
}
//查询自己当前创建的房间信息并进入
var info = message.Where(c => c.RoomList.Where(o => o.UserId == App.CurrentUser.Id).Any()).FirstOrDefault();
if (info != null)
{
GameRoom = info.RoomList[0];
App.gameRoomDetail = GameRoom;
CreateRoomSuccessed = true;
}
}
catch (Exception e)
{
}
}
protected override void Start()
{
@ -86,30 +178,41 @@ public class GameRoomListController : PFUIPanel
MapList = transform.Find("MapList").gameObject;
enterRoomModal = transform.Find("EnterRoomModal");
cycingRoomModal = transform.Find("GameRoomInProgress");
resultRoomModal = transform.Find("GameRoomDone");
InitStep1();
}
public override void Show()
{
base.Show();
App.Model = "GameRoom";
MapUDPService.MessageListener = ListenerHandler;
MapUDPService.SendQueryGameRoomList(App.CurrentUser.Id, pageHelper.PageIndex, pageHelper.PageSize, seachName);
}
float timer = 1f;
private void Update()
{
if (Input.GetAxis("Mouse ScrollWheel") != 0)
timer -= Time.deltaTime;
if (cycingRoomModal.gameObject.activeSelf)
{
if (scroll.GetComponent<ScrollRect>().verticalNormalizedPosition <= 0 ||
scroll.GetComponent<ScrollRect>().verticalNormalizedPosition >= (pageIndex == 0 ? 1.2 : 1))
{
startMouse = true;
}
var s = UIManager.Now.GetDateTime() - modelGameRoom.StartTime.Value.ToLocalTime();
CyclingTimer.text = Helper.FormatTicks((int)s.TotalSeconds);
}
else
while (timer < 0)
{
if (startMouse)
if (ListChanged)
{
startMouse = false;
OnEndDrag(null);
Refreash();
ListChanged = false;
}
}
if (Input.GetKeyDown(KeyCode.KeypadEnter) || Input.GetKeyDown(KeyCode.Return))
{
onEndEdit();
if (CreateRoomSuccessed & CreateClicked)
{
CreateRoomSuccessed = false;
CreateClicked = false;
UIManager.ShowGameRoomDetailPanel();
}
timer += 1f;
}
}
private void InitStep1()
@ -128,6 +231,8 @@ public class GameRoomListController : PFUIPanel
distanceOptions = topContainer.Find("distanceOptions");
if (distanceOptions != null)
{
distance = "";
distanceOptions.GetComponent<Dropdown>().value = 0;
var dDropdown = distanceOptions.GetComponent<Dropdown>();
dDropdown.options = MapFilterOptions.distances;
dDropdown.onValueChanged.AddListener(ChangeDistance);
@ -138,6 +243,9 @@ public class GameRoomListController : PFUIPanel
//是否是3d
if (tdContainer != null)
{
var g = tdContainer.Find("Gou").gameObject;
g.SetActive(false);
is3d = false;
UIManager.AddEvent(tdContainer.gameObject, EventTriggerType.PointerClick, (b) =>
{
var gou = tdContainer.Find("Gou").gameObject;
@ -150,6 +258,9 @@ public class GameRoomListController : PFUIPanel
//是否收藏
if (favContainer != null)
{
var g = favContainer.Find("Gou").gameObject;
g.SetActive(false);
isFav = false;
UIManager.AddEvent(favContainer.gameObject, EventTriggerType.PointerClick, (b) =>
{
var gou = favContainer.Find("Gou").gameObject;
@ -163,6 +274,8 @@ public class GameRoomListController : PFUIPanel
searchInput = topContainer.Find("SearchInput");
if (searchInput != null)
{
searchInput.GetComponent<InputField>().text = "";
ftname = "";
searchInput.GetComponent<InputField>().onEndEdit.AddListener((s) =>
{
var t = searchInput.GetComponent<InputField>().text;
@ -178,11 +291,16 @@ public class GameRoomListController : PFUIPanel
var diffOptions = topContainer.Find("DifficultyContainer");
if (diffOptions != null)
{
hands = new List<string>();
foreach (Transform t in diffOptions)
{
var button = t.GetComponent<Button>();
var image = t.GetComponent<Image>();
var text = t.Find("Text").GetComponent<Text>();
ColorUtility.TryParseHtmlString("#23232D", out Color cc);
image.color = cc;
text.color = new Color(1, 1, 1, 1);
UIManager.AddEvent(button.gameObject, EventTriggerType.PointerClick, (b) =>
{
ColorUtility.TryParseHtmlString("#23232D", out Color c1);
@ -291,19 +409,19 @@ public class GameRoomListController : PFUIPanel
HandleStepBtn(previous.name);
});
UIManager.AddEvent(create, EventTriggerType.PointerClick, async (e) =>
UIManager.AddEvent(create, EventTriggerType.PointerClick, (e) =>
{
var result = await ConfigHelper.GameRoomApi.Add(RoomName,selectedRouteId,Roompwd,UIManager.Now.GetDateTime(),CloseTime,Members);
if (result.result)
{
MapList.SetActive(false);
}
else
{
UIManager.ShowAlert("error", result.errMsg);
}
MapUDPService.SendCreateGameRoom(RoomName, selectedRouteId, Roompwd, UIManager.Now.GetDateTime(), CloseTime, Members, Map.AverageGrade, (Map.TotalClimb ?? 0), Map.Distance, Map.Enable3D, Map.EnableAR, Map.Name, Map.FileName, Map.Url, Map.AltitudeGraph);
MapList.SetActive(false);
CreateClicked = true;
});
}
private bool CreateClicked { get; set; }
private void ResetMapList()
{
}
private void InitStep2()
{
//关门时间
@ -322,6 +440,16 @@ public class GameRoomListController : PFUIPanel
var minInputField = right2.transform.Find("MinInputField").GetComponent<InputField>();
var roomNameInputField = right2.transform.Find("RoomNameInputField").GetComponent<InputField>();
var passwordInputField = right2.transform.Find("PasswordInputField").GetComponent<InputField>();
hourInputField.text = "0";
minInputField.text = "0";
roomNameInputField.text = "";
passwordInputField.text = "";
RoomName = "";
Roompwd = "";
hourInputField.GetComponent<Outline>().enabled = false;
HandleFormInput();
HandleCloseTimeBtnClick(0, "");
HandleMembersBtnClick(0, "");
//房间名
roomNameInputField.onValueChanged.AddListener((e) => {
RoomName = e;
@ -336,11 +464,10 @@ public class GameRoomListController : PFUIPanel
hourInputField.GetComponent<Outline>().enabled = true;
HandleFormInput();
});
UIManager.AddEvent(btn30,EventTriggerType.PointerClick, (e) =>
{
HandleCloseTimeBtnClick(30, btn30.name);
});
UIManager.AddEvent(btn30, EventTriggerType.PointerClick, (e) =>
{
HandleCloseTimeBtnClick(30, btn30.name);
});
UIManager.AddEvent(btn40, EventTriggerType.PointerClick, (e) =>
{
HandleCloseTimeBtnClick(40, btn40.name);
@ -420,7 +547,7 @@ public class GameRoomListController : PFUIPanel
create.GetComponent<Button>().enabled = false;
}
}
private void HandleCloseTimeBtnClick(int closeTime,string btnName)
private void HandleCloseTimeBtnClick(int closeTime, string btnName)
{
ColorUtility.TryParseHtmlString("#3D3E4D", out Color grey);
ColorUtility.TryParseHtmlString("#F93086", out Color pink);
@ -431,7 +558,7 @@ public class GameRoomListController : PFUIPanel
btn60.GetComponent<Image>().color = btn60.name == btnName ? pink : grey;
HandleFormInput();
}
private void HandleMembersBtnClick(int members,string btnName)
private void HandleMembersBtnClick(int members, string btnName)
{
ColorUtility.TryParseHtmlString("#3D3E4D", out Color grey);
ColorUtility.TryParseHtmlString("#F93086", out Color pink);
@ -474,49 +601,114 @@ public class GameRoomListController : PFUIPanel
var path = PFConstants.VideoFolder;
var filepath = path + "/" + fileName;
var download = transform.Find("DownloadPanel").gameObject;
if (!File.Exists(filepath))
if (GameRoom.EnableAR && !File.Exists(filepath))
{
download.SetActive(true);
download.GetComponent<GameRoomDownLoad>().Init(RoomId, GameRoom.FileName, GameRoom.FileUrl, this);
}
else
GetInRoom();
}
private GameRoomModel modelGameRoom { get; set; }
//private GameRoomModel modelGameRoom { get; set; }
private Text CyclingTimer { get; set; }
public void ShowCycingPanel(GameRoomModel gameRoomModel)
{
ShowStatusModal(cycingRoomModal, gameRoomModel);
//倒计时
modelGameRoom = gameRoomModel;
CyclingTimer = cycingRoomModal.Find("Modal/Timer").GetComponent<Text>();
}
public void ShowDonePanel(int roomId)
{
var result = ConfigHelper.GameRoomApi.GetDetail(roomId);
if (result.result)
{
if (File.Exists(filepath))
ShowStatusModal(resultRoomModal, result.data);
resultRoomModal.Find("Modal/EndTime").GetComponent<Text>().text = result.data.EndTime.HasValue?result.data.EndTime.Value.ToLocalTime().ToString(): "--:--:--";
//排行榜
var list = result.data.RoomRankingList;
var content = resultRoomModal.Find("Modal/Scroll View/Viewport/Content");
Utils.DestroyChildren(content);
foreach (var item in list)
{
GetInRoom();
var t = Instantiate(RoomRankItem, content);
t.transform.Find("Bg").gameObject.SetActive(App.CurrentUser.Id == item.UserId);
t.transform.Find("Rank").GetComponent<Text>().text = item.Rank.ToString().PadLeft(2,'0');
Utils.DisplayImage(t.transform.Find("Head").GetComponent<RawImage>(), item.WxHeadImg);
t.transform.Find("Country").GetComponent<RawImage>().texture = UIManager.Instance.loginRegOptions.GetCountryImageByName(item.Country);
t.transform.Find("Name").GetComponent<Text>().text = item.NickName;
t.transform.Find("Timer").GetComponent<Text>().text = item.TotalTime;
}
}
}
private void ShowStatusModal(Transform tr,GameRoomModel data)
{
tr.Find("Modal/Id").GetComponent<Text>().text = data.RoomId.ToString().PadLeft(7, '0');
tr.Find("Modal/RoomName").GetComponent<Text>().text = data.Name;
tr.Find("Modal/RouteName").GetComponent<Text>().text = data.MapRouteName;
var graph = tr.Find("Modal/AltitudeGraph").GetComponent<RawImage>();
var bestHead = tr.Find("Modal/BestTab/Head").GetComponent<RawImage>();
var bestName = tr.Find("Modal/BestTab/NickName").GetComponent<Text>();
var bestTimer = tr.Find("Modal/BestTab/Timer").GetComponent<Text>();
bestName.text = data.BestNickName;
bestTimer.text = data.BestTotalTime;
Utils.DisplayImage(graph, data.AltitudeGraph);
Utils.DisplayImage(bestHead, data.BestWxHeadImg);
tr.Find("Modal/Props/DistanceText").GetComponent<Text>().text = data.Distance.ToString("f1") + "KM";
tr.Find("Modal/Props/EleText").GetComponent<Text>().text = data.TotalClimb.ToString("f0") + "M";
tr.Find("Modal/Props/SlopeText").GetComponent<Text>().text = data.AverageGrade.ToString("f1") + "%";
tr.Find("Modal/StartTime").GetComponent<Text>().text = data.StartTime.Value.ToLocalTime().ToString();
//var timegap = data.StartTime.Value.ToLocalTime() - UIManager.Now.GetDateTime();
//if (timegap.Ticks > 0)
//{
// tr.Find("Modal/StartTime").GetComponent<Text>().text = Helper.FormatTicks((int)timegap.Ticks);
//}
var close = tr.Find("Modal/Close").gameObject;
var quit = tr.Find("Modal/Quit").gameObject;
UIManager.AddEvent(close, EventTriggerType.PointerClick, (e) => { tr.gameObject.SetActive(false); });
UIManager.AddEvent(quit, EventTriggerType.PointerClick, (e) => { tr.gameObject.SetActive(false); });
tr.gameObject.SetActive(true);
}
private int RoomId;
public void GetInRoom()
{
var result = ConfigHelper.GameRoomApi.GetDetail(RoomId);
if (result.result)
//1.房间人数已经满了
var max = GameRoom.MaxMembers;
var count = GameRoom.RoomPlayerList.Count;
if (count + 1 > max)
{
App.gameRoomDetail = result.data;
//TODO:一些状态的校验
//1.房间人数已经满了
//2.房间状态不对
//发送TCP信息
MapUDPService.SendJoinGameRoom(App.gameRoomDetail.Id,App.CurrentUser.Id,UIManager.Now.GetDateTime().ToUniversalTime());
UIManager.ShowGameRoomDetailPanel();
Utils.showToast(gameObject, App.GetLocalString("exceeded the maximum number!"));
return;
}
else
//2.房间状态不对
if (GameRoom.Status > 0)
{
Utils.showToast(gameObject, result.errMsg);
Utils.showToast(gameObject, App.GetLocalString("Game has already been processing!"));
return;
}
App.gameRoomDetail = GameRoom;
//发送TCP信息
MapUDPService.SendJoinGameRoom(App.gameRoomDetail.RoomId,App.CurrentUser.Id,UIManager.Now.GetDateTime().ToUniversalTime());
UIManager.ShowGameRoomDetailPanel();
}
public void SelectRoom(GameRoomModel room)
{
GameRoom = room;
RoomId = GameRoom.Id;
RoomId = GameRoom.RoomId;
}
public int GetRoomId()
{
return RoomId;
}
public GameRoomModel GetCurrentRoom()
{
return GameRoom;
}
public void Select(MapRoute map)
{
Map = map;
@ -607,8 +799,22 @@ public class GameRoomListController : PFUIPanel
//创建房间
private void CreateGameRoom(BaseEventData data)
{
MapList.SetActive(true);
InitStep1();
InitStep2();
next.GetComponent<Image>().color = PFConstants.Dark;
next.transform.Find("Text").GetComponent<Text>().color = PFConstants.LightGrey;
next.GetComponent<Button>().interactable = false;
next.GetComponent<Button>().enabled = false;
HandleStepBtn(previous.name);
HandleCloseTimeBtnClick(0, "");
MapList.SetActive(true);
}
protected override void OnDisable()
{
base.OnDisable();
MapUDPService.MessageListener = null;
}
}

View File

@ -1,16 +1,19 @@
using Assets.Scenes.Ride.Scripts;
using Assets.Scenes.Ride.Scripts.Model;
using Assets.Scripts;
using Assets.Scripts.Apis.Models;
using Assets.Scripts.Scenes.VideoRide;
using DG.Tweening;
using PolyAndCode.UI;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class GameRoomLoadingController : PFUIPanel
@ -33,45 +36,89 @@ public class GameRoomLoadingController : PFUIPanel
GameRoom = App.gameRoomDetail;
roomName.text = GameRoom.Name;
routeName.text = GameRoom.MapRouteName;
idtext.text = GameRoom.Id.ToString().PadLeft(7, '0');
idtext.text = GameRoom.RoomId.ToString().PadLeft(7, '0');
distanceText.text = GameRoom.Distance.ToString("f1") + "KM";
gradeText.text = GameRoom.AverageGrade.ToString("f1") + "%";
totalClimbText.text = GameRoom.TotalClimb.ToString("f0")+"M";
totalClimbText.text = GameRoom.TotalClimb.ToString("f0") + "M";
DrawMapRouteAsync(GameRoom.MapRouteId);
prefab = Resources.Load<GameObject>("UI/Prefab/GameRoom/LoadingItem");
MapUDPService.MessageListener = ListenerHandler;
videoLoading = FindObjectOfType<VideoLoading>();
playerLoading = FindObjectOfType<LoadingController>();
videoManager = FindObjectOfType<VideoGameManager>();
videoManager?.SetCyclingModel(Assets.Scenes.Ride.Scripts.Model.CyclingModel.GameRoom);
}
private bool DataSourceChanged { get; set; }
private void ListenerHandler(List<ReceiveMsgModel> message)
{
try
{
//查询列表
var roomList = message.Where(c => c.RoomList != null).FirstOrDefault();
if (roomList != null)
{
var room = App.gameRoomDetail;
GameRoom = roomList.RoomList.Where(c=>c.RoomId == GameRoom.RoomId).FirstOrDefault();
DataSourceChanged = true;
}
}
catch (Exception e)
{
}
}
float timer = 1f;
VideoLoading videoLoading { get; set; }
LoadingController playerLoading { get; set; }
VideoGameManager videoManager { get; set; }
private void Update()
{
timer -= Time.deltaTime;
while (timer < 0)
{
//获取当前进度
var currentScene = SceneManager.GetActiveScene();
double process = 100d;
if (!currentScene.name.Equals("VideoPlay"))
{
process = playerLoading.GetProcess();
}
//发送当前进度
MapUDPService.SendGameRoomLoadingProcess(GameRoom.Id, App.CurrentUser.Id, 56);
MapUDPService.SendGameRoomLoadingProcess(GameRoom.RoomId, App.CurrentUser.Id, process);
timer += 1f;
}
if (DataSourceChanged)
{
DataSourceChanged = false;
//新增
var list = MapUDPService.GetGameRoomList(GameRoom.Id);
var list = GameRoom.RoomPlayerList;
var items = FindObjectsOfType<GameRoomLoadingItem>();
foreach (var item in list)
{
var roomDetail = items.Where(c => c.UserId == item.RoomDetail.UserId).FirstOrDefault();
var roomDetail = items.Where(c => c.UserId == item.UserId).FirstOrDefault();
if (roomDetail == null)
{
var detail = Instantiate(prefab, content);
roomDetail = detail.GetComponent<GameRoomLoadingItem>();
roomDetail.Init(item.Id,item.Name,item.Room.Id,0);
roomDetail.Init(item.UserId, item.WxHeadImage, item.RoomId, item.Process);
}
}
//判断是否进入骑行场景
var startTime = MapUDPService.GetRoomStartTime(GameRoom.Id);
var startTime = GameRoom.StartTime;
var singleUi = FindObjectOfType<SingleUIManager>();
if (startTime.HasValue)
{
var v = FindObjectOfType<VideoLoading>();
v.StartRide(null);
//TODO:倒计时
var dateTime = UIManager.Now.GetDateTime();
var gap = startTime.Value.ToLocalTime() - dateTime;
var interval = (int)Math.Floor(gap.TotalSeconds);
playerLoading?.StartRide(interval);
singleUi?.StartRide(interval);
videoLoading?.StartRide(interval);
transform.parent.gameObject.SetActive(false);
}
timer += 1f;
}
}

View File

@ -123,6 +123,14 @@ public class UIManager : MonoBehaviour
return this.GetPanelInstance("GameRoomLoadingPanel", ref this.mGameRoomLoadingController);
}
}
private GameRoomCountDownController mGameRoomCountDownController;
public GameRoomCountDownController GameRoomCountDownPanel
{
get
{
return this.GetPanelInstance("GameRoomCountDown", ref this.mGameRoomCountDownController);
}
}
private SettingContoller mSettingContoller;
public SettingContoller SettingModal
{
@ -863,10 +871,12 @@ public class UIManager : MonoBehaviour
public static void ShowGameRoomListPanel()
{
App.Model = "GameRoom";
UIManager.Show(UIManager.Instance.GameRoomListPanel, UIManager.Instance.MainPanel);
}
public static void ShowGameRoomDetailPanel()
{
App.Model = "GameRoom";
UIManager.Show(UIManager.Instance.GameRoomDetailPanel, UIManager.Instance.MainPanel);
}
//显示房间loading页面
@ -874,6 +884,14 @@ public class UIManager : MonoBehaviour
{
UIManager.Show(UIManager.Instance.GameRoomLoadingPanel, null, true);
}
public static void ShowGameRoomCountDownPanel(int seconds,Action action)
{
if (UIManager.Instance.GameRoomCountDownPanel!= null)
{
UIManager.Instance.GameRoomCountDownPanel.Init(seconds, action);
}
UIManager.Show(UIManager.Instance.GameRoomCountDownPanel, null, true);
}
public static void ShowDevicePanel()
{
UIManager.Show(UIManager.Instance.DevicePanel, null, true);
@ -979,10 +997,24 @@ public class UIManager : MonoBehaviour
stack.Pop();
}
}
private static List<Action<string>> BackHandlerList { get; set; }
public static void AddBackHandler(Action<string> callback)
{
if (BackHandlerList == null)
{
BackHandlerList = new List<Action<string>>();
}
BackHandlerList.Add(callback);
}
public static void ShowPrePanel()
{
stack.Pop();
var panel = stack.Pop();
BackHandlerList?.ForEach((e) =>
{
e?.Invoke(panel?.name);
});
if (panel == null)
{
if (App.pageName == "map")