怪物搞完

This commit is contained in:
2025-07-19 01:21:40 +08:00
parent 95aec74d37
commit a84a4e56b6
7 changed files with 100 additions and 452 deletions

View File

@@ -2,43 +2,16 @@
<config> <config>
<Settings mapID="1000" /> <Settings mapID="1000" />
<MonsterAreas> <MonsterAreas>
<MonsterArea itemIdx="46" groupId="-1" id="10004" createMode="0" patrolMode="0" indexX="131" indexY="188" radius="10" num="10" delayTime="10000" day="0" time="0"> <MonsterArea itemIdx="1" groupId="-1" id="1000" createMode="0" patrolMode="0" indexX="32" indexY="65" radius="10" num="10" delayTime="10000" day="0" time="0">
<MonsterPaths /> <MonsterPaths />
</MonsterArea> </MonsterArea>
<MonsterArea itemIdx="-1" groupId="46" id="10005" createMode="0" patrolMode="0" indexX="131" indexY="188" radius="10" num="16" delayTime="10000" day="0" time="0"> <MonsterArea itemIdx="-1" groupId="1" id="100" createMode="0" patrolMode="0" indexX="32" indexY="65" radius="10" num="5" delayTime="1000" day="0" time="0">
<MonsterPaths /> <MonsterPaths />
</MonsterArea> </MonsterArea>
<MonsterArea itemIdx="47" groupId="-1" id="10004" createMode="0" patrolMode="0" indexX="154" indexY="184" radius="10" num="10" delayTime="10000" day="0" time="0"> <MonsterArea itemIdx="2" groupId="-1" id="500" createMode="0" patrolMode="0" indexX="14" indexY="54" radius="10" num="10" delayTime="100" day="0" time="0">
<MonsterPaths /> <MonsterPaths />
</MonsterArea> </MonsterArea>
<MonsterArea itemIdx="-1" groupId="47" id="10005" createMode="0" patrolMode="0" indexX="154" indexY="184" radius="10" num="16" delayTime="10000" day="0" time="0"> <MonsterArea itemIdx="-1" groupId="2" id="200" createMode="0" patrolMode="0" indexX="14" indexY="54" radius="10" num="20" delayTime="50" day="0" time="0">
<MonsterPaths />
</MonsterArea>
<MonsterArea itemIdx="48" groupId="-1" id="10004" createMode="0" patrolMode="0" indexX="176" indexY="177" radius="10" num="10" delayTime="10000" day="0" time="0">
<MonsterPaths />
</MonsterArea>
<MonsterArea itemIdx="-1" groupId="48" id="10005" createMode="0" patrolMode="0" indexX="176" indexY="177" radius="10" num="16" delayTime="10000" day="0" time="0">
<MonsterPaths />
</MonsterArea>
<MonsterArea itemIdx="49" groupId="-1" id="10004" createMode="0" patrolMode="0" indexX="139" indexY="165" radius="10" num="10" delayTime="10000" day="0" time="0">
<MonsterPaths />
</MonsterArea>
<MonsterArea itemIdx="-1" groupId="49" id="10005" createMode="0" patrolMode="0" indexX="139" indexY="165" radius="10" num="16" delayTime="10000" day="0" time="0">
<MonsterPaths />
</MonsterArea>
<MonsterArea itemIdx="50" groupId="-1" id="10004" createMode="0" patrolMode="0" indexX="111" indexY="154" radius="10" num="10" delayTime="10000" day="0" time="0">
<MonsterPaths />
</MonsterArea>
<MonsterArea itemIdx="-1" groupId="50" id="10005" createMode="0" patrolMode="0" indexX="111" indexY="154" radius="10" num="16" delayTime="10000" day="0" time="0">
<MonsterPaths />
</MonsterArea>
<MonsterArea itemIdx="51" groupId="-1" id="20001" createMode="0" patrolMode="0" indexX="123" indexY="197" radius="1" num="1" delayTime="10000" day="0" time="0">
<MonsterPaths />
</MonsterArea>
<MonsterArea itemIdx="64" groupId="-1" id="10173" createMode="0" patrolMode="0" indexX="65" indexY="71" radius="2" num="1" delayTime="60000" day="0" time="0">
<MonsterPaths />
</MonsterArea>
<MonsterArea itemIdx="65" groupId="-1" id="10173" createMode="0" patrolMode="0" indexX="136" indexY="119" radius="2" num="1" delayTime="60000" day="0" time="0">
<MonsterPaths /> <MonsterPaths />
</MonsterArea> </MonsterArea>
</MonsterAreas> </MonsterAreas>

