完成提示系统

This commit is contained in:
daixiawu 2025-07-04 03:19:24 +08:00
parent 856deafd14
commit 14ef3cfd02
47 changed files with 13866 additions and 1628 deletions

View File

@ -0,0 +1,75 @@
using UnityEditor;
using UnityEngine;
[CustomPropertyDrawer(typeof(HintInfo))]
public class HintInfoDrawer : PropertyDrawer
{
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
// Step 1: 获取 hintId
var hintIdProp = property.FindPropertyRelative("HintType");
var hintNameProp =property.FindPropertyRelative("HintName");
string hintIdText = hintIdProp != null ? hintIdProp.uintValue.ToString() : "???";
string hintNameText = hintNameProp != null ? hintNameProp.stringValue : "Unnamed";
string rawLabel = $"{hintNameText}";
// Step 4: 显示 Foldout
property.isExpanded = EditorGUI.Foldout(
new Rect(position.x, position.y, position.width, EditorGUIUtility.singleLineHeight),
property.isExpanded,
rawLabel
);
// Step 5: 展开显示所有字段
if (property.isExpanded)
{
EditorGUI.indentLevel++;
float y = position.y + EditorGUIUtility.singleLineHeight;
SerializedProperty childProp = property.Copy();
SerializedProperty end = childProp.GetEndProperty();
childProp.NextVisible(true); // 进入第一个子属性
while (!SerializedProperty.EqualContents(childProp, end))
{
float h = EditorGUI.GetPropertyHeight(childProp, true);
EditorGUI.PropertyField(
new Rect(position.x, y, position.width, h),
childProp,
true
);
y += h + EditorGUIUtility.standardVerticalSpacing;
if (!childProp.NextVisible(false))
break;
}
EditorGUI.indentLevel--;
}
}
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
{
float height = EditorGUIUtility.singleLineHeight;
if (property.isExpanded)
{
SerializedProperty childProp = property.Copy();
SerializedProperty end = childProp.GetEndProperty();
childProp.NextVisible(true); // 进入第一个子属性
while (!SerializedProperty.EqualContents(childProp, end))
{
height += EditorGUI.GetPropertyHeight(childProp, true) + EditorGUIUtility.standardVerticalSpacing;
if (!childProp.NextVisible(false))
break;
}
}
return height;
}
}

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,72 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1107 &-7570328791054626282
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 1349465294116563246}
m_Position: {x: 200, y: 0, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 1349465294116563246}
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Bubble 1
serializedVersion: 5
m_AnimatorParameters: []
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: -7570328791054626282}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1102 &1349465294116563246
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: PlayHint
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: bc7d68594a81da841a50454123d8a586, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8ebe482a0fcb24445a62df6048649d57
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 9100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,130 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1102 &-7035614350494276139
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: PlayHintShow
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 0cddabe13c17cd94fa632f9c85a198e8, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1107 &-6290044279668763892
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 3056882648595068695}
m_Position: {x: 200, y: 0, z: 0}
- serializedVersion: 1
m_State: {fileID: -7035614350494276139}
m_Position: {x: 235, y: 65, z: 0}
- serializedVersion: 1
m_State: {fileID: 6846779326105156502}
m_Position: {x: 270, y: 130, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 3056882648595068695}
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Bubble
serializedVersion: 5
m_AnimatorParameters: []
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: -6290044279668763892}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1102 &3056882648595068695
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: PlayHintHide
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 627f0c79df68d6241baf00afe6eacf06, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &6846779326105156502
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: PlayHint
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: bc7d68594a81da841a50454123d8a586, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 10048fe6f507c514fbfb5e8b6001c5b7
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 9100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -17,96 +17,6 @@ AnimationClip:
m_PositionCurves: []
m_ScaleCurves: []
m_FloatCurves:
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.25
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.r
path:
classID: 212
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.25
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.g
path:
classID: 212
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.25
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.b
path:
classID: 212
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
@ -132,9 +42,9 @@ AnimationClip:
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.a
attribute: m_Alpha
path:
classID: 212
classID: 225
script: {fileID: 0}
flags: 0
m_PPtrCurves: []
@ -147,36 +57,9 @@ AnimationClip:
genericBindings:
- serializedVersion: 2
path: 0
attribute: 304273561
attribute: 1574349066
script: {fileID: 0}
typeID: 212
customType: 0
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
- serializedVersion: 2
path: 0
attribute: 2526845255
script: {fileID: 0}
typeID: 212
customType: 0
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
- serializedVersion: 2
path: 0
attribute: 4215373228
script: {fileID: 0}
typeID: 212
customType: 0
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
- serializedVersion: 2
path: 0
attribute: 2334886179
script: {fileID: 0}
typeID: 212
typeID: 225
customType: 0
isPPtrCurve: 0
isIntCurve: 0
@ -203,96 +86,6 @@ AnimationClip:
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves:
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.25
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.r
path:
classID: 212
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.25
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.g
path:
classID: 212
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.25
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.b
path:
classID: 212
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
@ -318,9 +111,9 @@ AnimationClip:
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.a
attribute: m_Alpha
path:
classID: 212
classID: 225
script: {fileID: 0}
flags: 0
m_EulerEditorCurves: []

View File

@ -17,69 +17,6 @@ AnimationClip:
m_PositionCurves: []
m_ScaleCurves: []
m_FloatCurves:
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.r
path:
classID: 212
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.g
path:
classID: 212
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.b
path:
classID: 212
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
@ -105,9 +42,9 @@ AnimationClip:
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.a
attribute: m_Alpha
path:
classID: 212
classID: 225
script: {fileID: 0}
flags: 0
m_PPtrCurves: []
@ -120,36 +57,9 @@ AnimationClip:
genericBindings:
- serializedVersion: 2
path: 0
attribute: 304273561
attribute: 1574349066
script: {fileID: 0}
typeID: 212
customType: 0
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
- serializedVersion: 2
path: 0
attribute: 2526845255
script: {fileID: 0}
typeID: 212
customType: 0
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
- serializedVersion: 2
path: 0
attribute: 4215373228
script: {fileID: 0}
typeID: 212
customType: 0
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
- serializedVersion: 2
path: 0
attribute: 2334886179
script: {fileID: 0}
typeID: 212
typeID: 225
customType: 0
isPPtrCurve: 0
isIntCurve: 0
@ -176,69 +86,6 @@ AnimationClip:
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves:
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.r
path:
classID: 212
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.g
path:
classID: 212
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.b
path:
classID: 212
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
@ -264,9 +111,9 @@ AnimationClip:
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.a
attribute: m_Alpha
path:
classID: 212
classID: 225
script: {fileID: 0}
flags: 0
m_EulerEditorCurves: []

View File

@ -0,0 +1,101 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1102 &-6758606073034590925
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: PlayHintShow
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 0cddabe13c17cd94fa632f9c85a198e8, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1107 &-4759705267586456690
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: -6758606073034590925}
m_Position: {x: 200, y: 0, z: 0}
- serializedVersion: 1
m_State: {fileID: 1169754625444196471}
m_Position: {x: 235, y: 65, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: -6758606073034590925}
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: TextPanel
serializedVersion: 5
m_AnimatorParameters: []
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: -4759705267586456690}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1102 &1169754625444196471
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: PlayHintHide
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 627f0c79df68d6241baf00afe6eacf06, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: aa4586f597ba6c4428ef70ee129541f4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 9100000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

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

View File

