diff --git a/Assets/Scenes/序章-回忆 修改.unity b/Assets/Scenes/序章-回忆 修改.unity index 7611099..b258063 100644 --- a/Assets/Scenes/序章-回忆 修改.unity +++ b/Assets/Scenes/序章-回忆 修改.unity @@ -554,6 +554,85 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &144076820 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 144076821} + - component: {fileID: 144076823} + - component: {fileID: 144076822} + m_Layer: 5 + m_Name: "\u53E5\u5B502" + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &144076821 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 144076820} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1701930268} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.019539753, y: 0.23600002} + m_AnchorMax: {x: 0.47471207, y: 0.5} + m_AnchoredPosition: {x: 0.11991882, y: 2} + m_SizeDelta: {x: -15, y: -16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &144076822 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 144076820} + 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: 1 + m_MinSize: 0 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &144076823 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 144076820} + m_CullTransparentMesh: 1 --- !u!1 &181444955 GameObject: m_ObjectHideFlags: 0 @@ -659,6 +738,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 1466476645} + - {fileID: 973378802} m_Father: {fileID: 1860666399} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -1692,7 +1772,11 @@ MonoBehaviour: m_interface: {fileID: 1500782587} sentences: - {fileID: 1466476646} - whenFinishFathersCode: {fileID: 1037109831} + - {fileID: 973378803} + m_Event: {fileID: 1037109831} + sentencesTextView: + - {fileID: 1071101930} + - {fileID: 144076822} --- !u!61 &742864121 BoxCollider2D: m_ObjectHideFlags: 0 @@ -2504,7 +2588,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: needCount: 0 - OKCount: 0 + OKCount: 1 --- !u!4 &913332110 Transform: m_ObjectHideFlags: 0 @@ -2554,7 +2638,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.2732673, y: 0.23600002} m_AnchorMax: {x: 0.72315717, y: 0.80067426} - m_AnchoredPosition: {x: 0.5, y: -3.9999695} + m_AnchoredPosition: {x: 0.5, y: -3.9999619} m_SizeDelta: {x: -79, y: -26} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &917003919 @@ -2781,6 +2865,51 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 943472245} m_CullTransparentMesh: 1 +--- !u!1 &973378801 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 973378802} + - component: {fileID: 973378803} + m_Layer: 0 + m_Name: "\u53E5\u5B502" + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &973378802 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 973378801} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 192880847} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &973378803 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 973378801} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0563b81dfbe815a46a07fc8e7067c664, type: 3} + m_Name: + m_EditorClassIdentifier: + content: "\u4E2D\u56FD" + num: 02948 --- !u!1 &995089249 GameObject: m_ObjectHideFlags: 0 @@ -2951,6 +3080,85 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1070038164} m_CullTransparentMesh: 1 +--- !u!1 &1071101928 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1071101929} + - component: {fileID: 1071101931} + - component: {fileID: 1071101930} + m_Layer: 5 + m_Name: "\u53E5\u5B501" + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1071101929 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1071101928} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1701930268} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.019539753, y: 0.5} + m_AnchorMax: {x: 0.47471207, y: 0.73800004} + m_AnchoredPosition: {x: 1.6592407, y: 1.7999992} + m_SizeDelta: {x: -12, y: -10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1071101930 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1071101928} + 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: 1 + m_MinSize: 0 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &1071101931 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1071101928} + m_CullTransparentMesh: 1 --- !u!1 &1132274496 GameObject: m_ObjectHideFlags: 0 @@ -3850,8 +4058,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 0563b81dfbe815a46a07fc8e7067c664, type: 3} m_Name: m_EditorClassIdentifier: - content: "\u6211\u7231\u4F60" - num: 123 + content: "\u516B\u8DEF\u519B" + num: 864246511 --- !u!1 &1500782587 GameObject: m_ObjectHideFlags: 0 @@ -4119,7 +4327,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.030000001, y: 0.031479284} m_AnchorMax: {x: 0.52917886, y: 0.39900002} - m_AnchoredPosition: {x: 0.034118652, y: 1.5471191} + m_AnchoredPosition: {x: 0.034118652, y: 1.5471497} m_SizeDelta: {x: -6.344902, y: -5.0294952} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1647231579 @@ -4194,7 +4402,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.019539753, y: 0.6984626} m_AnchorMax: {x: 0.356, y: 0.93500006} - m_AnchoredPosition: {x: 1.2168427, y: 1.6634979} + m_AnchoredPosition: {x: 1.2168274, y: 1.6634979} m_SizeDelta: {x: -9.605, y: -15.7174} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1682759845 @@ -4269,12 +4477,14 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 1682759844} + - {fileID: 1071101929} + - {fileID: 144076821} m_Father: {fileID: 1500782588} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.52917886, y: 0.031479284} m_AnchorMax: {x: 0.99000007, y: 0.39900002} - m_AnchoredPosition: {x: -2.2779846, y: 1.7249146} + m_AnchoredPosition: {x: -2.2779846, y: 1.7249451} m_SizeDelta: {x: -11.304703, y: -4.6799927} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1701930269 @@ -5272,7 +5482,7 @@ MonoBehaviour: playerMoveSpeed: 10 playerJumpSpeed: 10 runSpeedMultiple: 1.5 - dotRoLineTime: 0.5 + dotRoLineTime: 0.2 TelephoneNeedTime: 2 bombingAreaMinimumTimeInterval: 0.5 bombingAreaMaximumTimeInterval: 2 @@ -5431,7 +5641,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.2732673, y: 0.23600002} m_AnchorMax: {x: 0.72315717, y: 0.80067426} - m_AnchoredPosition: {x: 0.5, y: -3.9999695} + m_AnchoredPosition: {x: 0.5, y: -3.9999619} m_SizeDelta: {x: -79, y: -26} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &2057909280 @@ -5613,7 +5823,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.028, y: 0.8655201} m_AnchorMax: {x: 0.2527861, y: 0.95120806} - m_AnchoredPosition: {x: 1.000061, y: -0.1533966} + m_AnchoredPosition: {x: 1.0001526, y: -0.1533966} m_SizeDelta: {x: -6.6341, y: -3.6931992} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &2083069445 diff --git a/Assets/Scripts/Father.cs b/Assets/Scripts/Father.cs index 6643acc..7b501c5 100644 --- a/Assets/Scripts/Father.cs +++ b/Assets/Scripts/Father.cs @@ -19,13 +19,13 @@ public class Father : NormalInvestableItems public override void OnCall() { - Debug.Log("我触发了和父亲的对话"); + //Debug.Log("我触发了和父亲的对话"); Flowchart.BroadcastFungusMessage("与父亲对话"); } public void OnTalkToSonEnd() { - Debug.Log("对话结束,打开电报机页面"); + //Debug.Log("对话结束,打开电报机页面"); m_interface.SetActive(true); M_Player player = FindObjectOfType(); player.catched = m_interface.GetComponent(); diff --git a/Assets/Scripts/IndexRecoder.cs b/Assets/Scripts/IndexRecoder.cs index df75cc1..0ba1663 100644 --- a/Assets/Scripts/IndexRecoder.cs +++ b/Assets/Scripts/IndexRecoder.cs @@ -38,7 +38,8 @@ public class IndexRecoder : MonoBehaviour { GameObject.DontDestroyOnLoad(gameObject); //开发者捷径 - codeBook.Add("..--.","123"); + codeBook.Add("..--.","864246511"); + codeBook.Add("--..-","02948"); // codeBook.Add(".----","1"); codeBook.Add("..---","2"); diff --git a/Assets/Scripts/Machine.cs b/Assets/Scripts/Machine.cs index 63d76ad..07c09da 100644 --- a/Assets/Scripts/Machine.cs +++ b/Assets/Scripts/Machine.cs @@ -5,18 +5,18 @@ using UnityEngine.UI; public class Machine : Interactive { - // Start is called before the first frame update - - private Text codeTextView;//电码TextView,显示目前打了打码 private IndexRecoder indexRecoder;//策划数值接口 private AllLinesInfo linesChecker;//路线信息 + [Tooltip("把这台机器需要打的句子拖进来,在:抽象的东西->句子们。没有就自己建一个,创建新物体,加上Sentence组件")] public Sentence[] sentences;//这台机器需要的句子们 private string code;//目前记录中已打的电码 private string tempTranslateResult;//临时翻译结果,一般是数字序列 + [Tooltip("机器电码打完后的事件,由于不同的机器打完后触发的东西不一样,所以用事件像拼图一样把这个函数写在外面")] public Event m_Event;//机器电码打完后的事件,由于不同的机器打完后触发的东西不一样,所以用事件像拼图一样把这个函数写在外面 - - + [Tooltip("界面展示需要打的句子的TextView数组,请把对应的显示句子的TextView们拖进来。就算后面两行不够,也直接加就行。但是要记得和sentencs数组的长度相同!")] + public Text[] sentencesTextView;//界面展示需要打的句子的TextView数组 + void Start() { codeTextView = m_interface.GetComponentInChildren(); @@ -24,17 +24,14 @@ public class Machine : Interactive linesChecker = FindObjectOfType(); } - // Update is called once per frame - void Update() - { - - } - + //电报机界面被打开的时候调用 public override void OnCall() { if(LinesCheck())//如果线路全通 { - m_interface.SetActive(true); + m_interface.SetActive(true);//把这个交互对象的界面打开,这里是电报机界面 + ShwoTheSentencesInfo();//初始化展示电报机界面的需要打的句子 + UpdateTheSentencesTextViewStates();//更新一下显示句子TextView的颜色状态 } else { @@ -42,6 +39,31 @@ public class Machine : Interactive } } + //更新界面句子们的颜色信息的函数,黄色代表该句正在打,绿色代表该句已经完成,红色代表该句等待打 + private void UpdateTheSentencesTextViewStates() + { + bool firstFlag = true;//设立一个首次标记,因为首次碰到没打完的标记为黄色,表示正在打此句 + for(int i = 0; i < sentences.Length; i++)//便利每一个句子 + { + if(sentences[i].IsThisFinished()) sentencesTextView[i].color = Color.green;//如果打完了,标记为绿色 + else if(firstFlag){sentencesTextView[i].color = Color.yellow;firstFlag = false;}//如果第一次碰到没打完的,标记为黄色,表示在打 + else sentencesTextView[i].color = Color.red;//此外代表没打的,标记为红色 + } + } + + //初始化展示电报机界面的需要打的句子的函数,一般只在电报机界面启动的时候调用一次 + private void ShwoTheSentencesInfo() + { + for(int i = 0; i < sentences.Length; i++)//便利每一个句子,把句子的内容放到对应的TextView里面 + { + sentencesTextView[i].text = //把对应textView的内容设置为 + sentences[i].content +//句子的中文加上 + "\n" +//换一行加上 + sentences[i].num;//句子对应的数字序列 + //粗鲁的写法,但是后期这个会更新,仅作debug使用 + } + } + //用来检查电话线的函数,如果电话线全通,返回true,否则返回false private bool LinesCheck() { @@ -49,7 +71,6 @@ public class Machine : Interactive else return false; } - //从Player类发消息来调用这个函数,temp为接受到的字符,可能是. || -。 public override void Coding(string temp) { @@ -67,11 +88,13 @@ public class Machine : Interactive private void CompleteChecker() { Sentence temp = null;//目前在打的句子 - foreach(Sentence i in sentences) if(!i.IsThisFinished()) temp = i;//找到最近的那个没有完成的句子,也就是目前在打的句子 + foreach(Sentence i in sentences) if(!i.IsThisFinished()) {temp = i;break;}//找到最近的那个没有完成的句子,也就是目前在打的句子 try{ if(temp.num.Equals(tempTranslateResult))//如果这个句子的数字序列等于目前翻译出来的数字序列 { temp.CompleteTheSentence();//说明这个句子完成了,修改它的标记 + UpdateTheSentencesTextViewStates();//有句子打完了,更新一下句子的颜色状态 + ClearTheInputAndTempResult();//有句子打完后,清除输入框和临时翻译结果 if(AllSentenceClearChecker()) OnAllSentenceClear();//当所有句子都打完了,触发此函数 } } @@ -122,10 +145,12 @@ public class Machine : Interactive if(hasClearer != -1) { Debug.Log("检查到特殊码,清除所有输入内容"); - tempTranslateResult = ""; - this.code = ""; + // tempTranslateResult = ""; + // this.code = ""; + ClearTheInputAndTempResult(); } } - + //清除目前输入框的内容、记录中的电码和临时翻译结果。在检查到清除特殊码和打完一句的时候调用 + private void ClearTheInputAndTempResult(){tempTranslateResult = "";code = "";} } diff --git a/Logs/ApiUpdaterCheck.txt b/Logs/ApiUpdaterCheck.txt index 8665a6e..3d66f60 100644 --- a/Logs/ApiUpdaterCheck.txt +++ b/Logs/ApiUpdaterCheck.txt @@ -338,3 +338,33 @@ C# parse time : 204ms candidates check time : 65ms console write time : 0ms +[api-updater (non-obsolete-error-filter)] 2021/7/19 23:13:14 : Starting D:/unity3.7/Unity/Editor/Data/Tools/ScriptUpdater/APIUpdater.NonObsoleteApiUpdaterDetector.exe +[api-updater (non-obsolete-error-filter)] +---------------------------------- +jit/startup time : 702.1926ms +moved types parse time: 52ms +candidates parse time : 1ms +C# parse time : 519ms +candidates check time : 32ms +console write time : 0ms + +[api-updater (non-obsolete-error-filter)] 2021/7/19 23:14:58 : Starting D:/unity3.7/Unity/Editor/Data/Tools/ScriptUpdater/APIUpdater.NonObsoleteApiUpdaterDetector.exe +[api-updater (non-obsolete-error-filter)] +---------------------------------- +jit/startup time : 67.8192ms +moved types parse time: 48ms +candidates parse time : 1ms +C# parse time : 183ms +candidates check time : 31ms +console write time : 0ms + +[api-updater (non-obsolete-error-filter)] 2021/7/19 23:16:15 : Starting D:/unity3.7/Unity/Editor/Data/Tools/ScriptUpdater/APIUpdater.NonObsoleteApiUpdaterDetector.exe +[api-updater (non-obsolete-error-filter)] +---------------------------------- +jit/startup time : 66.7961ms +moved types parse time: 49ms +candidates parse time : 1ms +C# parse time : 185ms +candidates check time : 43ms +console write time : 0ms +