refactor(UI):完善对于各个界面的管理逻辑,esc可以直接关闭所有的顶层UI

This commit is contained in:
2025-10-27 21:41:25 +08:00
parent 1462f4689e
commit 4951f25187
21 changed files with 18049 additions and 6374 deletions

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,21 @@
的一是了不在人有我他这中大来上国个到说们为子和你地出道也时要就下得可生会自着去之过家学对能多然于心年发后作里用道行所然种事成方无如面起看定天分还进好小部其些主样理她本前开但因只从想实日军者意无力它与长把机十民第公此已工使情明性知全三又关点正业外将两高间由问很最重并物手应战向头文体政美相见被利什二等产或新己制身果加西斯月话合回特代内信表化老给世位次度门任常先海通教儿原东声提立及比员解水名真论处走义各入几口认条平系气题活尔更别打女变四神总何电数安少报才结反受目太量再感建务做接必场件计管期市直德资命山金指克许统区保至队形社便空决治展马科司五基眼书非则听白却界达光放强即像难且权思王象完设式色路记南品住告类求据程北边死张该交规万取拉格望觉术领共确传师观清今切院让识候带导争运笑飞风步改收根干造言联持组每济车亲极林服快办议往元英士证近失转夫令准布始怎呢存未远叫台单影具罗字爱击流备兵连调深商算质团集百需价花党华城石级整府离况亚请技际约复角需输乎属坐观云离千万快真思清界料整阳度帮灯钟系记选线越度息周续兵界马花养满愿容态情影热候响害管呢苏突案陈千片装建研料语黄若层余普适敌防除简持氧施松艺仅养胜激派模索听登居劳纸印历协概极顺访度谈稳奖依紧继永列致刻突府届限端鲜律菜充答愿查跟例洲虑突鱼倍输装筑例脚态测愿梦渐岛属审诉乡愿顾料环显艺旧板释普疑姆归绩景刻执诺振陆访绝圆香担绍控护状编层伙质恶复编贸担句迷户乡采述厚逐私编秘券弹预稳毒谓伦释授督振弃脉趣触拥胜挥迹依贸鼓汇卷纵街顾承励宗抵控模映射圣述索艺献构督续域穿缩暂换河敌烈枝探险概架县剧罪散晚粒繁疗血详境顶您钱貌施革鱼丽依优控毕索阴益伟际轨杀肥阅述绘执寒染略释钻督烈淡湖寿境阅封盘骨健腿筑晓录模触翼航荣毒鲁逐遇鲁离锐幕划迎埃智灰诉迈怀执旧盘织鸣沈概插诺鲁筑驱歼验驱诚罢鲁驱陷辑弹驱辩炼驱舰辩驱辖辩鲁镇驱锦鲁纬驱纬倒
谜密解锁钥线关门盒匣箱机关触发计时秒分时钟指轮回重复倒流断层片节点路径码符记录日忆回传送迹象符图样匹对顺序次数周期转盘轴闭开按启停终止完成成败提示隐藏陷阱通道遗留线索窗页读写校准校验编码解码破解拼图组合对应匹配同步异步回音回放重启启动断点影像目标标记刻印印章证件录档频率节奏节律节拍节点存储取出
解谜 解密 密码 密文 解锁 锁定 密室 机关屋 隐藏门 密道 线索列表 道具栏
倒计时 计时器 秒表 时钟塔 时间轴 时间线 时间碎片 时间断层 时间回溯 时间停止 时间倒流
循环开始 循环结束 重置关卡 重生点 回溯点 回放记录 记录片段 记忆碎片
触发器 触发条件 触发事件 条件成立 条件不符 达成条件 完成条件
组合拼图 拼接机制 对应关系 对齐完成 顺序错误 顺序锁 顺序按钮
提示信息 查看线索 隐藏提示 显示提示 获取提示 使用道具 放入物品 拾取成功 放置失败
通关 失败重试 再次尝试 存档 读取 自动保存 手动保存 记录已保存
转盘机关 旋转齿轮 转轴校准 档位切换 按钮组 开关箱 断路器 电路图
密码本 符号表 译码器 密钥碎片 合成钥匙 激活装置
时光门 时空裂隙 回忆录 旧日记录 未知档案 档案室 博物馆展柜
提示:填写数字 输入密码 转动指针 按顺序按下 对齐图案 对照样本 翻开日记 阅读铭文
游戏注意连线激活并登上传送器始你的探索吧逃脱
一七三上下不与世业东丝两个中为主么义之九也了争事二于互五些交产人什从他代以们件任会传但位体作你使便保信俩倒做先光党入全公关其内军农决几出分切则删利别到制前力加动化北区十半南即压原去参又及反发取受变口只可台右号各合同名后向吗吧启员命和品器四回因团国图在地基墙增处外多够大天头她好如始子学它定实家对导射将小少就展山工左已常干平年并应度建开式强当形往很得循心必志思性总情想意成我或战房所手把抗指按换据掉探接控提撞收放政效数文料新方无日时明易是最月有朝期未本术机村条来极果样根模次正此比民气水求没油治法活流济海消清激点热然物特环现理生用由电登百的直相看着知短碰示社种称程穿立第等答管系索约级线组经结给统编置老者而能自色行表被装西要见规角解计认论设识说读象质资走起足路较辑边过运还这进远连送通造道那部都里重量金键长门问间阅队阶际除难需非面革领题高黑默龙!,:
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
:;,。?!—()[]<>/\#%&*+-=@"'

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 3d81bff1cae1127468aaa281024984e9
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -69,7 +69,7 @@ MonoBehaviour:
'
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontAsset: {fileID: 11400000, guid: 538fd603dd2dddd4daf31aa55f44c7e5, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
@@ -133,7 +133,7 @@ MonoBehaviour:
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_hasFontAssetChanged: 1
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &756030608054991821
@@ -261,7 +261,7 @@ MonoBehaviour:
m_Calls: []
m_text: No Editable Target
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontAsset: {fileID: 11400000, guid: 538fd603dd2dddd4daf31aa55f44c7e5, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
@@ -325,6 +325,6 @@ MonoBehaviour:
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_hasFontAssetChanged: 1
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}

View File

@@ -149,17 +149,17 @@ RectTransform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 65129758}
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:
- {fileID: 1094495086}
m_Father: {fileID: 1182808914}
m_Father: {fileID: 876011018}
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: 20.1479, y: 100}
m_AnchoredPosition: {x: 20.147827, y: 100}
m_SizeDelta: {x: 386.4251, y: 173.9142}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &65129760
@@ -270,7 +270,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
IsOpenOnFirstLoad: 1
levelName: Level1
--- !u!1 &464114337
--- !u!1 &876011014
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -278,25 +278,24 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 464114341}
- component: {fileID: 464114340}
- component: {fileID: 464114339}
- component: {fileID: 464114338}
- component: {fileID: 464114342}
- component: {fileID: 876011018}
- component: {fileID: 876011017}
- component: {fileID: 876011016}
- component: {fileID: 876011015}
m_Layer: 5
m_Name: Background
m_Name: Canvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &464114338
--- !u!114 &876011015
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 464114337}
m_GameObject: {fileID: 876011014}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
@@ -307,13 +306,13 @@ MonoBehaviour:
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!114 &464114339
--- !u!114 &876011016
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 464114337}
m_GameObject: {fileID: 876011014}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
@@ -330,13 +329,13 @@ MonoBehaviour:
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &464114340
--- !u!223 &876011017
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 464114337}
m_GameObject: {fileID: 876011014}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
@@ -353,18 +352,20 @@ Canvas:
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!224 &464114341
--- !u!224 &876011018
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 464114337}
m_GameObject: {fileID: 876011014}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children: []
m_Children:
- {fileID: 65129759}
- {fileID: 1558051558}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@@ -372,19 +373,6 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!114 &464114342
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 464114337}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7a5cdded3cae71848bcb0e7ca91e4570, type: 3}
m_Name:
m_EditorClassIdentifier:
layer: 0
--- !u!1 &1094495085
GameObject:
m_ObjectHideFlags: 0
@@ -464,123 +452,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1094495085}
m_CullTransparentMesh: 1
--- !u!1 &1182808910
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1182808914}
- component: {fileID: 1182808913}
- component: {fileID: 1182808912}
- component: {fileID: 1182808911}
- component: {fileID: 1182808915}
m_Layer: 5
m_Name: Normal
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1182808911
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1182808910}
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 &1182808912
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1182808910}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 0
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &1182808913
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1182808910}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
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!224 &1182808914
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1182808910}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 65129759}
- {fileID: 1558051558}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!114 &1182808915
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1182808910}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7a5cdded3cae71848bcb0e7ca91e4570, type: 3}
m_Name:
m_EditorClassIdentifier:
layer: 1
--- !u!1 &1303181320
GameObject:
m_ObjectHideFlags: 0
@@ -660,121 +531,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1303181320}
m_CullTransparentMesh: 1
--- !u!1 &1444341145
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1444341149}
- component: {fileID: 1444341148}
- component: {fileID: 1444341147}
- component: {fileID: 1444341146}
- component: {fileID: 1444341150}
m_Layer: 5
m_Name: Popup
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1444341146
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1444341145}
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 &1444341147
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1444341145}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 0
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &1444341148
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1444341145}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
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!224 &1444341149
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1444341145}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!114 &1444341150
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1444341145}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7a5cdded3cae71848bcb0e7ca91e4570, type: 3}
m_Name:
m_EditorClassIdentifier:
layer: 2
--- !u!1 &1558051557
GameObject:
m_ObjectHideFlags: 0
@@ -802,17 +558,17 @@ RectTransform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1558051557}
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:
- {fileID: 1303181321}
m_Father: {fileID: 1182808914}
m_Father: {fileID: 876011018}
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: 20.1479, y: -113}
m_AnchoredPosition: {x: 20.147827, y: -113}
m_SizeDelta: {x: 386.4251, y: 173.9142}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1558051559
@@ -1060,121 +816,6 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &2116337628
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2116337632}
- component: {fileID: 2116337631}
- component: {fileID: 2116337630}
- component: {fileID: 2116337629}
- component: {fileID: 2116337633}
m_Layer: 5
m_Name: Top
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &2116337629
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2116337628}
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 &2116337630
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2116337628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 0
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &2116337631
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2116337628}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
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!224 &2116337632
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2116337628}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!114 &2116337633
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2116337628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7a5cdded3cae71848bcb0e7ca91e4570, type: 3}
m_Name:
m_EditorClassIdentifier:
layer: 3
--- !u!1 &2120736852
GameObject:
m_ObjectHideFlags: 0
@@ -1270,8 +911,5 @@ SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 2005838555}
- {fileID: 464114341}
- {fileID: 1182808914}
- {fileID: 1444341149}
- {fileID: 2116337632}
- {fileID: 876011018}
- {fileID: 2120736855}