View File

@@ -537,7 +537,6 @@ RectTransform:
- {fileID: 2034936621} - {fileID: 2034936621}
- {fileID: 222196070} - {fileID: 222196070}
- {fileID: 1806599535} - {fileID: 1806599535}
- {fileID: 1089439636}
m_Father: {fileID: 2054237627} m_Father: {fileID: 2054237627}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMin: {x: 0.5, y: 0.5}
@@ -5901,7 +5900,7 @@ MonoBehaviour:
m_FontStyle: 0 m_FontStyle: 0
m_BestFit: 0 m_BestFit: 0
m_MinSize: 3 m_MinSize: 3
m_MaxSize: 40 m_MaxSize: 50
m_Alignment: 4 m_Alignment: 4
m_AlignByGeometry: 0 m_AlignByGeometry: 0
m_RichText: 1 m_RichText: 1
@@ -7611,7 +7610,7 @@ MonoBehaviour:
m_HorizontalOverflow: 0 m_HorizontalOverflow: 0
m_VerticalOverflow: 0 m_VerticalOverflow: 0
m_LineSpacing: 1 m_LineSpacing: 1
m_Text: "\u683C\u5B50\u5217\u6570" m_Text: "\u683C\u5B50\u603B\u9AD8"
--- !u!222 &400502307 --- !u!222 &400502307
CanvasRenderer: CanvasRenderer:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -15413,85 +15412,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 795751229} m_GameObject: {fileID: 795751229}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &796622637
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 796622638}
- component: {fileID: 796622640}
- component: {fileID: 796622639}
m_Layer: 5
m_Name: Text (Legacy)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &796622638
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 796622637}
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: 1089439636}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &796622639
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 796622637}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 14
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 10
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\u5220\u9664\u5206\u9875"
--- !u!222 &796622640
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 796622637}
m_CullTransparentMesh: 1
--- !u!1 &799717141 --- !u!1 &799717141
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -16741,6 +16661,7 @@ MonoBehaviour:
mapNPCArea: {fileID: 687449962} mapNPCArea: {fileID: 687449962}
mapTeleportArea: {fileID: 1286502939} mapTeleportArea: {fileID: 1286502939}
mapReliveArea: {fileID: 655392906} mapReliveArea: {fileID: 655392906}
mapAudioTrigger: {fileID: 0}
_curMapRegions: _curMapRegions:
regionRowNum: 0 regionRowNum: 0
regionColNum: 0 regionColNum: 0
@@ -21521,127 +21442,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1086954508} m_GameObject: {fileID: 1086954508}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &1089439635
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1089439636}
- component: {fileID: 1089439639}
- component: {fileID: 1089439638}
- component: {fileID: 1089439637}
m_Layer: 5
m_Name: btnDeleteGroup
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1089439636
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1089439635}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0.000002810033}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 796622638}
m_Father: {fileID: 16935699}
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: 133, y: -81.60002}
m_SizeDelta: {x: 100, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1089439637
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1089439635}
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: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 1089439638}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!114 &1089439638
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1089439635}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1089439639
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1089439635}
m_CullTransparentMesh: 1
--- !u!1 &1097100022 --- !u!1 &1097100022
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -34390,7 +34190,7 @@ MonoBehaviour:
m_HorizontalOverflow: 0 m_HorizontalOverflow: 0
m_VerticalOverflow: 0 m_VerticalOverflow: 0
m_LineSpacing: 1 m_LineSpacing: 1
m_Text: "\u683C\u5B50\u884C\u6570" m_Text: "\u683C\u5B50\u603B\u5BBD"
--- !u!222 &1766076126 --- !u!222 &1766076126
CanvasRenderer: CanvasRenderer:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -36184,8 +35984,6 @@ GameObject:
- component: {fileID: 1863547971} - component: {fileID: 1863547971}
- component: {fileID: 1863547973} - component: {fileID: 1863547973}
- component: {fileID: 1863547974} - component: {fileID: 1863547974}
- component: {fileID: 1863547975}
- component: {fileID: 1863547976}
m_Layer: 5 m_Layer: 5
m_Name: Window m_Name: Window
m_TagString: Untagged m_TagString: Untagged
@@ -36252,46 +36050,6 @@ MonoBehaviour:
uiMessageBox: {fileID: 1608300717} uiMessageBox: {fileID: 1608300717}
newMapTrans: {fileID: 0} newMapTrans: {fileID: 0}
bOvering: 0 bOvering: 0
--- !u!223 &1863547975
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1863547970}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 2
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 1
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 25
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 1
m_TargetDisplay: 0
--- !u!114 &1863547976
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1863547970}
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: 4294967295
--- !u!1 &1864759409 --- !u!1 &1864759409
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -40147,8 +39905,6 @@ GameObject:
- component: {fileID: 2054237627} - component: {fileID: 2054237627}
- component: {fileID: 2054237630} - component: {fileID: 2054237630}
- component: {fileID: 2054237629} - component: {fileID: 2054237629}
- component: {fileID: 2054237628}
- component: {fileID: 2054237631}
- component: {fileID: 2054237632} - component: {fileID: 2054237632}
m_Layer: 5 m_Layer: 5
m_Name: MonstersPanel m_Name: MonstersPanel
@@ -40180,34 +39936,11 @@ RectTransform:
- {fileID: 129122987} - {fileID: 129122987}
m_Father: {fileID: 838871187} m_Father: {fileID: 838871187}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0.5} m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5} m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 400, y: 1080} m_SizeDelta: {x: 400, y: 1080}
m_Pivot: {x: 1, y: 0.5} m_Pivot: {x: 0, y: 0.5}
--- !u!223 &2054237628
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2054237626}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 2
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 1
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 0
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 1
m_TargetDisplay: 0
--- !u!114 &2054237629 --- !u!114 &2054237629
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -40221,7 +39954,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Material: {fileID: 0} m_Material: {fileID: 0}
m_Color: {r: 0.7169812, g: 0.7169812, b: 0.7169812, a: 1} m_Color: {r: 0.5943396, g: 0.5943396, b: 0.5943396, a: 1}
m_RaycastTarget: 1 m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1 m_Maskable: 1
@@ -40246,23 +39979,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2054237626} m_GameObject: {fileID: 2054237626}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!114 &2054237631
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2054237626}
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: 4294967295
--- !u!114 &2054237632 --- !u!114 &2054237632
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -40280,7 +39996,7 @@ MonoBehaviour:
btnClose: {fileID: 1646704434} btnClose: {fileID: 1646704434}
btnAddMonster: {fileID: 1737918060} btnAddMonster: {fileID: 1737918060}
btnAddGroup: {fileID: 1806599536} btnAddGroup: {fileID: 1806599536}
btnDeleteGroup: {fileID: 1089439637} btnDeleteGroup: {fileID: 0}
txtMonsterID: {fileID: 515234013} txtMonsterID: {fileID: 515234013}
txtName: {fileID: 1563312832} txtName: {fileID: 1563312832}
dropRefreshType: {fileID: 1225539914} dropRefreshType: {fileID: 1225539914}