@ -0,0 +1,42 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 852b0c63d6c494044808593c838b80cb, type: 3}
m_Name: HintDataAssets
m_EditorClassIdentifier:
HintDataList:
- HintType: 1
HintName: "\u9700\u8981\u6062\u590D!"
HintContent: "\u751F\u547D\u503C\u8F83\u4F4E\uFF0C\u9632\u5FA1\u653B\u51FB\u90FD\u4F1A\u4E0B\u964D\uFF0C\u53EF\u4EE5\u4F7F\u7528<color=yellow>\u6062\u590D</color>\u3002\u9886\u571F\u5185\u6062\u590D\u7FFB\u500D\u3002"
- HintType: 2
HintName: "\u5360\u9886\u57CE\u5E02!"
HintContent: "<color=yellow>\u5360\u9886</color>\u4ED6\u4EBA\u57CE\u5E02\u6216\u6751\u5E84\uFF0C\u662F\u53D1\u5C55\u58EE\u5927\u7684\u5FC5\u8981\u6B65\u9AA4\u3002"
- HintType: 3
HintName: "\u6316\u6398\u5B9D\u85CF!"
HintContent: "<color=yellow>\u6316\u6398</color>\u5B9D\u85CF\uFF0C\u5C06\u6709\u6982\u7387\u83B7\u5F97\u5DE8\u989D\u8D22\u5BCC\uFF0C\u5F3A\u529B\u5355\u4F4D\uFF0C\u6216\u8005\u4E00\u4E2A\u968F\u673A\u79D1\u6280\u3002"
- HintType: 4
HintName: "\u8BAD\u7EC3\u5355\u4F4D!"
HintContent: "\u65E0\u8BBA\u662F\u5E94\u5BF9\u6F5C\u5728\u7684\u654C\u4EBA\u5A01\u80C1\uFF0C\u8FD8\u662F\u63A2\u7D22\u5730\u56FE\u6316\u6398\u5B9D\u85CF\uFF0C\u8BAD\u7EC3\u5355\u4F4D\u90FD\u662F\u7B2C\u4E00\u6B65\u3002"
- HintType: 5
HintName: "\u53EF\u6539\u9020\u519C\u7530"
HintContent: "\u5B66\u4E60<color=yellow>\u8015\u79CD</color>\u79D1\u6280\uFF0C\u5C31\u80FD\u5C06\u5E84\u7A3C\u6539\u9020\u4E3A\u519C\u7530\uFF0C\u5E76\u4E3A\u57CE\u5E02\u63D0\u4F9B2\u70B9\u7ECF\u9A8C\u3002\u5728\u5B66\u4E60<color=yellow>\u91C7\u96C6</color>\u79D1\u6280\u524D\uFF0C\u65E0\u6CD5\u53D1\u73B0\u5E84\u7A3C\u3002"
- HintType: 6
HintName: "\u53EF\u6355\u83B7\u6E14\u4E1A"
HintContent: "\u5B66\u4E60<color=yellow>\u6355\u9C7C</color>\u79D1\u6280\uFF0C\u5C31\u80FD\u6355\u83B7\u6E14\u4E1A\uFF0C\u5E76\u4E3A\u57CE\u5E02\u63D0\u4F9B1\u70B9\u7ECF\u9A8C\u3002"
- HintType: 7
HintName: "\u53EF\u72E9\u730E"
HintContent: "\u5B66\u4E60<color=yellow>\u72E9\u730E</color>\u79D1\u6280\uFF0C\u5C31\u80FD\u6355\u83B7\u730E\u7269\uFF0C\u5E76\u4E3A\u57CE\u5E02\u63D0\u4F9B1\u70B9\u7ECF\u9A8C\u3002"
- HintType: 8
HintName: "\u53EF\u6539\u9020\u77FF\u573A"
HintContent: "\u5B66\u4E60<color=yellow>\u91C7\u77FF</color>\u79D1\u6280\uFF0C\u5C31\u80FD\u5C06\u77FF\u5C71\u6539\u9020\u4E3A\u91C7\u77FF\u573A\uFF0C\u5E76\u4E3A\u57CE\u5E02\u63D0\u4F9B2\u70B9\u7ECF\u9A8C\u3002\u5728\u5B66\u4E60<color=yellow>\u722C\u5C71</color>\u79D1\u6280\u4E4B\u524D\uFF0C\u65E0\u6CD5\u53D1\u73B0\u77FF\u5C71\u3002"
- HintType: 9
HintName: "\u53EF\u6536\u83B7\u6C34\u679C"
HintContent: "\u5B66\u4E60<color=yellow>\u91C7\u96C6</color>\u79D1\u6280\uFF0C\u5C31\u80FD\u6536\u83B7\u6C34\u679C\uFF0C\u5E76\u4E3A\u57CE\u5E02\u63D0\u4F9B1\u70B9\u7ECF\u9A8C\u3002"

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e9daed3a38716b4419b8e3590442b3b7
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,42 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 852b0c63d6c494044808593c838b80cb, type: 3}
m_Name: HintDataAssets
m_EditorClassIdentifier:
HintDataList:
- HintType: 1
HintName: 1011
HintContent: 1012
- HintType: 2
HintName: 1013
HintContent: 1014
- HintType: 3
HintName: 1015
HintContent: 1016
- HintType: 4
HintName: 1017
HintContent: 1018
- HintType: 5
HintName: 1019
HintContent: 1034
- HintType: 6
HintName: 1021
HintContent: 1030
- HintType: 7
HintName: 1023
HintContent: 1031
- HintType: 8
HintName: 1025
HintContent: 1032
- HintType: 9
HintName: 1027
HintContent: 1033

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 9977a0344008c6744a789131e0bc3ac7
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -6118,3 +6118,317 @@ MonoBehaviour:
EN:
JP:
KR:
- ID: 984
ZH: "\u8FD9\u662F\u4E00\u7247\u5E73\u539F\u533A\u57DF\u3002\u89E3\u9501\u9AD8\u9636\u79D1\u6280\u5B8C\u6210\u66F4\u591A\u5EFA\u8BBE\u6D3B\u52A8\u3002"
TDZH:
EN:
JP:
KR:
- ID: 985
ZH: "\u9646\u5730"
TDZH:
EN:
JP:
KR:
- ID: 986
ZH: "<color=yellow>\u751F\u4EA7\u987E\u95EE\u5EFA\u8BAE\uFF1A</color>\u63D0\u5347\u79D1\u6280\u662F\u63D0\u5347\u53D1\u5C55\u6548\u7387\u7684\u5173\u952E\u3002"
TDZH:
EN:
JP:
KR:
- ID: 987
ZH: "\u5F00\u7F57 Lv.2"
TDZH:
EN:
JP:
KR:
- ID: 988
ZH: "+2 \u6BCF\u56DE\u5408"
TDZH:
EN:
JP:
KR:
- ID: 989
ZH: "\u4EBA\u53E3 1/2"
TDZH:
EN:
JP:
KR:
- ID: 990
ZH: "\u5F81\u7A0E\u6240 0 \u4E2A"
TDZH:
EN:
JP:
KR:
- ID: 991
ZH: "\u9996\u90FD\u57CE\u5E02"
TDZH:
EN:
JP:
KR:
- ID: 992
ZH: "\u5962\u4F88\u54C1 0 \u79CD"
TDZH:
EN:
JP:
KR:
- ID: 993
ZH: "<color=yellow>\u7ECF\u6D4E\u987E\u95EE\u5EFA\u8BAE\uFF1A</color>\u83B7\u5F97\u57CE\u5E02\u7ECF\u9A8C\u63D0\u5347\u57CE\u5E02\u7B49\u7EA7\u540E\uFF0C\u5C31\u80FD\u63D0\u9AD8\u4EBA\u53E3\u4E0A\u9650\u5E76\u83B7\u5F97\u66F4\u591A\u56DE\u5408\u91D1\u5E01\u3002"
TDZH:
EN:
JP:
KR:
- ID: 994
ZH: "\u6B65\u5175 0/3"
TDZH:
EN:
JP:
KR:
- ID: 995
ZH: "<color=yellow>\u519B\u4E8B\u987E\u95EE\u5EFA\u8BAE\uFF1A</color>\u653B\u9632\u517C\u5907\uFF0C\u6700\u9AD8\u6027\u4EF7\u6BD4\u7684\u57FA\u7840\u5355\u4F4D\u3002\u5F53\u6CA1\u6709\u522B\u7684\u9009\u62E9\u7684\u65F6\u5019\uFF0C\u5C31\u8BAD\u7EC3\u5979\u4EEC\u5427!"
TDZH:
EN:
JP:
KR:
- ID: 996
ZH: 5 <color=yellow>+ 2</color>
TDZH:
EN:
JP:
KR:
- ID: 997
ZH: FORTIFY
TDZH:
EN:
JP:
KR:
- ID: 998
ZH: DASH
TDZH:
EN:
JP:
KR:
- ID: 999
ZH: "-------- ID=226, Civ=0, Force=0 --------\r\nMoney = 5, Stratery =
???\r\nTech:None Farming \r\n ---"
TDZH:
EN:
JP:
KR:
- ID: 1000
ZH: "-------- ID=227, Civ=1, Force=1 --------\r\nMoney = 5, Stratery =
???\r\nTech:None Organization \r\n ---"
TDZH:
EN:
JP:
KR:
- ID: 1001
ZH: "-------- ID=228, Civ=2, Force=2 --------\r\nMoney = 5, Stratery =
???\r\nTech:None Hunting \r\n ---"
TDZH:
EN:
JP:
KR:
- ID: 1002
ZH: "-------- ID=229, Civ=3, Force=3 --------\r\nMoney = 5, Stratery =
???\r\nTech:None Spiritualism \r\n ---"
TDZH:
EN:
JP:
KR:
- ID: 1003
ZH: "-------- ID=230, Civ=4, Force=4 --------\r\nMoney = 5, Stratery =
???\r\nTech:None \r\n ---"
TDZH:
EN:
JP:
KR:
- ID: 1004
ZH: "-------- ID=231, Civ=5, Force=5 --------\r\nMoney = 5, Stratery =
???\r\nTech:None \r\n ---"
TDZH:
EN:
JP:
KR:
- ID: 1005
ZH: "-------- ID=232, Civ=6, Force=6 --------\r\nMoney = 5, Stratery =
???\r\nTech:None \r\n ---"
TDZH:
EN:
JP:
KR:
- ID: 1006
ZH: "-------- ID=233, Civ=7, Force=7 --------\r\nMoney = 5, Stratery =
???\r\nTech:None \r\n ---"
TDZH:
EN:
JP:
KR:
- ID: 1007
ZH: "\u6CBB\u7597\u63D0\u793A"
TDZH:
EN:
JP:
KR:
- ID: 1008
ZH: 1
TDZH:
EN:
JP:
KR:
- ID: 1009
ZH: "\u5EFA\u8BBE\u63D0\u793A"
TDZH:
EN:
JP:
KR:
- ID: 1010
ZH: 2
TDZH:
EN:
JP:
KR:
- ID: 1011
ZH: "\u9700\u8981\u6062\u590D!"
TDZH:
EN:
JP:
KR:
- ID: 1012
ZH: "\u751F\u547D\u503C\u8F83\u4F4E\uFF0C\u9632\u5FA1\u653B\u51FB\u90FD\u4F1A\u4E0B\u964D\uFF0C\u53EF\u4EE5\u4F7F\u7528<color=yellow>\u6062\u590D</color>\u3002\u9886\u571F\u5185\u6062\u590D\u7FFB\u500D\u3002"
TDZH:
EN:
JP:
KR:
- ID: 1013
ZH: "\u5360\u9886\u57CE\u5E02!"
TDZH:
EN:
JP:
KR:
- ID: 1014
ZH: "<color=yellow>\u5360\u9886</color>\u4ED6\u4EBA\u57CE\u5E02\u6216\u6751\u5E84\uFF0C\u662F\u53D1\u5C55\u58EE\u5927\u7684\u5FC5\u8981\u6B65\u9AA4\u3002"
TDZH:
EN:
JP:
KR:
- ID: 1015
ZH: "\u6316\u6398\u5B9D\u85CF!"
TDZH:
EN:
JP:
KR:
- ID: 1016
ZH: "<color=yellow>\u6316\u6398</color>\u5B9D\u85CF\uFF0C\u5C06\u6709\u6982\u7387\u83B7\u5F97\u5DE8\u989D\u8D22\u5BCC\uFF0C\u5F3A\u529B\u5355\u4F4D\uFF0C\u6216\u8005\u4E00\u4E2A\u968F\u673A\u79D1\u6280\u3002"
TDZH:
EN:
JP:
KR:
- ID: 1017
ZH: "\u8BAD\u7EC3\u5355\u4F4D!"
TDZH:
EN:
JP:
KR:
- ID: 1018
ZH: "\u65E0\u8BBA\u662F\u5E94\u5BF9\u6F5C\u5728\u7684\u654C\u4EBA\u5A01\u80C1\uFF0C\u8FD8\u662F\u63A2\u7D22\u5730\u56FE\u6316\u6398\u5B9D\u85CF\uFF0C\u8BAD\u7EC3\u5355\u4F4D\u90FD\u662F\u7B2C\u4E00\u6B65\u3002"
TDZH:
EN:
JP:
KR:
- ID: 1019
ZH: "\u53EF\u6539\u9020\u519C\u7530"
TDZH:
EN:
JP:
KR:
- ID: 1020
ZH: "\u5347\u7EA7\u79D1\u6280\uFF0C\u5C06\u5E84\u7A3C\u6539\u9020\u4E3A\u519C\u7530\u5427\uFF01"
TDZH:
EN:
JP:
KR:
- ID: 1021
ZH: "\u53EF\u6355\u83B7\u6E14\u4E1A"
TDZH:
EN:
JP:
KR:
- ID: 1022
ZH: "\u5347\u7EA7\u79D1\u6280\uFF0C\u6355\u83B7\u6E14\u4E1A\uFF0C\u5347\u7EA7\u57CE\u5E02\u5427\uFF01"
TDZH:
EN:
JP:
KR:
- ID: 1023
ZH: "\u53EF\u72E9\u730E"
TDZH:
EN:
JP:
KR:
- ID: 1024
ZH: "\u5347\u7EA7\u79D1\u6280\uFF0C\u72E9\u730E\u52A8\u7269\uFF0C\u5347\u7EA7\u57CE\u5E02\u5427\uFF01"
TDZH:
EN:
JP:
KR:
- ID: 1025
ZH: "\u53EF\u6539\u9020\u77FF\u573A"
TDZH:
EN:
JP:
KR:
- ID: 1026
ZH: "\u5347\u7EA7\u79D1\u6280\uFF0C\u5C06\u77FF\u77F3\u6539\u9020\u4E3A\u91C7\u77FF\u573A\u5427\uFF01"
TDZH:
EN:
JP:
KR:
- ID: 1027
ZH: "\u53EF\u6536\u83B7\u6C34\u679C"
TDZH:
EN:
JP:
KR:
- ID: 1028
ZH: "\u5347\u7EA7\u79D1\u6280\uFF0C\u6536\u83B7\u6C34\u679C\uFF0C\u5347\u7EA7\u57CE\u5E02\u5427\uFF01"
TDZH:
EN:
JP:
KR:
- ID: 1029
ZH: "\u5B66\u4E60<color=yellow>\u79CD\u7530</color>\u79D1\u6280\uFF0C\u5C31\u80FD\u5C06\u5E84\u7A3C\u6539\u9020\u4E3A\u519C\u7530\uFF0C\u5E76\u4E3A\u57CE\u5E02\u63D0\u4F9B2\u70B9\u7ECF\u9A8C\u3002\u5728\u5B66\u4E60<color=yellow>\u91C7\u96C6</color>\u79D1\u6280\u524D\uFF0C\u65E0\u6CD5\u53D1\u73B0\u5E84\u7A3C\u3002"
TDZH:
EN:
JP:
KR:
- ID: 1030
ZH: "\u5B66\u4E60<color=yellow>\u6355\u9C7C</color>\u79D1\u6280\uFF0C\u5C31\u80FD\u6355\u83B7\u6E14\u4E1A\uFF0C\u5E76\u4E3A\u57CE\u5E02\u63D0\u4F9B1\u70B9\u7ECF\u9A8C\u3002"
TDZH:
EN:
JP:
KR:
- ID: 1031
ZH: "\u5B66\u4E60<color=yellow>\u72E9\u730E</color>\u79D1\u6280\uFF0C\u5C31\u80FD\u6355\u83B7\u730E\u7269\uFF0C\u5E76\u4E3A\u57CE\u5E02\u63D0\u4F9B1\u70B9\u7ECF\u9A8C\u3002"
TDZH:
EN:
JP:
KR:
- ID: 1032
ZH: "\u5B66\u4E60<color=yellow>\u91C7\u77FF</color>\u79D1\u6280\uFF0C\u5C31\u80FD\u5C06\u77FF\u5C71\u6539\u9020\u4E3A\u91C7\u77FF\u573A\uFF0C\u5E76\u4E3A\u57CE\u5E02\u63D0\u4F9B2\u70B9\u7ECF\u9A8C\u3002\u5728\u5B66\u4E60<color=yellow>\u722C\u5C71</color>\u79D1\u6280\u4E4B\u524D\uFF0C\u65E0\u6CD5\u53D1\u73B0\u77FF\u5C71\u3002"
TDZH:
EN:
JP:
KR:
- ID: 1033
ZH: "\u5B66\u4E60<color=yellow>\u91C7\u96C6</color>\u79D1\u6280\uFF0C\u5C31\u80FD\u6536\u83B7\u6C34\u679C\uFF0C\u5E76\u4E3A\u57CE\u5E02\u63D0\u4F9B1\u70B9\u7ECF\u9A8C\u3002"
TDZH:
EN:
JP:
KR:
- ID: 1034
ZH: "\u5B66\u4E60<color=yellow>\u8015\u79CD</color>\u79D1\u6280\uFF0C\u5C31\u80FD\u5C06\u5E84\u7A3C\u6539\u9020\u4E3A\u519C\u7530\uFF0C\u5E76\u4E3A\u57CE\u5E02\u63D0\u4F9B2\u70B9\u7ECF\u9A8C\u3002\u5728\u5B66\u4E60<color=yellow>\u91C7\u96C6</color>\u79D1\u6280\u524D\uFF0C\u65E0\u6CD5\u53D1\u73B0\u5E84\u7A3C\u3002"
TDZH:
EN:
JP:
KR:

View File

@ -1,5 +1,214 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &440460640901740922
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1282064564715669464}
- component: {fileID: 3325559495119046890}
- component: {fileID: 433906452969151489}
m_Layer: 0
m_Name: Title
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1282064564715669464
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 440460640901740922}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4262991460339087422}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 3.0478, y: -0.97088}
m_SizeDelta: {x: 4.19, y: 0.75965}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3325559495119046890
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 440460640901740922}
m_CullTransparentMesh: 1
--- !u!114 &433906452969151489
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 440460640901740922}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u56DE\u590D\u751F\u547D!"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: ca3ea612c29dc5f49a32dffc195e45fe, type: 2}
m_sharedMaterial: {fileID: -8836383360333263746, guid: ca3ea612c29dc5f49a32dffc195e45fe, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 0.7
m_fontSizeBase: 0.7
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0.016906738, y: 0, z: -0.034606934, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &1681709807048079246
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5855798094254826139}
- component: {fileID: 5085210351339556036}
- component: {fileID: 8789902931232310459}
m_Layer: 0
m_Name: BG
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5855798094254826139
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1681709807048079246}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.02, y: 0.02, z: 0.02}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 4262991460339087422}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 6.4034, y: -2}
m_SizeDelta: {x: 640.34, y: 200}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5085210351339556036
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1681709807048079246}
m_CullTransparentMesh: 1
--- !u!114 &8789902931232310459
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1681709807048079246}
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, g: 0.4770157, b: 0.5245282, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 456df2002119cef408d4f82287de1f2a, type: 3}
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!1 &1896399512399521964
GameObject:
m_ObjectHideFlags: 0
@ -11,6 +220,7 @@ GameObject:
- component: {fileID: 4395713374876703776}
- component: {fileID: 8349126378010890667}
- component: {fileID: 3649875502442571910}
- component: {fileID: 8564790546166972524}
m_Layer: 0
m_Name: CloseButton
m_TagString: Untagged
@ -25,17 +235,17 @@ RectTransform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1896399512399521964}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1832627113965316414}
m_Father: {fileID: 4262991460339087422}
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: 2, y: 2}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 11.04, y: -1.98}
m_SizeDelta: {x: 2.301, y: 2.301}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8349126378010890667
CanvasRenderer:
@ -65,7 +275,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 41f7bcbc941203f4c888d64dc7d30578, type: 3}
m_Sprite: {fileID: 21300000, guid: d63c118cc89652e4d979cf2b1abb8791, type: 3}
m_Type: 0
m_PreserveAspect: 1
m_FillCenter: 1
@ -75,6 +285,50 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &8564790546166972524
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1896399512399521964}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 0
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: 3649875502442571910}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &2070938402156224224
GameObject:
m_ObjectHideFlags: 0
@ -85,9 +339,11 @@ GameObject:
m_Component:
- component: {fileID: 4262991460339087422}
- component: {fileID: 7916960382669154624}
- component: {fileID: 6885806775046211072}
- component: {fileID: 3485645266220319313}
- component: {fileID: 7170817148281256374}
- component: {fileID: 4989231604882001802}
m_Layer: 0
m_Name: Text
m_Name: TextPanel
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -104,13 +360,19 @@ RectTransform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Children:
- {fileID: 5855798094254826139}
- {fileID: 2685706974864800807}
- {fileID: 4395713374876703776}
- {fileID: 1282064564715669464}
- {fileID: 3829352359994674399}
- {fileID: 2484582255498027131}
m_Father: {fileID: 1832627113965316414}
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: 2, y: 2}
m_AnchoredPosition: {x: 1.6272, y: 3.0766}
m_SizeDelta: {x: 12.8069, y: 3.9599}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7916960382669154624
CanvasRenderer:
@ -120,7 +382,28 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2070938402156224224}
m_CullTransparentMesh: 1
--- !u!114 &6885806775046211072
--- !u!95 &3485645266220319313
Animator:
serializedVersion: 5
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2070938402156224224}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 0}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0
--- !u!114 &7170817148281256374
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@ -129,7 +412,78 @@ MonoBehaviour:
m_GameObject: {fileID: 2070938402156224224}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Script: {fileID: 11500000, guid: 0ad50f81b1d25c441943c37a89ba23f6, type: 3}
m_Name:
m_EditorClassIdentifier:
_Animator: {fileID: 3485645266220319313}
_ActionOnDisable: 0
--- !u!225 &4989231604882001802
CanvasGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2070938402156224224}
m_Enabled: 1
m_Alpha: 1
m_Interactable: 1
m_BlocksRaycasts: 1
m_IgnoreParentGroups: 0
--- !u!1 &2473270906644313777
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3829352359994674399}
- component: {fileID: 8446794283519400077}
- component: {fileID: 5111933279587905422}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3829352359994674399
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2473270906644313777}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4262991460339087422}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 5.189001, y: -2.6111}
m_SizeDelta: {x: 8.4726, y: 1.8716002}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8446794283519400077
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2473270906644313777}
m_CullTransparentMesh: 1
--- !u!114 &5111933279587905422
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2473270906644313777}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
@ -140,7 +494,141 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 41f7bcbc941203f4c888d64dc7d30578, type: 3}
m_text: "\u8FD9\u91CC\u662F\u5177\u4F53\u7684\u63D0\u793A\u5185\u5BB9\u8FD9\u91CC\u662F\u5177\u4F53\u7684\u63D0\u793A\u5185\u5BB9\u8FD9\u91CC\u662F\u5177\u4F53\u7684\u63D0\u793A\u5185\u5BB9\u8FD9\u91CC\u662F\u5177\u4F53\u7684\u63D0\u793A\u5185\u5BB9"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f74d73acde897024090a352531df919f, type: 2}
m_sharedMaterial: {fileID: -5194638153132371293, guid: f74d73acde897024090a352531df919f, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 0.5
m_fontSizeBase: 0.5
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: -20
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: -0.0107421875, y: -0.024108887, z: 0.032104492, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &4678763881195151736
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2685706974864800807}
- component: {fileID: 3256543193677266808}
- component: {fileID: 6302743097269052025}
m_Layer: 0
m_Name: Arrow
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2685706974864800807
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4678763881195151736}
m_LocalRotation: {x: 0, y: 0, z: -0.7071068, w: 0.7071068}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.02, y: 0.02, z: 0.02}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 4262991460339087422}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: -90}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 4.87, y: -4.49}
m_SizeDelta: {x: 100, y: 200}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3256543193677266808
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4678763881195151736}
m_CullTransparentMesh: 1
--- !u!114 &6302743097269052025
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4678763881195151736}
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, g: 0.4770157, b: 0.5245282, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 3440e3a6381766d42b54080bc53dd1e4, type: 3}
m_Type: 0
m_PreserveAspect: 1
m_FillCenter: 1
@ -159,8 +647,6 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 1832627113965316414}
- component: {fileID: 5562126609278486700}
- component: {fileID: 7651104836929442861}
m_Layer: 0
m_Name: hintPrefab
m_TagString: Untagged
@ -182,7 +668,6 @@ RectTransform:
m_Children:
- {fileID: 1903577224413429842}
- {fileID: 4262991460339087422}
- {fileID: 4395713374876703776}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
@ -190,37 +675,6 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 2, y: 2}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!223 &5562126609278486700
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6125946244193443683}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 2
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 0
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!222 &7651104836929442861
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6125946244193443683}
m_CullTransparentMesh: 1
--- !u!1 &7772441910727492479
GameObject:
m_ObjectHideFlags: 0
@ -232,6 +686,10 @@ GameObject:
- component: {fileID: 1903577224413429842}
- component: {fileID: 7414797150451949473}
- component: {fileID: 6199539563002451873}
- component: {fileID: 3657687333222395880}
- component: {fileID: 2031441015889627983}
- component: {fileID: 7439037780702643206}
- component: {fileID: 1056955508002264235}
m_Layer: 0
m_Name: Bubble
m_TagString: Untagged
@ -255,8 +713,8 @@ RectTransform:
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: 2, y: 2}
m_AnchoredPosition: {x: 0, y: 3}
m_SizeDelta: {x: 4, y: 4}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7414797150451949473
CanvasRenderer:
@ -296,3 +754,228 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &3657687333222395880
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7772441910727492479}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 0
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: 6199539563002451873}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!95 &2031441015889627983
Animator:
serializedVersion: 5
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7772441910727492479}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 0}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0
--- !u!114 &7439037780702643206
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7772441910727492479}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0ad50f81b1d25c441943c37a89ba23f6, type: 3}
m_Name:
m_EditorClassIdentifier:
_Animator: {fileID: 2031441015889627983}
_ActionOnDisable: 0
--- !u!225 &1056955508002264235
CanvasGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7772441910727492479}
m_Enabled: 1
m_Alpha: 1
m_Interactable: 1
m_BlocksRaycasts: 1
m_IgnoreParentGroups: 0
--- !u!1 &8107878609976621838
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2484582255498027131}
- component: {fileID: 1523440975401368671}
- component: {fileID: 2666383810981328913}
m_Layer: 0
m_Name: CloseHint
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2484582255498027131
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8107878609976621838}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4262991460339087422}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 10.548, y: -4.47}
m_SizeDelta: {x: 4.5176, y: 0.7013998}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1523440975401368671
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8107878609976621838}
m_CullTransparentMesh: 1
--- !u!114 &2666383810981328913
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8107878609976621838}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u53EF\u5728\u8BBE\u7F6E\u5173\u95ED\u63D0\u793A"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f74d73acde897024090a352531df919f, type: 2}
m_sharedMaterial: {fileID: -5194638153132371293, guid: f74d73acde897024090a352531df919f, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 3758096383
m_fontColor: {r: 1, g: 1, b: 1, a: 0.8745098}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 0.5
m_fontSizeBase: 0.5
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0.002746582, z: -0.018127441, w: -0.016540527}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}