View File

@@ -212,13 +212,128 @@ MonoBehaviour:
m_PointerBehavior: 0
m_CursorLockBehavior: 0
m_ScrollDeltaPerTick: 6
--- !u!1 &64979901
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 64979906}
- component: {fileID: 64979905}
- component: {fileID: 64979904}
- component: {fileID: 64979903}
- component: {fileID: 64979902}
m_Layer: 5
m_Name: Background
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &64979902
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 64979901}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7a5cdded3cae71848bcb0e7ca91e4570, type: 3}
m_Name:
m_EditorClassIdentifier:
layer: 0
--- !u!114 &64979903
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 64979901}
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 &64979904
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 64979901}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 0
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &64979905
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 64979901}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
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: 25
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!224 &64979906
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 64979901}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1001 &120768279
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 1067459529}
m_TransformParent: {fileID: 1780593834}
m_Modifications:
- target: {fileID: 1135667794185554838, guid: 2c0c5fa3c0f3beb44a88c2312d9e1333,
type: 3}
@@ -283,17 +398,17 @@ PrefabInstance:
- target: {fileID: 1135667794185554838, guid: 2c0c5fa3c0f3beb44a88c2312d9e1333,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
value: -0
objectReference: {fileID: 0}
- target: {fileID: 1135667794185554838, guid: 2c0c5fa3c0f3beb44a88c2312d9e1333,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
value: -0
objectReference: {fileID: 0}
- target: {fileID: 1135667794185554838, guid: 2c0c5fa3c0f3beb44a88c2312d9e1333,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
value: -0
objectReference: {fileID: 0}
- target: {fileID: 1135667794185554838, guid: 2c0c5fa3c0f3beb44a88c2312d9e1333,
type: 3}
@@ -715,9 +830,7 @@ RectTransform:
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1082771939}
- {fileID: 165485610}
- {fileID: 120768280}
- {fileID: 1822383180}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -756,7 +869,7 @@ RectTransform:
m_LocalScale: {x: 0.13, y: 0.13, z: 0.13}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 1067459529}
m_Father: {fileID: 1780593834}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
@@ -1331,10 +1444,12 @@ RectTransform:
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 120768280}
- {fileID: 1200522802}
- {fileID: 257151345}
- {fileID: 1349586405}
- {fileID: 1852693707}
- {fileID: 1082771939}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@@ -1566,7 +1681,7 @@ PrefabInstance:
- target: {fileID: 756030608054991821, guid: faba7bc710ad07f4491499290cd8b296,
type: 3}
propertyPath: m_Name
value: PlayerEditPanelViwer
value: PlayerEditViewer
objectReference: {fileID: 0}
- target: {fileID: 1276987115395320878, guid: faba7bc710ad07f4491499290cd8b296,
type: 3}
@@ -1902,7 +2017,7 @@ PrefabInstance:
- target: {fileID: 4411825979609720476, guid: 62d39262178af1941b7488794adfa8e7,
type: 3}
propertyPath: m_Name
value: PlayerDialogueViwer
value: PlayerDialogueViewer
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
@@ -1913,6 +2028,7 @@ PrefabInstance:
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 64979906}
- {fileID: 1780593834}
- {fileID: 1067459529}
- {fileID: 1009976186}