View File

@@ -45,4 +45,12 @@ public partial class MapManager : MonoBehaviour
mapRealWidth = x; mapRealWidth = x;
mapRealHeight = y; mapRealHeight = y;
} }
public void MoveToCamera(float x, float y)
{
Vector3 newPosition;
newPosition.x = Mathf.Clamp(x, 0, mapRealWidth);
newPosition.y = Mathf.Clamp(y, 0, mapRealHeight);
Camera.main.transform.position = new Vector3(x, y, -10);
}
} }

View File

@@ -97,7 +97,7 @@ public class SceneArea : MonoBehaviour
case EditCellType.MonsterArea: case EditCellType.MonsterArea:
if (baseItem is UIMonsterItem monsterItem) if (baseItem is UIMonsterItem monsterItem)
{ {
transform.Find("Name").GetComponent<TextMeshPro>().text = $"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{monsterItem.monster.id}"; transform.Find("Name").GetComponent<TextMeshPro>().text = $"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{monsterItem.monster.itemIdx}";
transform.Find("ID").GetComponent<TextMeshPro>().text = "ID:" + monsterItem.monster.id; transform.Find("ID").GetComponent<TextMeshPro>().text = "ID:" + monsterItem.monster.id;
transform.Find("Num").GetComponent<TextMeshPro>().text = "Num:" + monsterItem.monster.num; transform.Find("Num").GetComponent<TextMeshPro>().text = "Num:" + monsterItem.monster.num;
SetAreaSize(monsterItem.monster.radius); SetAreaSize(monsterItem.monster.radius);

View File

@@ -16,4 +16,10 @@ public class UIBaseItem : MonoBehaviour
{ {
} }
public virtual void OnClickItemSelf()
{
if (sceneArea == null) return;
MapManager.Instance.MoveToCamera(sceneArea.transform.position.x,sceneArea.transform.position.y);
}
} }