View File

@ -970,172 +970,6 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &2879750919899519655
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6786526177238105046}
- component: {fileID: 1566533630855589947}
- component: {fileID: 4139201270027488620}
- component: {fileID: 1659162381818836438}
- component: {fileID: 5244542702361952770}
m_Layer: 0
m_Name: HintIcon
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6786526177238105046
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2879750919899519655}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 3.61, z: 0.05}
m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 1494252107283779432}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &1566533630855589947
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2879750919899519655}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: -1440529387
m_SortingLayer: 6
m_SortingOrder: 2
m_Sprite: {fileID: 21300000, guid: 41f7bcbc941203f4c888d64dc7d30578, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 10.19, y: 10.77}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!114 &4139201270027488620
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2879750919899519655}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0ad50f81b1d25c441943c37a89ba23f6, type: 3}
m_Name:
m_EditorClassIdentifier:
_Animator: {fileID: 1659162381818836438}
_ActionOnDisable: 0
--- !u!95 &1659162381818836438
Animator:
serializedVersion: 5
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2879750919899519655}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 0}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0
--- !u!114 &5244542702361952770
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2879750919899519655}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 0
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: 0}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &3235984118526805420
GameObject:
m_ObjectHideFlags: 0
@ -3181,8 +3015,6 @@ Transform:
- {fileID: 2882006479987597949}
- {fileID: 2733067475856537485}
- {fileID: 5726358984275932298}
- {fileID: 6786526177238105046}
- {fileID: 2128712786856385890}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &8685428117340322119
@ -3306,177 +3138,6 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &8894465177543778328
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2128712786856385890}
- component: {fileID: 5899789624987565475}
- component: {fileID: 468853523217591668}
m_Layer: 0
m_Name: HintPanel
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &2128712786856385890
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8894465177543778328}
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_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 1494252107283779432}
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.36, y: 7.68}
m_SizeDelta: {x: 18.67, y: 3.842}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!23 &5899789624987565475
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8894465177543778328}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: -8836383360333263746, guid: ca3ea612c29dc5f49a32dffc195e45fe, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!114 &468853523217591668
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8894465177543778328}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u63D0\u793A\u5C1A\u5728\u5F00\u53D1\u4E2D"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: ca3ea612c29dc5f49a32dffc195e45fe, type: 2}
m_sharedMaterial: {fileID: -8836383360333263746, guid: ca3ea612c29dc5f49a32dffc195e45fe, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 25
m_fontSizeBase: 25
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 256
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 0
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
_SortingLayer: 0
_SortingLayerID: 0
_SortingOrder: 0
m_hasFontAssetChanged: 0
m_renderer: {fileID: 5899789624987565475}
m_maskType: 0
--- !u!1 &9008350783304891746
GameObject:
m_ObjectHideFlags: 0

View File

@ -13496,16 +13496,16 @@ RectTransform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 104079601}
m_LocalRotation: {x: 0, y: 0, z: -0.7071068, w: 0.7071068}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
m_LocalScale: {x: 0.7, y: 0.7, z: 0.7}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 1241337891}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: -90}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 100, y: -80}
m_AnchoredPosition: {x: 100, y: -99}
m_SizeDelta: {x: 137, y: 137}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &104079603
@ -13572,7 +13572,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: -8258524071277304498, guid: 877125650d6401a4caac37535ef383c9, type: 3}
m_Sprite: {fileID: 21300000, guid: 97c72485568b83642bf8554406688eb0, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@ -53347,6 +53347,8 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 378948815}
- component: {fileID: 378948816}
- component: {fileID: 378948817}
m_Layer: 0
m_Name: HintMap
m_TagString: Untagged
@ -53354,14 +53356,13 @@ GameObject:
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &378948815
Transform:
--- !u!224 &378948815
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 378948814}
serializedVersion: 2
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}
@ -53369,6 +53370,51 @@ Transform:
m_Children: []
m_Father: {fileID: 1057660731}
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.1504, y: 48.5843}
m_SizeDelta: {x: 278.9949, y: 197.1687}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!223 &378948816
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 378948814}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 2
m_Camera: {fileID: 519420031}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 25
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 1656804395
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!114 &378948817
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 378948814}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 0
--- !u!1 &379026418
GameObject:
m_ObjectHideFlags: 0
@ -97518,8 +97564,8 @@ MonoBehaviour:
AIMoreMoney: 0
LandThreshold: 0.3
AnimationSpeed: 1
DebugMode: 1
DebugHideCenterMessage: 1
DebugMode: 0
DebugHideCenterMessage: 0
cityCount: 30
unitCount: 0
turn: 0
@ -218614,7 +218660,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: -781, y: 691}
m_AnchoredPosition: {x: -571, y: 615}
m_SizeDelta: {x: 107, y: 107}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1577418586