View File

@@ -4,11 +4,11 @@ namespace Core
{
public interface IInputManager
{
public Vector2 Move { get; }
public Vector2 Look { get; }
public bool JumpPressed { get; }
public bool PausePressed { get; }
public bool InteractPressed { get; }
// public Vector2 Move { get; }
// public Vector2 Look { get; }
// public bool JumpPressed { get; }
// public bool PausePressed { get; }
// public bool InteractPressed { get; }
public void SetCursorState(bool visible, CursorLockMode lockMode);
public void SetInputForLook(bool enabled);
public void SetInputForMove(bool enabled);

View File

@@ -13,9 +13,12 @@ namespace Core
protected virtual void Awake()
{
if (!IsOpenOnFirstLoad) Hide();
}
protected virtual void Start()
{
if (!IsOpenOnFirstLoad) Hide();
}
/// <summary>
/// Called when the UI is shown.
/// </summary>

View File

@@ -1,3 +1,4 @@
using System;
using UnityEngine;
using System.Collections.Generic;
using System.Linq;
@@ -17,17 +18,35 @@ namespace Core
/// </summary>
public class UIManager : MonoSingleton<UIManager>
{
public bool IsHasNonBackgroundUIActive
public bool IsHasBackgroundUIActive
{
get
{ return openedUIs.Values.Any(ui => ui.gameObject.activeSelf && ui.transform.parent != layerRoots[UILayer.Background]); }
{ return openedUIs.Values.Any(ui => ui.gameObject.activeSelf && ui.transform.parent == layerRoots[UILayer.Background]); }
}
public bool IsHasNormalUIActive
{
get
{ return openedUIs.Values.Any(ui => ui.gameObject.activeSelf && ui.transform.parent == layerRoots[UILayer.Normal]); }
}
public bool IsHasPopupUIActive
{
get
{ return openedUIs.Values.Any(ui => ui.gameObject.activeSelf && ui.transform.parent == layerRoots[UILayer.Popup]); }
}
public bool IsHasTopUIActive
{
get
{ return openedUIs.Values.Any(ui => ui.gameObject.activeSelf && ui.transform.parent == layerRoots[UILayer.Top]); }
}
private Dictionary<UILayer, Transform> layerRoots = new Dictionary<UILayer, Transform>();
private Dictionary<string, UIBase> openedUIs = new Dictionary<string, UIBase>();
private IInputManager inputManager;
public void RegisterInputManager(IInputManager inputMgr)
{
inputManager = inputMgr;
@@ -87,6 +106,26 @@ namespace Core
UpdateCursorState();
}
}
public void ClosePopupUI()
{
var popupUIs = openedUIs.Values.Where(ui => ui.gameObject.activeSelf && ui.transform.parent == layerRoots[UILayer.Popup]);
foreach (var ui in popupUIs)
{
ui.Hide();
}
UpdateCursorState();
}
public void CloseTopUI()
{
var topUIs = openedUIs.Values.Where(ui => ui.gameObject.activeSelf && ui.transform.parent == layerRoots[UILayer.Top]);
foreach (var ui in topUIs)
{
ui.Hide();
}
UpdateCursorState();
}
// 来回切换UI状态按同一个键实现UI的开关
public void SwitchUI<T>(UILayer layer = UILayer.Normal) where T : Component
@@ -125,7 +164,8 @@ namespace Core
private void UpdateCursorState()
{
if(inputManager == null) return;
bool shouldLockCursor = !IsHasNonBackgroundUIActive; //&& !isInMainMenu; // 仅在没有非Background UI且不在主菜单时锁定鼠标
bool shouldLockCursor = !(IsHasPopupUIActive || IsHasTopUIActive);
if (shouldLockCursor)
{
inputManager.SetCursorState(false, CursorLockMode.Locked);

View File

@@ -9,6 +9,7 @@ namespace Script.Gameplay.Input
public class InputManager : MonoSingleton<InputManager>, IInputManager
{
public PlayerInputActions Input; // 自动生成的输入类
private UIManager _uiManager;
// 当前输入值
public Vector2 Move { get; private set; }
@@ -58,7 +59,8 @@ namespace Script.Gameplay.Input
Input.Player.Edit.performed += ctx => EditPressed = true;
Input.Player.Edit.canceled += ctx => EditPressed = false;
UIManager.Instance.RegisterInputManager(this);
_uiManager = UIManager.Instance;
_uiManager.RegisterInputManager(this);
}
private void Update()

View File

@@ -154,6 +154,15 @@ namespace Script.Gameplay.Input
""processors"": """",
""interactions"": """",
""initialStateCheck"": false
},
{
""name"": ""Escape"",
""type"": ""Button"",
""id"": ""03c74252-1ecd-4fd7-af3e-d87cef62965f"",
""expectedControlType"": """",
""processors"": """",
""interactions"": """",
""initialStateCheck"": false
}
],
""bindings"": [
@@ -354,6 +363,17 @@ namespace Script.Gameplay.Input
""action"": ""Setting"",
""isComposite"": false,
""isPartOfComposite"": false
},
{
""name"": """",
""id"": ""a8cf95c0-2bad-4ed5-a737-e55f56e3306c"",
""path"": ""<Keyboard>/escape"",
""interactions"": """",
""processors"": """",
""groups"": """",
""action"": ""Escape"",
""isComposite"": false,
""isPartOfComposite"": false
}
]
}
@@ -376,6 +396,7 @@ namespace Script.Gameplay.Input
m_Player_ShowNextDialogue = m_Player.FindAction("ShowNextDialogue", throwIfNotFound: true);
m_Player_Read = m_Player.FindAction("Read", throwIfNotFound: true);
m_Player_Setting = m_Player.FindAction("Setting", throwIfNotFound: true);
m_Player_Escape = m_Player.FindAction("Escape", throwIfNotFound: true);
}
~@PlayerInputActions()
@@ -456,6 +477,7 @@ namespace Script.Gameplay.Input
private readonly InputAction m_Player_ShowNextDialogue;
private readonly InputAction m_Player_Read;
private readonly InputAction m_Player_Setting;
private readonly InputAction m_Player_Escape;
public struct PlayerActions
{
private @PlayerInputActions m_Wrapper;
@@ -474,6 +496,7 @@ namespace Script.Gameplay.Input
public InputAction @ShowNextDialogue => m_Wrapper.m_Player_ShowNextDialogue;
public InputAction @Read => m_Wrapper.m_Player_Read;
public InputAction @Setting => m_Wrapper.m_Player_Setting;
public InputAction @Escape => m_Wrapper.m_Player_Escape;
public InputActionMap Get() { return m_Wrapper.m_Player; }
public void Enable() { Get().Enable(); }
public void Disable() { Get().Disable(); }
@@ -525,6 +548,9 @@ namespace Script.Gameplay.Input
@Setting.started += instance.OnSetting;
@Setting.performed += instance.OnSetting;
@Setting.canceled += instance.OnSetting;
@Escape.started += instance.OnEscape;
@Escape.performed += instance.OnEscape;
@Escape.canceled += instance.OnEscape;
}
private void UnregisterCallbacks(IPlayerActions instance)
@@ -571,6 +597,9 @@ namespace Script.Gameplay.Input
@Setting.started -= instance.OnSetting;
@Setting.performed -= instance.OnSetting;
@Setting.canceled -= instance.OnSetting;
@Escape.started -= instance.OnEscape;
@Escape.performed -= instance.OnEscape;
@Escape.canceled -= instance.OnEscape;
}
public void RemoveCallbacks(IPlayerActions instance)
@@ -604,6 +633,7 @@ namespace Script.Gameplay.Input
void OnShowNextDialogue(InputAction.CallbackContext context);
void OnRead(InputAction.CallbackContext context);
void OnSetting(InputAction.CallbackContext context);
void OnEscape(InputAction.CallbackContext context);
}
}
}

View File

@@ -20,14 +20,15 @@ namespace Script.Gameplay.Player
public event Action OnPlayerEndDialogue;
public event Action<GameObject> OnGazeEnterDialogue;
public event Action<GameObject> OnGazeExitDialogue;
private InputManager inputManager;
private Queue<string> dialogueQueue = new Queue<string>();
private PlayerDialogueViewer playerDialogueViewer;
private IDialogue previousDialogue;
private IDialogue currentDialogueTarget;
public IDialogue CurrentDialogueTarget
{
get => currentDialogueTarget;
@@ -41,6 +42,7 @@ namespace Script.Gameplay.Player
{
OnGazeEnterDialogue?.Invoke((currentDialogueTarget as MonoBehaviour)?.gameObject);
}
if (previousDialogue != null)
{
OnGazeExitDialogue?.Invoke((previousDialogue as MonoBehaviour)?.gameObject);
@@ -63,10 +65,16 @@ namespace Script.Gameplay.Player
var input = inputManager.Input;
input.Player.Read.performed += OnReadOnperformed;
input.Player.ShowNextDialogue.performed += OnShowNextDialogueOnperformed;
input.Player.Escape.performed += OnEscapeOnperformed;
ControllerLocator.Instance.Register(this);
}
private void OnEscapeOnperformed(InputAction.CallbackContext ctx)
{
EndDialogue();
}
private void OnShowNextDialogueOnperformed(InputAction.CallbackContext ctx)
{
if (!isEnablePlayerDialogue) return;
@@ -104,8 +112,6 @@ namespace Script.Gameplay.Player
OnPlayerBeginDialogue?.Invoke();
CurrentDialogueTarget.OnBeginDialogue?.Invoke(true);
dialogueQueue = SplitDialogue(CurrentDialogueTarget.DialogueContent);
inputManager.SetInputForLook(false);
inputManager.SetInputForMove(false);
PassNextDialogue();
}
}
@@ -135,13 +141,7 @@ namespace Script.Gameplay.Player
isReadingDialogue = false;
OnPlayerEndDialogue?.Invoke();
CurrentDialogueTarget.OnEndDialogue?.Invoke(true);
inputManager.SetInputForLook(true);
inputManager.SetInputForMove(true);
if (playerDialogueViewer != null)
{
playerDialogueViewer.ClosePanel();
}
// 可扩展隐藏UI、恢复输入等
UIManager.Instance.CloseUI<PlayerDialogueViewer>();
}
}
@@ -174,6 +174,7 @@ namespace Script.Gameplay.Player
var input = inputManager.Input;
input.Player.Read.performed -= OnReadOnperformed;
input.Player.ShowNextDialogue.performed -= OnShowNextDialogueOnperformed;
input.Player.Escape.performed -= OnEscapeOnperformed;
}
}
}

View File

@@ -50,6 +50,7 @@ namespace Script.Gameplay.Player
{
inputManager = InputManager.Instance;
inputManager.Input.Player.Edit.performed += OnEditOnperformed;
inputManager.Input.Player.Escape.performed += OnEscapeOnperformed;
timePauseManager = TimePauseManager.Instance;
if (raycaster == null)
raycaster = GetComponent<FirstPersonRaycaster>() ?? GetComponentInChildren<FirstPersonRaycaster>();
@@ -62,7 +63,19 @@ namespace Script.Gameplay.Player
private void OnEditOnperformed(InputAction.CallbackContext context)
{
EditTarget();
if (!isEditing)
{
BeginEdit();
}
else
{
EndEdit();
}
}
private void OnEscapeOnperformed(InputAction.CallbackContext context)
{
EndEdit();
}
void Update()
@@ -85,34 +98,28 @@ namespace Script.Gameplay.Player
}
CurrentTarget = hitEditable;
}
private void EditTarget()
private void BeginEdit()
{
if (isEditing)
if (CurrentTarget == null) return;
if (!IsEnableEditing) return;
if(isEditing) return;
isEditing = true;
OnBeginEditTarget?.Invoke(CurrentTarget);
if (timePauseManager != null)
{
isEditing = false;
OnEndEditTarget?.Invoke(CurrentTarget);
inputManager.SetCursorState(false, CursorLockMode.Locked);
inputManager.SetInputForLook(true);
inputManager.SetInputForMove(true);
if (timePauseManager != null)
{
timePauseManager.SetPaused(false);
}
timePauseManager.SetPaused(true);
}
else
}
private void EndEdit()
{
if (!isEditing) return;
isEditing = false;
OnEndEditTarget?.Invoke(CurrentTarget);
if (timePauseManager != null)
{
if (CurrentTarget == null) return;
if (!IsEnableEditing) return;
isEditing = true;
OnBeginEditTarget?.Invoke(CurrentTarget);
inputManager.SetCursorState(true, CursorLockMode.Confined);
inputManager.SetInputForLook(false);
inputManager.SetInputForMove(false);
if (timePauseManager != null)
{
timePauseManager.SetPaused(true);
}
timePauseManager.SetPaused(false);
}
}
@@ -121,6 +128,7 @@ namespace Script.Gameplay.Player
if (inputManager != null)
{
inputManager.Input.Player.Edit.performed -= OnEditOnperformed;
inputManager.Input.Player.Escape.performed -= OnEscapeOnperformed;
}
ControllerLocator.Instance.Unregister(this);
}

View File

@@ -24,7 +24,7 @@ namespace Script.Gameplay.Player
private CharacterController characterController;
private Vector3 velocity;
private bool isGrounded;
private IInputManager inputManager;
private InputManager inputManager;
private float lastGroundY;
private bool wasGroundedLastFrame;

View File

@@ -12,7 +12,7 @@ namespace UI
public TMP_Text countdownText;
private GameCountdownManager _countdownManager;
private void Start()
protected override void Start()
{
_countdownManager = GameCountdownManager.Instance;
if (_countdownManager != null)

View File

@@ -13,7 +13,6 @@ namespace UI
{
[SerializeField] private TMP_Text dialogueText;
[SerializeField] private GameObject panel;
private bool isShowingPanel = false;
private PlayerDialogueController playerDialogueController;
private InputManager inputManager;
@@ -29,23 +28,12 @@ namespace UI
playerDialogueController = controller;
playerDialogueController.RegisterDialogueViewer(this);
}
public void ReceiveDialogue(string content)
{
if(!isShowingPanel) OpenPanel();
UIManager.Instance.OpenUI<PlayerDialogueViewer>();
dialogueText.text = content;
}
private void OpenPanel()
{
isShowingPanel = true;
Show();
}
public void ClosePanel()
{
isShowingPanel = false;
Hide();
}
}
}

View File

@@ -31,7 +31,7 @@ namespace UI
public void OnBeginEdit(GameObject target)
{
this.gameObject.SetActive(true);
UIManager.Instance.OpenUI<PlayerEditViewer>();
if (target == null)
{
if (noEditableTargetPanel != null)
@@ -46,8 +46,7 @@ namespace UI
public void OnEndEdit(GameObject target)
{
this.gameObject.SetActive(false);
UIManager.Instance.CloseUI<PlayerEditViewer>();
ClearComponentUI();
if (noEditableTargetPanel != null)
{

View File

@@ -12,7 +12,7 @@ namespace UI
private PlayerController _playerController;
public TMP_Text hpText;
private void Awake()
protected override void Awake()
{
ControllerLocator.Instance.TryGetWait<PlayerController>(OnGet);
}

View File

@@ -12,7 +12,7 @@ namespace UI
private PlayerWatchModeController watchModeController;
[SerializeField] private TMP_Text modeText;
private void Awake()
protected override void Awake()
{
ControllerLocator.Instance.TryGetWait<PlayerWatchModeController>(OnGet);
}

View File

@@ -16,14 +16,20 @@ namespace UI
[SerializeField] private Button reloadButton;
private InputManager inputManager;
protected override void Awake()
{
base.Awake();
inputManager = InputManager.Instance;
inputManager.Input.Player.Setting.performed += RegisterInput;
reloadButton.onClick.AddListener(OnReloadButtonClicked);
}
protected override void Start()
{
base.Start();
inputManager = InputManager.Instance;
inputManager.Input.Player.Setting.performed += (ctx) => { UIManager.Instance.SwitchUI<SettingViewer>(); };
}
private void OnReloadButtonClicked()
{
GameManager.Instance.ReStartGame();
@@ -32,7 +38,7 @@ namespace UI
inputManager.SetInputForLook(true);
inputManager.SetInputForMove(true);
}
private void RegisterInput(InputAction.CallbackContext ctx)
{
if (!isActiveAndEnabled)

View File

@@ -130,6 +130,15 @@
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "Escape",
"type": "Button",
"id": "03c74252-1ecd-4fd7-af3e-d87cef62965f",
"expectedControlType": "",
"processors": "",
"interactions": "",
"initialStateCheck": false
}
],
"bindings": [
@@ -330,6 +339,17 @@
"action": "Setting",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "a8cf95c0-2bad-4ed5-a737-e55f56e3306c",
"path": "<Keyboard>/escape",
"interactions": "",
"processors": "",
"groups": "",
"action": "Escape",
"isComposite": false,
"isPartOfComposite": false
}
]
}