View File

@@ -39,10 +39,7 @@ public class UIMonsterItem : UIBaseItem
void Awake() void Awake()
{ {
groupId = -1; groupId = -1;
AddInputNameClickEvent(txtPos);
//AddInputNameClickEvent(txtPath, true);
btnDel.onClick.AddListener(RemoveSelf); btnDel.onClick.AddListener(RemoveSelf);
//itemIdx = 0;
paths = new List<string>(); paths = new List<string>();
btnClickSelf.onClick.AddListener(OnClickSelf); btnClickSelf.onClick.AddListener(OnClickSelf);
btnCopy.onClick.AddListener(OnCopySelf); btnCopy.onClick.AddListener(OnCopySelf);
@@ -59,7 +56,8 @@ public class UIMonsterItem : UIBaseItem
return; return;
} }
monster.pos = UtilityClass.GetVector2Pos(arg0); monster.pos = UtilityClass.GetVector2Pos(arg0);
MapManager.Instance.CreateSpecialPoint(monster.pos, this); sceneArea?.SetAreaPos(monster.pos);
UIWindow.Instance.uiMonstersPanel.UpdateGroupInfo(this);
} }
//public void SetItem(int idx, MonstersConfig.MonsterConfig m) //public void SetItem(int idx, MonstersConfig.MonsterConfig m)
@@ -71,6 +69,7 @@ public class UIMonsterItem : UIBaseItem
txtPos.text = m.pos.ToString(); txtPos.text = m.pos.ToString();
paths = m.paths; paths = m.paths;
monster = m; monster = m;
txtPos.enabled = m.itemIdx != -1;
txtID.gameObject.SetActive(m.itemIdx != -1); txtID.gameObject.SetActive(m.itemIdx != -1);
if (m.groupId > 0) if (m.groupId > 0)
return; return;
@@ -82,6 +81,7 @@ public class UIMonsterItem : UIBaseItem
base.SetSelectPosItem(); base.SetSelectPosItem();
btnClickSelf.Select(); btnClickSelf.Select();
UIWindow.Instance.uiMonstersPanel.OnClickItem(this); UIWindow.Instance.uiMonstersPanel.OnClickItem(this);
} }
public override void SetItemPos(Vector2Int pos) public override void SetItemPos(Vector2Int pos)
{ {
@@ -89,6 +89,7 @@ public class UIMonsterItem : UIBaseItem
monster.pos = pos; monster.pos = pos;
txtPos.text = pos.ToString(); txtPos.text = pos.ToString();
btnClickSelf.Select(); btnClickSelf.Select();
UIWindow.Instance.uiMonstersPanel.UpdateGroupInfo(this);
} }
public void RefreshItem() public void RefreshItem()
{ {
@@ -97,8 +98,7 @@ public class UIMonsterItem : UIBaseItem
paths = monster.paths; paths = monster.paths;
txtPos.text = monster.pos.ToString(); txtPos.text = monster.pos.ToString();
//ˢ<>³<EFBFBD><C2B3><EFBFBD><EFBFBD>еĶ<D0B5><C4B6><EFBFBD> //ˢ<>³<EFBFBD><C2B3><EFBFBD><EFBFBD>еĶ<D0B5><C4B6><EFBFBD>
MapManager.Instance.SetMonsterPoint(monster.itemIdx, monster.radius, monster.id, monster.num); sceneArea?.RefSAreaInfo();
MapManager.Instance.CreateSpecialPoint(monster.pos, this);
} }
public void SetGroup(int group) public void SetGroup(int group)
@@ -112,49 +112,6 @@ public class UIMonsterItem : UIBaseItem
btnHide.gameObject.SetActive(false); btnHide.gameObject.SetActive(false);
} }
private void AddInputNameClickEvent(InputField input, bool isPath = false) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Awake<6B>е<EFBFBD><D0B5><EFBFBD>
{
var eventTrigger = input.gameObject.AddComponent<EventTrigger>();
UnityAction<BaseEventData> selectEvent = null;
if (isPath)
selectEvent = OnPathInputFieldClicked;
else
selectEvent = OnInputFieldClicked;
EventTrigger.Entry onClick = new EventTrigger.Entry()
{
eventID = EventTriggerType.PointerClick
};
onClick.callback.AddListener(selectEvent);
eventTrigger.triggers.Add(onClick);
}
private void OnInputFieldClicked(BaseEventData data)
{
if (string.IsNullOrEmpty(txtMonsterID.text))
return;
if (OnClick == null)
return;
OnClick(this);
UIWindow.Instance.uiMonstersPanel.curActiveInput = data.selectedObject.GetComponent<InputField>();
int radius = Convert.ToInt32(UIWindow.Instance.uiMonstersPanel.txtRadius.text);
int count = Convert.ToInt32(UIWindow.Instance.uiMonstersPanel.txtCount.text);
MapManager.Instance.SetMonsterPoint(monster.itemIdx, radius, Convert.ToInt32(txtMonsterID.text), count);
MapManager.Instance.SetEditCellType(MapManager.EditCellType.MonsterArea);
}
private void OnPathInputFieldClicked(BaseEventData data)
{
UIWindow.Instance.uiMonstersPanel.curActiveInput = data.selectedObject.GetComponent<InputField>();
UIWindow.Instance.uiMonstersPanel.curActiveList = paths;
MapManager.Instance.SetEditCellType(MapManager.EditCellType.MonsterPath);
}
private void RemoveSelf() private void RemoveSelf()
{ {
DestroyImmediate(transform.parent.gameObject); DestroyImmediate(transform.parent.gameObject);
@@ -188,66 +145,6 @@ public class UIMonsterItem : UIBaseItem
UIWindow.Instance.ShowMessage("<22><><EFBFBD><EFBFBD>дˢ<D0B4><CBA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"); UIWindow.Instance.ShowMessage("<22><><EFBFBD><EFBFBD>дˢ<D0B4><CBA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
return false; return false;
} }
//if (string.IsNullOrEmpty(txtRadius.text))
//{
// UIWindow.Instance.ShowMessage("<22><><EFBFBD><EFBFBD>дˢ<D0B4>ְ뾶");
// return false;
//}
//if (string.IsNullOrEmpty(txtNum.text))
//{
// UIWindow.Instance.ShowMessage("<22><><EFBFBD><EFBFBD>дˢ<D0B4><CBA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
// return false;
//}
//if (string.IsNullOrEmpty(txtTime.text))
//{
// UIWindow.Instance.ShowMessage("<22><><EFBFBD><EFBFBD>дˢ<D0B4><CBA2>ʱ<EFBFBD><CAB1>");
// return false;
//}
//if (dropType.value == (int)CreateMonsterMode.Death)
//{
// if(!APIs.IsUInt(txtTime.text))
// {
// UIWindow.Instance.ShowMessage("ˢ<><CBA2>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
// return false;
// }
//}
//else if(dropType.value == (int)CreateMonsterMode.FixedTime)
//{
// string[] tmp = txtTime.text.Split(',');
// if (tmp.Length != 2)
// {
// UIWindow.Instance.ShowMessage("ˢ<><CBA2>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>");
// return false;
// }
// if(!APIs.IsUInt(tmp[0]))
// {
// UIWindow.Instance.ShowMessage("ˢ<><CBA2>ʱ<EFBFBD><CAB1>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
// return false;
// }
// string[] strTime = tmp[1].Split(':');
// if (strTime.Length != 2)
// {
// UIWindow.Instance.ShowMessage("ˢ<><CBA2>ʱ<EFBFBD><CAB1><><CAB1><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>");
// return false;
// }
// for (int i = 0; i < strTime.Length; i++)
// {
// if (!APIs.IsUInt(strTime[i]))
// {
// UIWindow.Instance.ShowMessage("ˢ<><CBA2>ʱ<EFBFBD><CAB1><><CAB1><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>");
// return false;
// }
// }
//}
return true; return true;
} }
@@ -255,8 +152,8 @@ public class UIMonsterItem : UIBaseItem
{ {
if (OnClick == null) if (OnClick == null)
return; return;
OnClick(this); OnClick(this);
OnClickItemSelf();
} }
private void OnCopySelf() private void OnCopySelf()