View File

@ -1,55 +0,0 @@
// HintData.cs
using System;
using System.Collections.Generic;
using UnityEngine;
namespace RuntimeData
{
//TODO HintData序列化相关
[Serializable]
public class HintData
{
public uint Id;
public uint GridId;
public string Message;
public HintData(uint id, uint gridId, string message)
{
Id = id;
GridId = gridId;
Message = message;
}
}
[Serializable]
public class HintMapData
{
public List<HintData> HintList = new();
private Dictionary<uint, HintData> _idToHintDict = new();
public void AddHint(HintData data)
{
if (_idToHintDict.ContainsKey(data.Id)) return;
HintList.Add(data);
_idToHintDict[data.Id] = data;
}
public void RemoveHint(uint id)
{
if (!_idToHintDict.TryGetValue(id, out var data)) return;
HintList.Remove(data);
_idToHintDict.Remove(id);
}
public void ClearAll()
{
HintList.Clear();
_idToHintDict.Clear();
}
public bool GetHint(uint id, out HintData data) => _idToHintDict.TryGetValue(id, out data);
public List<HintData> GetAllHints() => HintList;
}
}

View File

@ -0,0 +1,54 @@
using System;
using System.Collections.Generic;
using UnityEngine;
using RuntimeData;
using Logic.Multilingual;
public enum HintType
{
None,
CommonRecover,
CommonCapture,
CommonExamine,
CommonTrainUnit,
CommonCrop,
CommonFish,
CommonAnimal,
CommonMetal,
CommonFruit
};
[Serializable]
[CreateAssetMenu(fileName = "HintDataAssets", menuName = "TH1 Game Data/Hint Data Asset")]
public class HintDataAssets : ScriptableObject
{
public List<HintInfo> HintDataList = new List<HintInfo>();
[NonSerialized]
private bool _initialized = false;
public bool GetHintInfo(HintType HintType,out HintInfo info)
{
info = null;
foreach (var t in HintDataList)
{
if (t.HintType == HintType)
{
info = t;
return true;
}
}
return false;
}
}
[Serializable]
public class HintInfo
{
public HintType HintType;
[MultilingualField]
public string HintName;
[MultilingualField]
public string HintContent;
}

View File

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

View File

@ -115,6 +115,7 @@ public class Table
public PlayerDataAssets PlayerDataAssets;
public CivDataAssets CivDataAssets;
public SkillDataAssets SkillDataAssets;
public HintDataAssets HintDataAssets;
//TH1Resource路径相关
@ -164,6 +165,7 @@ public class Table
PlayerDataAssets = Resources.Load<PlayerDataAssets>("Export/PlayerDataAssets");
CivDataAssets = Resources.Load<CivDataAssets>("Export/CivDataAssets");
SkillDataAssets = Resources.Load<SkillDataAssets>("Export/SkillDataAssets");
HintDataAssets = Resources.Load<HintDataAssets>("Export/HintDataAssets");
}
public Vector2Int WorldToGrid(Vector3 worldPos,string mark = "")

View File

@ -39,7 +39,8 @@ namespace Logic
Transform currentTransform = clickedUI.transform;
while (currentTransform != null)
{
if (currentTransform.name == "UICanvas")
Debug.Log(currentTransform.name);
if (currentTransform.name == "UICanvas" || currentTransform.name == "HintMap" )
{
return true;
}
@ -89,6 +90,7 @@ namespace Logic
public void Update()
{
//如果锁了input 但是DebugMode不会锁定input
if (inputLock &&!DebugCenter.Instance.DebugMode) return;
@ -149,14 +151,8 @@ namespace Logic
}
if (Input.GetKeyDown(KeyCode.S))
{
//强行让交互系统失焦。不然如果你点了一个ui焦点会在ui上键盘输入会失效
//EventSystem.current.SetSelectedGameObject(null);
//_main.UIManager.BottomBarUI.NextTurnButton.GetComponent<BottomBarButtonUIAnimator>().FakeClickEffect();
{
SimulateButtonClick(_main.UIManager.BottomBarUI.NextTurnButton);
//_main.GameLogic.ChangeState(GameState.AIRound);
//_main.UIManager.BottomInfoUI.SetBottomInfoHide();
//_main.MapInteractionLogic.CancelAllHighlight();
}
if (Input.GetKeyDown(KeyCode.BackQuote))

View File

@ -67,6 +67,8 @@ namespace Logic
Main.PlayerLogic.CalcAllPlayerScore(_main.MapData);
}
//同一个turn内切换到AI轮次
public void ChangeState(GameState newState)
{
if (_curState == newState) return;
@ -129,6 +131,8 @@ namespace Logic
_gameLogic.Main.MapData.CityMap.OnTurnStart(_gameLogic.Main.MapData, _curPlayer);
_gameLogic.Main.MapData.UnitMap.OnTurnStart(_gameLogic.Main.MapData, _curPlayer);
_gameLogic.Main.MapData.GridMap.OnTurnStart(_gameLogic.Main.MapData);
_gameLogic.Main.UIManager.EndTurn();
_gameLogic.Main.UIManager.AIPlayingHint.SetActive(false);
@ -141,10 +145,16 @@ namespace Logic
MapData.SaveMapData(_gameLogic.Main.MapData);
}
//玩家结束时出发的End
public override void End()
{
_gameLogic.Main.InputLogic.LockInput();
// TODO endturn逻辑要重新梳理
Main.PlayerLogic.EndThisTurn(_gameLogic.Main.MapData, _gameLogic.Main.MapData.PlayerMap.SelfPlayerData);
//处理当前每一个unit的回合结束前自动行为。每一个选手回合结束自动回血是在这个阶段出发的
foreach (var unitData in _gameLogic.Main.MapData.UnitMap.UnitList)
if(_gameLogic.Main.MapData.GetPlayerDataByUnitId(unitData.Id,out var player)

View File

@ -668,8 +668,10 @@ namespace Logic
public void UpdatePlayerStarsPerTurn(MapData mapData, int pid) { }
//playerData点击了EndTurn
public void PlayerEndTurn(MapData mapData, PlayerData playerData)
public void EndThisTurn(MapData mapData, PlayerData playerData)
{
if(playerData.Id == mapData.PlayerMap.SelfPlayerId)
MapRenderer.Instance.HintManager.TurnEndSetHint(mapData,playerData);
//playerData.TurnNoAttack++;
//PlayerEndTurnLegacy(playerData);
}
@ -683,83 +685,15 @@ namespace Logic
return ret;
}
public void DoPlayerHint(MapData mapData, PlayerData playerData)
{
if (playerData.Id == mapData.PlayerMap.SelfPlayerData.Id)
{
foreach(var grid in mapData.GridMap.GridList)
MapRenderer.Instance.ROGridMap[grid.Id].HideHintIcon();
if (playerData.Turn == 0)
{
mapData.GetCapitalCityDataByPlayerId(playerData.Id, out var capital);
mapData.GetGridDataByCityId(capital.Id, out var grid);
Timer.Instance.TimerRegister(MapRenderer.Instance.ROGridMap[grid.Id], () =>
{
MapRenderer.Instance.ROGridMap[grid.Id].ShowHintIcon();
},10f);
}
if (playerData.Turn > 0)
{
UnitData weak = null;
foreach(var unit in mapData.UnitMap.UnitList)
if (mapData.GetPlayerDataByUnitId(unit.Id, out var player)
&& player.Id == mapData.PlayerMap.SelfPlayerId
&& (weak == null || unit.Health < weak.Health) && unit.Alive)
weak = unit;
if (weak != null)
{
mapData.GetGridDataByUnitId(weak.Id, out var grid);
if(Random.Range(0,100)<40)
Timer.Instance.TimerRegister(MapRenderer.Instance.ROGridMap[grid.Id], () =>
{
MapRenderer.Instance.ROGridMap[grid.Id].ShowHintIcon();
},5f);
}
GridData good = null;
foreach (var city in mapData.CityMap.CityList)
if(mapData.GetPlayerDataByCityId(city.Id,out var player) && player.Id == mapData.PlayerMap.SelfPlayerId)
{
if (city.Territory == null || city.Territory.TerritoryAreaList == null)
break;
foreach(var terId in city.Territory.TerritoryAreaList)
if (mapData.GridMap.GetGridDataByGid(terId, out var grid) &&
(grid.Resource == ResourceType.Metal || grid.Resource == ResourceType.Farm)
&& Random.Range(0,100)<40)
good = grid;
foreach(var terId in city.Territory.TerritoryAreaList)
if (mapData.GridMap.GetGridDataByGid(terId, out var grid) &&
(grid.Resource == ResourceType.Animal || grid.Resource == ResourceType.Fish || grid.Resource == ResourceType.Fruit )
&& Random.Range(0,100)<40)
good = grid;
if(good != null)
Timer.Instance.TimerRegister(MapRenderer.Instance.ROGridMap[good.Id], () =>
{
MapRenderer.Instance.ROGridMap[good.Id].ShowHintIcon();
},3f);
if(mapData.GetGridDataByCityId(city.Id,out var gridcity )
&& !mapData.GetUnitDataByGid(gridcity.Id,out var _)
&& Random.Range(0,100)<50)
Timer.Instance.TimerRegister(MapRenderer.Instance.ROGridMap[gridcity.Id], () =>
{
MapRenderer.Instance.ROGridMap[gridcity.Id].ShowHintIcon();
},8f);
}
}
}
}
//进入回合结算 #ono #nextturn #start #startturn
public void StartNextTurn(MapData mapData, PlayerData playerData)
{
//处理游戏Hint的模块,仅针对玩家
DoPlayerHint(mapData,playerData);
if(playerData.Id == mapData.PlayerMap.SelfPlayerId)
MapRenderer.Instance.HintManager.TurnStartSetHint(mapData,playerData);
//加钱的模块
//如果是0回合不用放动画 不用加钱 ,直接return

View File

@ -52,8 +52,6 @@ namespace TH1Renderer
_selectHighlight,
_moveHighlight,
_effect,
_hintIcon,
_hintPanel,
_RODebugText;
private TextMeshPro _debugText;
@ -68,10 +66,7 @@ namespace TH1Renderer
float bounceUpFullTime = 0.2f;
//------- Hint相关参数
public AnimationClip HintIconIdleAnim;
public AnimationClip HintIconShowAnim;
public AnimationClip HintIconHideAnim;
//------- VFX相关参数 --------//
public AnimationClip FogEffectAnim;
@ -369,10 +364,7 @@ namespace TH1Renderer
_selectHighlight = _ROGrid.transform.Find("SelectHighlight").gameObject;
_moveHighlight = _ROGrid.transform.Find("MoveHighlight").gameObject;
_effect = _ROGrid.transform.Find("Effect").gameObject;
_hintIcon = _ROGrid.transform.Find("HintIcon").gameObject;
_hintIcon.GetComponent<Button>().onClick.AddListener(ShowHintPanel);
_hintPanel = _ROGrid.transform.Find("HintPanel").gameObject;
_RODebugText = _ROGrid.transform.Find("DebugText").gameObject;
_debugText = _RODebugText.GetComponent<TextMeshPro>();
@ -391,11 +383,6 @@ namespace TH1Renderer
RenderUpdateDebug();
//UpdateBorder();fog自带updateborder
//初始化hint相关的动画
HintIconIdleAnim = Resources.Load<AnimationClip>("Animations/VFX/PlayHint");
HintIconShowAnim = Resources.Load<AnimationClip>("Animations/VFX/PlayHintShow");
HintIconHideAnim = Resources.Load<AnimationClip>("Animations/VFX/PlayHintHide");
//初始化VFXManagerDict
FogEffectAnim = Resources.Load<AnimationClip>("Animations/VFX/PlayFog");
HurtVFXAnim = Resources.Load<AnimationClip>("Animations/VFX/PlayAttack");
@ -563,7 +550,7 @@ namespace TH1Renderer
{
GameObject road = new GameObject($"Road{dirForHuman}");
SpriteRenderer sr = road.AddComponent<SpriteRenderer>();
MapRenderer.Instance.SpriteCache.Roads.TryGetValue((_gridData.Terrain == TerrainType.Land ? "Road" : "WaterRoad") + dirForComputer,out var tmpSprite);
MapRenderer.Instance.ResourceCache.SpriteCache.Roads.TryGetValue((_gridData.Terrain == TerrainType.Land ? "Road" : "WaterRoad") + dirForComputer,out var tmpSprite);
sr.sprite = tmpSprite;
road.transform.parent = _road.transform;
road.transform.localPosition = new Vector3(0, 0, 0);
@ -793,38 +780,6 @@ namespace TH1Renderer
else
UpdateBorder();
}
public void ShowHintIcon()
{
_hintIcon.SetActive(true);
var animancer = _hintIcon.GetComponent<AnimancerComponent>();
animancer.Play(HintIconShowAnim);
animancer.Play(HintIconIdleAnim);
}
public void ShowHintPanel()
{
HideHintIcon();
_hintPanel.SetActive(true);
Timer.Instance.TimerRegister(_hintPanel, () =>
{
_hintPanel.SetActive(false);
},1f);
}
public void HideHintIcon()
{
var animancer = _hintIcon.GetComponent<AnimancerComponent>();
animancer.Play(HintIconHideAnim);
Timer.Instance.TimerRegister(_hintIcon, () =>
{
_hintIcon.SetActive(false);
},HintIconHideAnim.length);
}
public void SetBounceAnim(bool NeedRandomWait=false)

View File

@ -0,0 +1,243 @@
// HintData.cs
using System;
using System.Collections.Generic;
using UnityEngine;
using Logic;
using RuntimeData;
using Random = UnityEngine.Random;
namespace TH1Renderer
{
//TODO 做HintData序列化相关的工作
[Serializable]
public class HintData
{
public uint Id;
public uint GridId;
public HintType HintType;
public HintData(uint id, uint gridId, HintType hintType)
{
Id = id;
GridId = gridId;
HintType = hintType;
}
}
[Serializable]
public class HintManager
{
private Main _main;
private MapData _map;
public HashSet<HintData> HintSet = new();
private Dictionary<uint, HintData> _idToHintDict = new();
private uint _hintDataIdCounter;
private GameObject _prefabROHint;
private Dictionary<uint,HintRenderer> _ROHintRendererDict = new();
public void Init(Main main,MapData map)
{
_map = map;
_main = main;
_hintDataIdCounter = 0;
_prefabROHint = Resources.Load<GameObject>("Prefab/hintPrefab");
}
public uint HintDataIdGenerator()
{
return _hintDataIdCounter++;
}
//每帧调用所有hintRenderer的update并且将已经结束的Renderer回收
public void Update()
{
List<uint> finishedList = new();
foreach (var pair in _ROHintRendererDict)
if (pair.Value.Finished)
finishedList.Add(pair.Key);
else
pair.Value.Update();
foreach (var kill in finishedList)
RemoveHint(_idToHintDict[kill]);
}
public void AddHint(HintData data)
{
if (_idToHintDict.ContainsKey(data.Id)) return;
HintSet.Add(data);
_idToHintDict[data.Id] = data;
_ROHintRendererDict[data.Id] = new HintRenderer(_main,_map,_prefabROHint,MapRenderer.Instance.HintRenderMap,data);
_ROHintRendererDict[data.Id].StartBubble();
}
public void RemoveHint(HintData data)
{
if (!_idToHintDict.TryGetValue(data.Id, out var _)) return;
if (!_ROHintRendererDict.TryGetValue(data.Id, out var renderer)) return;
Debug.Log("Destroy!!");
GameObject.Destroy(renderer.ROHint);
HintSet.Remove(data);
_idToHintDict.Remove(data.Id);
_ROHintRendererDict.Remove(data.Id);
}
public void SetAllFinished()
{
foreach (var hint in HintSet)
{
//设置了hideTextPanel后会在动画播完时设置finished然后会被本对象的update检测并删除
_ROHintRendererDict[hint.Id].HideTextPanel();
}
}
public void ClearAll()
{
foreach (var pair in _ROHintRendererDict)
pair.Value.SetFinished();
}
//处理 村庄/城市/遗迹的提示将这些情况全部加入hintList
public void SetHintCommonCaptureExamineTrainUnit(MapData map,PlayerData player,List<HintData> hintDataList)
{
var sight = player.Sight.SightGidSet;
foreach (var gid in sight)
{
if (!map.GridMap.GetGridDataByGid(gid, out var grid)) continue;
//如果是城市/村庄
if (grid.Resource == ResourceType.CityCenter)
{
map.GetPlayerDataByTerritoryGridId(gid, out var gridPlayer);
map.GetUnitDataByGid(gid, out var unit);
//如果是无主村庄,那么就上
if (gridPlayer == null)
{
var hint = new HintData(HintDataIdGenerator(),gid,HintType.CommonCapture);
hintDataList.Add(hint);
}
//否则是城市如果是我方城市那么必须是上面没人且可以造兵过一遍checkcan
else if (gridPlayer.Id == player.Id)
{
if (unit == null)
{
var hint = new HintData(HintDataIdGenerator(),gid,HintType.CommonTrainUnit);
hintDataList.Add(hint);
}
}
//否则是敌方城市,那么必须是敌方城市且有我方单位站在上面,才报提示
else
{
if (unit!= null && map.GetPlayerDataByUnitId(unit.Id,out var unitPlayer) && unitPlayer.Id == player.Id)
{
var hint = new HintData(HintDataIdGenerator(),gid,HintType.CommonCapture);
hintDataList.Add(hint);
}
}
}
//如果是遗迹
else if (grid.Resource == ResourceType.Treasure)
{
var hint = new HintData(HintDataIdGenerator(),gid,HintType.CommonExamine);
hintDataList.Add(hint);
}
}
}
//处理 城市领土存在fruit / fish / animal / farm / mine将这些情况全部加入hintList
public void SetHintCommonBuild(MapData map,PlayerData player,List<HintData> hintDataList)
{
foreach (var city in map.CityMap.CityList)
if (map.GetPlayerIdByCityId(city.Id, out var cityPlayerId) && cityPlayerId == player.Id)
{
var gidSet = new HashSet<uint>();
city.Territory.GetAllTerritoryArea(gidSet);
foreach (var gid in gidSet)
{
if (!map.GridMap.GetGridDataByGid(gid, out var grid)) continue;
HintType hintType = HintType.None;
if (grid.Resource == ResourceType.Fruit) hintType = HintType.CommonFruit;
if (grid.Resource == ResourceType.Animal) hintType = HintType.CommonAnimal;
if (grid.Resource == ResourceType.Fish) hintType = HintType.CommonFish;
if (grid.Resource == ResourceType.Metal) hintType = HintType.CommonMetal;
if (grid.Resource == ResourceType.Crop) hintType = HintType.CommonCrop;
if (hintType != HintType.None)
{
var hint = new HintData(HintDataIdGenerator(),gid,hintType);
hintDataList.Add(hint);
}
}
}
}
// 处理 我方unit血量 <= 40% 的提示情况全部加入hintDataList
public void SetHintCommonRecover(MapData map,PlayerData player,List<HintData> hintDataList)
{
foreach (var unit in map.UnitMap.UnitList)
if (unit.Health <= unit.GetMaxHealth() * 0.5 && map.CheckUnitIdBelongPlayerId(unit.Id, player.Id))
{
if (!map.GetGridIdByUnitId(unit.Id, out var gid)) continue;
var hint = new HintData(HintDataIdGenerator(),gid,HintType.CommonRecover);
hintDataList.Add(hint);
}
}
public void TurnEndSetHint(MapData mapData, PlayerData playerData)
{
//先清理上个回合的Hint
ClearAll();
}
public void TurnStartSetHint(MapData mapData, PlayerData playerData)
{
//目前方案就是先扫出所有的提示选项,然后随机两个进行播放
/*4
1. unit在遗迹/
2. ;
3. unit血量 <= 40%
4. fruit / fish / animal / farm / mine
5. 5
*/
var HintDataList = new List<HintData>();
SetHintCommonBuild(mapData,playerData,HintDataList);
SetHintCommonCaptureExamineTrainUnit(mapData,playerData,HintDataList);
SetHintCommonRecover(mapData,playerData,HintDataList);
int choose = 2;
if (Random.Range(0, 100) < 70)
{
choose = 1;
if(Random.Range(0, 70) < 20)
choose = 0;
}
if (HintDataList.Count < choose) choose = HintDataList.Count;
while (choose > 0)
{
choose--;
var choosen = Random.Range(0, HintDataList.Count);
AddHint(HintDataList[choosen]);
}
}
public void UpdateAfterPlayerAction()
{
}
//public bool GetHint(uint id, out HintData data) => _idToHintDict.TryGetValue(id, out data);
public HashSet<HintData> GetAllHints() => HintSet;
}
}

View File

@ -0,0 +1,198 @@
using Logic;
using RuntimeData;
using UnityEngine;
using Animancer;
using Logic.Multilingual;
using TMPro;
namespace TH1Renderer
{
/// <summary>
/// 负责一个 HintPrefab 的生命周期控制(展示提示气泡、点击展开文字、关闭提示)
/// </summary>
public class HintRenderer
{
private MapData _map;
private Main _main;
private HintData _hintData;
private uint _gridId;
private GridData _gridData;
public GameObject ROHint; // 实例化的 Hint GameObject
public bool Finished; // 是否完成显示并关闭
private GameObject _bubble; // 点击用的气泡按钮
private GameObject _title;
private GameObject _text; // 显示文字的文本对象
private GameObject _closeButton; // 关闭按钮
private GameObject _textPanel; // 包含文字和关闭按钮的面板
/// <summary>
/// 构造函数:初始化渲染器、创建实体、绑定数据
/// </summary>
public HintRenderer(Main main, MapData mapData, GameObject prefab, Transform father, HintData hintData)
{
Finished = false;
_map = mapData;
_main = main;
_gridId = hintData.GridId;
_hintData = hintData;
mapData.GridMap.GetGridDataByGid(_gridId, out _gridData);
Vector3 tpos = Table.Instance.GridToWorld(_gridData);
//ROHint = GameObject.Instantiate(prefab, tpos, Quaternion.identity, father);
ROHint = GameObject.Instantiate(prefab, father);
ROHint.transform.position = tpos;
ROHint.transform.localRotation = Quaternion.identity;
ROHint.transform.localScale = Vector3.one;
Init();
SetInfo();
}
public void SetInfo()
{
if (!Table.Instance.HintDataAssets.GetHintInfo(_hintData.HintType, out var hintInfo)) return;
MultilingualManager.Instance.SetUIText(_title.GetComponent<TextMeshProUGUI>(),hintInfo.HintName);
MultilingualManager.Instance.SetUIText(_text.GetComponent<TextMeshProUGUI>(),hintInfo.HintContent);
}
public void Update()
{
// 预留给未来的浮动动画、生命周期等逻辑
}
/// <summary>
/// 设置该提示为“已关闭”状态
/// </summary>
public void SetFinished(float waitTime = 0.25f)
{
//如果已经点开了
if (_textPanel.activeSelf)
{
var animancer = _textPanel.GetComponent<AnimancerComponent>();
if (animancer != null)
{
animancer.Play(MapRenderer.Instance.ResourceCache.AnimCache.HintBubbleHide);
Timer.Instance.TimerRegister(this, () => { Finished = true; }, waitTime);
}
else
Finished = true;
}
//如果还没有点开
else if (_bubble.activeSelf)
{
var animancer = _bubble.GetComponent<AnimancerComponent>();
if (animancer != null)
{
animancer.Play(MapRenderer.Instance.ResourceCache.AnimCache.HintBubbleHide);
Timer.Instance.TimerRegister(this, () => { Finished = true; }, waitTime);
}
else
Finished = true;
}
}
/// <summary>
/// 初始化 UI 元素,绑定点击事件和动画控制
/// </summary>
public void Init()
{
// 查找子节点
_bubble = ROHint.transform.Find("Bubble")?.gameObject;
_text = ROHint.transform.Find("TextPanel/Text")?.gameObject;
_title = ROHint.transform.Find("TextPanel/Title")?.gameObject;
_closeButton = ROHint.transform.Find("TextPanel/CloseButton")?.gameObject;
_textPanel = ROHint.transform.Find("TextPanel")?.gameObject;
// 默认全部隐藏
if (_bubble != null) _bubble.SetActive(false);
if (_textPanel != null) _textPanel.SetActive(false);
// 初始化气泡
if (_bubble != null)
{
// 绑定点击事件:点击气泡后显示文字面板
var btn = _bubble.GetComponent<UnityEngine.UI.Button>();
if (btn != null)
btn.onClick.AddListener(ShowTextPanel);
}
// 初始化关闭按钮
if (_closeButton != null)
{
var btn = _closeButton.GetComponent<UnityEngine.UI.Button>();
if (btn != null)
{
btn.onClick.AddListener(HideTextPanel);
}
}
}
/// <summary>
/// 外部主动触发:显示气泡并播放动画
/// </summary>
public void StartBubble()
{
if (_bubble != null)
{
_bubble.SetActive(true);
var animancer = _bubble.GetComponent<AnimancerComponent>();
if (animancer != null)
{
animancer.Play(MapRenderer.Instance.ResourceCache.AnimCache.HintBubbleShow);
Timer.Instance.TimerRegister(this, () =>
{
animancer.Play(MapRenderer.Instance.ResourceCache.AnimCache.HintBubbleIdle);
},0.25f);
}
}
}
public void ShowTextPanel()
{
HideBubble();
_textPanel.SetActive(true);
var animancer = _textPanel.GetComponent<AnimancerComponent>();
if (animancer != null)
{
animancer.Play(MapRenderer.Instance.ResourceCache.AnimCache.HintBubbleShow);
}
}
public void HideBubble()
{
var animancer = _bubble.GetComponent<AnimancerComponent>();
animancer.Play(MapRenderer.Instance.ResourceCache.AnimCache.HintBubbleHide);
var timeToWait = 0f;
if (MapRenderer.Instance.ResourceCache.AnimCache.HintBubbleHide != null)
timeToWait = MapRenderer.Instance.ResourceCache.AnimCache.HintBubbleHide.length;
Timer.Instance.TimerRegister(this, () =>
{
_bubble.SetActive(false);
},timeToWait);
}
public void HideTextPanel()
{
var timeToWait = 0f;
if (MapRenderer.Instance.ResourceCache.AnimCache.HintBubbleHide != null)
timeToWait = MapRenderer.Instance.ResourceCache.AnimCache.HintBubbleHide.length;
SetFinished(timeToWait);
}
}
}

View File

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

View File

@ -6,6 +6,8 @@ using UnityEngine.SceneManagement;
using RuntimeData;
using Logic;
using Logic.Event;
using TH1Resource;
using UnityEngine.UI;
namespace TH1Renderer
{
@ -16,20 +18,27 @@ namespace TH1Renderer
private MapData _mapData;
private Transform _unitRenderMap;
private Transform _gridRenderMap;
public Transform HintRenderMap;
//SpriteCache
public SpriteCache SpriteCache;
//ResourceCache
public ResourceCache ResourceCache;
//HintManager
public HintManager HintManager;
Transform _cityInfoRenderMap;
public CameraController CameraController;
public EffectManager EffectManager; //特效管理器,管理目前所有特效
public ProjectileManager ProjectileManager;
private Transform _projectileRenderMap;
//存储map对应的主要GameObject
public GameObject ROMap;
GameObject _unitPrefab; //承载单位图像的prefab
GameObject _gridPrefab; //承载grid的prefab
GameObject _cityInfoPrefab; //承载城市图形信息、人口条的prefab
private GameObject _unitPrefab; //承载单位图像的prefab
private GameObject _gridPrefab; //承载grid的prefab
private GameObject _cityInfoPrefab; //承载城市图形信息、人口条的prefab
public Dictionary<uint, GridRenderer> ROGridMap;
public Dictionary<uint, CityInfoRenderer> ROCityInfoMap;
@ -108,7 +117,7 @@ namespace TH1Renderer
EventManager.Instance.EventEnter = new ViewEventEnter();
_main = main;
_mapData = mapData;
ROMap = main.ROMapRenderer;
//初始化Data->Renderer的dict
ROGridMap = new Dictionary<uint, GridRenderer>();
ROCityInfoMap = new Dictionary<uint, CityInfoRenderer>();
@ -118,11 +127,15 @@ namespace TH1Renderer
InitGridCityUnitObject();
//初始化SpriteCache加载所有sprite
SpriteCache = new SpriteCache();
SpriteCache.Init();
ResourceCache = new ResourceCache();
ResourceCache.Init();
//初始化相机模块
InitCameraObject();
//初始化HintManager
HintManager = new HintManager();
HintManager.Init(main, mapData);
}
private void ClearAllChildren(Transform parent)
@ -139,12 +152,13 @@ namespace TH1Renderer
//重新建立新的关联
var gridObject = _main.ROMapRenderer;
if (gridObject == null) return false;
if (ROMap == null) return false;
_unitRenderMap = gridObject.transform.Find("UnitMap");
_gridRenderMap = gridObject.transform.Find("GridMap");
_cityInfoRenderMap = gridObject.transform.Find("CityInfoMap")?.GetComponent<Transform>();
_unitRenderMap = ROMap.transform.Find("UnitMap");
_gridRenderMap = ROMap.transform.Find("GridMap");
HintRenderMap = ROMap.transform.Find("HintMap");
_cityInfoRenderMap = ROMap.transform.Find("CityInfoMap")?.GetComponent<Transform>();
//清理战场把上一局Grid里面留下的东西清理干净
ClearAllChildren(_unitRenderMap);
@ -157,7 +171,7 @@ namespace TH1Renderer
_cityInfoPrefab = Resources.Load<GameObject>($"Prefab/cityInfoMapPrefab");
//建立子模块的manager目前仅有projectile
ProjectileManager = new ProjectileManager();
ProjectileManager.Init(gridObject);
ProjectileManager.Init(ROMap);
return true;
}
@ -179,6 +193,9 @@ namespace TH1Renderer
//如果有centerMessage ,停掉一切动画
//if (_main.UIManager.CenterMessageUI.isShowingNow)return;
//HintManager
HintManager.Update();
// 处理临时探索者的浮动动画

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d53e78f9db8178f4e95fabc011a55e32
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,43 @@
using UnityEngine;
namespace TH1Resource
{
/// <summary>
/// 缓存所有 AnimationClip 的资源,避免多次 Resources.Load 调用。
/// 所有动画通过该类统一访问。
/// </summary>
public class AnimCache
{
private bool _initialized = false;
// 提示气泡动画
public AnimationClip HintBubbleIdle;
public AnimationClip HintBubbleShow;
public AnimationClip HintBubbleHide;
public AnimationClip HintTextShow;
public AnimationClip HintTextHide;
//------- Hint相关参数
// TODO: 根据需要添加更多动画资源,例如单位攻击、死亡、特效等
/// <summary>
/// 初始化方法,在第一次使用前调用
/// </summary>
public void Init()
{
if (_initialized) return;
// 加载动画资源
HintBubbleIdle = Resources.Load<AnimationClip>("Animations/VFX/PlayHint");
HintBubbleShow = Resources.Load<AnimationClip>("Animations/VFX/PlayHintShow");
HintBubbleHide = Resources.Load<AnimationClip>("Animations/VFX/PlayHintHide");
HintTextShow = HintBubbleShow;
HintTextHide = HintBubbleHide;
_initialized = true;
}
}
}

View File

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

View File

@ -0,0 +1,23 @@
namespace TH1Resource
{
public class ResourceCache
{
public SpriteCache SpriteCache;
public AnimCache AnimCache;
public ResourceCache()
{
SpriteCache = new SpriteCache();
AnimCache = new AnimCache();
}
public void Init()
{
SpriteCache.Init();
AnimCache.Init();
}
}
}

View File

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

View File

@ -6,7 +6,7 @@ using UnityEngine.SceneManagement;
using RuntimeData;
using Logic;
namespace TH1Renderer
namespace TH1Resource
{
public class SpriteCache

View File

@ -105,6 +105,8 @@ public class UIManager
{
TopBarUI.RenderMark = true;
AIPlayingHint.SetActive(true);
//TODO 这里endturn和startturn逻辑不对
}
}

View File

@ -59,3 +59,6 @@ TagManager:
- name: Effect
uniqueID: 2854437909
locked: 0
- name: Hint
uniqueID: 1656804395
locked: 0

Binary file not shown.

File diff suppressed because one or more lines are too long