View File

@@ -1,13 +1,10 @@
using HxGame.Data; using HxGame.Data;
using System; using System;
using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Threading;
using UnityEngine; using UnityEngine;
using UnityEngine.UI; using UnityEngine.UI;
using static HxGame.Data.MonstersConfig; using static HxGame.Data.MonstersConfig;
using static System.Net.Mime.MediaTypeNames;
/* /*
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
@@ -41,21 +38,39 @@ public class UIMonsterPanel : MonoBehaviour
public ScrollRect svMonsters; public ScrollRect svMonsters;
public Transform itemParent; public Transform itemParent;
public int itemIdx; public int itemIdx = 0;
private UIMonsterItem _curMonsterItem; private UIMonsterItem _curMonsterItem;
public MonstersConfig monstersConfig = new(); public MonstersConfig monstersConfig = new();
private void Awake() private void Awake()
{ {
itemIdx = 0;
btnClose.onClick.AddListener(OnClickClose); btnClose.onClick.AddListener(OnClickClose);
btnAddGroup.onClick.AddListener(OnAddGroup); btnAddGroup.onClick.AddListener(OnAddGroup);
txtMonsterID.onEndEdit.AddListener(OnEditorMonsterId); txtMonsterID.onEndEdit.AddListener(OnEditorMonsterId);
txtName.onEndEdit.AddListener(OnEditorMonsterName); txtName.onEndEdit.AddListener(OnEditorMonsterName);
txtRadius.onEndEdit.AddListener(OnEditorMonsterRadius); txtRadius.onEndEdit.AddListener(OnEditorMonsterRadius);
txtCount.onEndEdit.AddListener(OnEditorMonsterCount); txtCount.onEndEdit.AddListener(OnEditorMonsterCount);
} txtRefreshTime.onEndEdit.AddListener(OnEditorRefTime);
dropRefreshType.onValueChanged.AddListener(OnEditorRefType);
}
private void OnEditorRefType(int arg0)
{
if (_curMonsterItem == null) return;
_curMonsterItem.monster.createMode = (CreateMonsterMode)arg0;
}
private void OnEditorRefTime(string arg0)
{
if (_curMonsterItem == null) return;
if (!int.TryParse(arg0, out var intValue))
{
UIWindow.Instance.ShowMessage("<22><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ȷ");
return;
}
_curMonsterItem.monster.delayTime = intValue;
}
private void OnEditorMonsterCount(string arg0) private void OnEditorMonsterCount(string arg0)
{ {
if (!int.TryParse(arg0, out var intValue)) if (!int.TryParse(arg0, out var intValue))
@@ -63,12 +78,14 @@ public class UIMonsterPanel : MonoBehaviour
UIWindow.Instance.ShowMessage("<22><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ȷ"); UIWindow.Instance.ShowMessage("<22><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ȷ");
return; return;
} }
_curMonsterItem.monster.id = intValue; _curMonsterItem.monster.num = intValue;
_curMonsterItem.RefreshItem(); _curMonsterItem.RefreshItem();
} }
private void OnEditorMonsterRadius(string arg0) private void OnEditorMonsterRadius(string arg0)
{ {
if (_curMonsterItem == null || _curMonsterItem.monster.itemIdx == -1)
return;
if (!int.TryParse(arg0, out var intValue)) if (!int.TryParse(arg0, out var intValue))
{ {
UIWindow.Instance.ShowMessage("<22><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ȷ"); UIWindow.Instance.ShowMessage("<22><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ȷ");
@@ -141,8 +158,11 @@ public class UIMonsterPanel : MonoBehaviour
MonstersConfig.MonsterConfig monster = new MonstersConfig.MonsterConfig(); MonstersConfig.MonsterConfig monster = new MonstersConfig.MonsterConfig();
monster.itemIdx = ++itemIdx; monster.itemIdx = ++itemIdx;
monster.groupId = -1; monster.groupId = -1;
monster.radius = 10;
monster.pos = new Vector2Int(MapManager.Instance.map.selector.horizontalNumber / 2, MapManager.Instance.map.selector.verticalNumber / 2);
monstersConfig.monsterConfigs.Insert(0, monster); monstersConfig.monsterConfigs.Insert(0, monster);
AddItem(monster); var createItem = AddItem(monster);
OnClickItem(createItem);
} }
public void LoadMonsterConfig(int mapId) public void LoadMonsterConfig(int mapId)
@@ -200,6 +220,7 @@ public class UIMonsterPanel : MonoBehaviour
txtCount.text = monster.num.ToString(); txtCount.text = monster.num.ToString();
txtRadius.text = monster.radius.ToString(); txtRadius.text = monster.radius.ToString();
dropPatrol.value = (int)monster.patrolMode; dropPatrol.value = (int)monster.patrolMode;
ScrollToTarget(item);
} }
public void OnCopyItem(UIMonsterItem item) public void OnCopyItem(UIMonsterItem item)
{ {
@@ -219,9 +240,11 @@ public class UIMonsterPanel : MonoBehaviour
AddItem(newmonster); AddItem(newmonster);
} }
else { else {
var grops = monstersConfig.monsterConfigs.FindAll((tt) => tt.groupId == item.monster.itemIdx);
int inserIndex = index + grops.Count + 1;
//<2F>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> //<2F>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
MonstersConfig.MonsterConfig newmonster = new MonstersConfig.MonsterConfig(); MonstersConfig.MonsterConfig newmonster = new MonstersConfig.MonsterConfig();
monstersConfig.monsterConfigs.Insert(index,newmonster); monstersConfig.monsterConfigs.Insert(inserIndex, newmonster);
foreach (var prop in typeof(MonsterConfig).GetFields()) foreach (var prop in typeof(MonsterConfig).GetFields())
{ {
prop.SetValue(newmonster, prop.GetValue(item.monster)); prop.SetValue(newmonster, prop.GetValue(item.monster));
@@ -229,16 +252,16 @@ public class UIMonsterPanel : MonoBehaviour
newmonster.itemIdx = ++itemIdx; newmonster.itemIdx = ++itemIdx;
newmonster.groupId = -1; newmonster.groupId = -1;
AddItem(newmonster); AddItem(newmonster);
var grops = monstersConfig.monsterConfigs.FindAll((tt) => tt.groupId == item.monster.itemIdx);
foreach (var gropItem in grops) foreach (var gropItem in grops)
{ {
MonsterConfig config = new MonsterConfig(); MonsterConfig config = new MonsterConfig();
monstersConfig.monsterConfigs.Insert(++index, config); monstersConfig.monsterConfigs.Insert(++inserIndex, config);
foreach (var prop in typeof(MonsterConfig).GetFields()) foreach (var prop in typeof(MonsterConfig).GetFields())
{ {
prop.SetValue(config, prop.GetValue(gropItem)); prop.SetValue(config, prop.GetValue(gropItem));
} }
config.groupId = gropItem.itemIdx; config.groupId = newmonster.itemIdx;
config.itemIdx = -1; config.itemIdx = -1;
AddItem(config); AddItem(config);
} }
@@ -247,9 +270,8 @@ public class UIMonsterPanel : MonoBehaviour
public void SaveMonsterConfig() public void SaveMonsterConfig()
{ {
MonstersConfig mc = new MonstersConfig();
int mapId = MapManager.Instance._curOpenMapId; int mapId = MapManager.Instance._curOpenMapId;
mc.SaveXML(mapId); monstersConfig.SaveXML(mapId);
} }
public void RemoveAllGrop(MonsterConfig config) public void RemoveAllGrop(MonsterConfig config)
@@ -264,8 +286,35 @@ public class UIMonsterPanel : MonoBehaviour
item.DestoryGrop(); item.DestoryGrop();
} }
} }
}
public void ScrollToTarget(UIMonsterItem target)
{
var index = monstersConfig.monsterConfigs.IndexOf(target.monster);
if (index != -1)
{
svMonsters.verticalNormalizedPosition = 1 - (float)index / (monstersConfig.monsterConfigs.Count - 1);
}
}
public void UpdateGroupInfo(UIMonsterItem target)
{
if (target.monster.itemIdx != -1)
{
var allitems = monstersConfig.monsterConfigs.FindAll((item) => item.groupId == target.monster.itemIdx);
foreach (var item in allitems)
{
item.pos = target.monster.pos;
item.radius = target.monster.radius;
}
foreach (Transform child in svMonsters.content)
{
UIMonsterItem item = child.GetComponentInChildren<UIMonsterItem>();
if (item != null && item.monster.groupId == target.monster.itemIdx)
{
item.RefreshItem();
}
}
}
} }
public void RemoveAll() public void RemoveAll()
{ {
int size = itemParent.childCount; int size = itemParent.childCount;
@@ -273,6 +322,5 @@ public class UIMonsterPanel : MonoBehaviour
{ {
DestroyImmediate(itemParent.GetChild(0).gameObject); DestroyImmediate(itemParent.GetChild(0).gameObject);
} }
itemIdx = 0;
} }
} }