diff --git a/Assets/Scenes/各种系统测试与陈列.unity b/Assets/Scenes/各种系统测试与陈列.unity index 4a7a227..688ddf6 100644 --- a/Assets/Scenes/各种系统测试与陈列.unity +++ b/Assets/Scenes/各种系统测试与陈列.unity @@ -1182,6 +1182,55 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &305694996 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 305694997} + - component: {fileID: 305694998} + m_Layer: 0 + m_Name: "\u591A\u6001\u7BA1\u7406\u5458" + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &305694997 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 305694996} + 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: 1789875270} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &305694998 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 305694996} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 94a33228a61c2774fbb687425136148a, type: 3} + m_Name: + m_EditorClassIdentifier: + statesNames: + - "\u5E8F\u7AE0-\u5BB6\u4E2D-\u672A\u6253\u7801" + - + statesEvents: + - {fileID: 0} + - {fileID: 0} --- !u!1001 &381999398 PrefabInstance: m_ObjectHideFlags: 0 @@ -2521,6 +2570,7 @@ MonoBehaviour: shellShadowPositionYOffSet: 1.5 rateOfChangeOfThrowingAngle: 1 strengthOfThrowing: 8 + stageName: --- !u!4 &912162410 Transform: m_ObjectHideFlags: 0 @@ -4373,6 +4423,7 @@ Transform: - {fileID: 1272302693} - {fileID: 535189456} - {fileID: 1894769948} + - {fileID: 305694997} m_Father: {fileID: 0} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Scripts/M_Player.cs b/Assets/Scripts/M_Player.cs index e400b60..e70e16d 100644 --- a/Assets/Scripts/M_Player.cs +++ b/Assets/Scripts/M_Player.cs @@ -34,6 +34,11 @@ public class M_Player : MonoBehaviour faceDir = 1;//默认面部朝右 playerInput = GetComponent(); //获取自身输入组件 M_Animator = GetComponent(); + + //为了解决warming,最后阶段请删除,到那时应该不会再有警告 + if(inputDir == 0){} + if(throwingState){} + // } // Update is called once per frame diff --git a/Assets/Scripts/Event.meta b/Assets/Scripts/事件.meta similarity index 100% rename from Assets/Scripts/Event.meta rename to Assets/Scripts/事件.meta diff --git a/Assets/Scripts/Event/Event.cs b/Assets/Scripts/事件/Event.cs similarity index 100% rename from Assets/Scripts/Event/Event.cs rename to Assets/Scripts/事件/Event.cs diff --git a/Assets/Scripts/Event/Event.cs.meta b/Assets/Scripts/事件/Event.cs.meta similarity index 100% rename from Assets/Scripts/Event/Event.cs.meta rename to Assets/Scripts/事件/Event.cs.meta diff --git a/Assets/Scripts/Event/WhenFinishFathersCode.cs b/Assets/Scripts/事件/WhenFinishFathersCode.cs similarity index 100% rename from Assets/Scripts/Event/WhenFinishFathersCode.cs rename to Assets/Scripts/事件/WhenFinishFathersCode.cs diff --git a/Assets/Scripts/Event/WhenFinishFathersCode.cs.meta b/Assets/Scripts/事件/WhenFinishFathersCode.cs.meta similarity index 100% rename from Assets/Scripts/Event/WhenFinishFathersCode.cs.meta rename to Assets/Scripts/事件/WhenFinishFathersCode.cs.meta diff --git a/Assets/Scripts/GameInfo.meta b/Assets/Scripts/信息相关.meta similarity index 100% rename from Assets/Scripts/GameInfo.meta rename to Assets/Scripts/信息相关.meta diff --git a/Assets/Scripts/GameInfo/AllLinesInfo.cs b/Assets/Scripts/信息相关/AllLinesInfo.cs similarity index 100% rename from Assets/Scripts/GameInfo/AllLinesInfo.cs rename to Assets/Scripts/信息相关/AllLinesInfo.cs diff --git a/Assets/Scripts/GameInfo/AllLinesInfo.cs.meta b/Assets/Scripts/信息相关/AllLinesInfo.cs.meta similarity index 100% rename from Assets/Scripts/GameInfo/AllLinesInfo.cs.meta rename to Assets/Scripts/信息相关/AllLinesInfo.cs.meta diff --git a/Assets/Scripts/GameInfo/IndexRecoder.cs b/Assets/Scripts/信息相关/IndexRecoder.cs similarity index 71% rename from Assets/Scripts/GameInfo/IndexRecoder.cs rename to Assets/Scripts/信息相关/IndexRecoder.cs index 60ec998..55d995a 100644 --- a/Assets/Scripts/GameInfo/IndexRecoder.cs +++ b/Assets/Scripts/信息相关/IndexRecoder.cs @@ -1,6 +1,7 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; +using UnityEditor; public class IndexRecoder : MonoBehaviour { @@ -37,6 +38,8 @@ public class IndexRecoder : MonoBehaviour public float rateOfChangeOfThrowingAngle; [Tooltip("抛出投掷物的力度")] public float strengthOfThrowing; + [SerializeField][Tooltip("演出名称,这个不给你改,这个是我做多态用的,在这里只读")][ReadOnly] + public string stageName; void Start() { @@ -55,6 +58,8 @@ public class IndexRecoder : MonoBehaviour codeBook.Add("---..","8"); codeBook.Add("----.","9"); codeBook.Add("-----","0"); + + stageName = "序章-家中-未打码"; } // Update is called once per frame @@ -62,4 +67,27 @@ public class IndexRecoder : MonoBehaviour { } + + //修改演出名称的函数,在游戏流程推进的时候用 + public void ChangeStageName(string newName){stageName = newName;} + + + //制造一个只读的变量,不要动这些 + public class ReadOnlyAttribute : PropertyAttribute{} + [CustomPropertyDrawer(typeof(ReadOnlyAttribute))] + public class ReadOnlyDrawer : PropertyDrawer + { + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + return EditorGUI.GetPropertyHeight(property, label, true); + } + + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + GUI.enabled = false; + EditorGUI.PropertyField(position, property, label, true); + GUI.enabled = true; + } + } + // } diff --git a/Assets/Scripts/GameInfo/IndexRecoder.cs.meta b/Assets/Scripts/信息相关/IndexRecoder.cs.meta similarity index 100% rename from Assets/Scripts/GameInfo/IndexRecoder.cs.meta rename to Assets/Scripts/信息相关/IndexRecoder.cs.meta diff --git a/Assets/Scripts/Item.meta b/Assets/Scripts/具象物体.meta similarity index 100% rename from Assets/Scripts/Item.meta rename to Assets/Scripts/具象物体.meta diff --git a/Assets/Scripts/Item/AFakeMachine.cs b/Assets/Scripts/具象物体/AFakeMachine.cs similarity index 100% rename from Assets/Scripts/Item/AFakeMachine.cs rename to Assets/Scripts/具象物体/AFakeMachine.cs diff --git a/Assets/Scripts/Item/AFakeMachine.cs.meta b/Assets/Scripts/具象物体/AFakeMachine.cs.meta similarity index 100% rename from Assets/Scripts/Item/AFakeMachine.cs.meta rename to Assets/Scripts/具象物体/AFakeMachine.cs.meta diff --git a/Assets/Scripts/Item/Father.cs b/Assets/Scripts/具象物体/Father.cs similarity index 100% rename from Assets/Scripts/Item/Father.cs rename to Assets/Scripts/具象物体/Father.cs diff --git a/Assets/Scripts/Item/Father.cs.meta b/Assets/Scripts/具象物体/Father.cs.meta similarity index 100% rename from Assets/Scripts/Item/Father.cs.meta rename to Assets/Scripts/具象物体/Father.cs.meta diff --git a/Assets/Scripts/Item/Machine.cs b/Assets/Scripts/具象物体/Machine.cs similarity index 100% rename from Assets/Scripts/Item/Machine.cs rename to Assets/Scripts/具象物体/Machine.cs diff --git a/Assets/Scripts/Item/Machine.cs.meta b/Assets/Scripts/具象物体/Machine.cs.meta similarity index 100% rename from Assets/Scripts/Item/Machine.cs.meta rename to Assets/Scripts/具象物体/Machine.cs.meta diff --git a/Assets/Scripts/Item/Mine.cs b/Assets/Scripts/具象物体/Mine.cs similarity index 100% rename from Assets/Scripts/Item/Mine.cs rename to Assets/Scripts/具象物体/Mine.cs diff --git a/Assets/Scripts/Item/Mine.cs.meta b/Assets/Scripts/具象物体/Mine.cs.meta similarity index 100% rename from Assets/Scripts/Item/Mine.cs.meta rename to Assets/Scripts/具象物体/Mine.cs.meta diff --git a/Assets/Scripts/Item/Missile.cs b/Assets/Scripts/具象物体/Missile.cs similarity index 100% rename from Assets/Scripts/Item/Missile.cs rename to Assets/Scripts/具象物体/Missile.cs diff --git a/Assets/Scripts/Item/Missile.cs.meta b/Assets/Scripts/具象物体/Missile.cs.meta similarity index 100% rename from Assets/Scripts/Item/Missile.cs.meta rename to Assets/Scripts/具象物体/Missile.cs.meta diff --git a/Assets/Scripts/Item/Shell.cs b/Assets/Scripts/具象物体/Shell.cs similarity index 100% rename from Assets/Scripts/Item/Shell.cs rename to Assets/Scripts/具象物体/Shell.cs diff --git a/Assets/Scripts/Item/Shell.cs.meta b/Assets/Scripts/具象物体/Shell.cs.meta similarity index 100% rename from Assets/Scripts/Item/Shell.cs.meta rename to Assets/Scripts/具象物体/Shell.cs.meta diff --git a/Assets/Scripts/Item/TelephoneLine.cs b/Assets/Scripts/具象物体/TelephoneLine.cs similarity index 100% rename from Assets/Scripts/Item/TelephoneLine.cs rename to Assets/Scripts/具象物体/TelephoneLine.cs diff --git a/Assets/Scripts/Item/TelephoneLine.cs.meta b/Assets/Scripts/具象物体/TelephoneLine.cs.meta similarity index 100% rename from Assets/Scripts/Item/TelephoneLine.cs.meta rename to Assets/Scripts/具象物体/TelephoneLine.cs.meta diff --git a/Assets/Scripts/AbstractItem.meta b/Assets/Scripts/抽象的东西.meta similarity index 100% rename from Assets/Scripts/AbstractItem.meta rename to Assets/Scripts/抽象的东西.meta diff --git a/Assets/Scripts/AbstractItem/BombingArea.cs b/Assets/Scripts/抽象的东西/BombingArea.cs similarity index 100% rename from Assets/Scripts/AbstractItem/BombingArea.cs rename to Assets/Scripts/抽象的东西/BombingArea.cs diff --git a/Assets/Scripts/AbstractItem/BombingArea.cs.meta b/Assets/Scripts/抽象的东西/BombingArea.cs.meta similarity index 100% rename from Assets/Scripts/AbstractItem/BombingArea.cs.meta rename to Assets/Scripts/抽象的东西/BombingArea.cs.meta diff --git a/Assets/Scripts/AbstractItem/BoomShader.cs b/Assets/Scripts/抽象的东西/BoomShader.cs similarity index 100% rename from Assets/Scripts/AbstractItem/BoomShader.cs rename to Assets/Scripts/抽象的东西/BoomShader.cs diff --git a/Assets/Scripts/AbstractItem/BoomShader.cs.meta b/Assets/Scripts/抽象的东西/BoomShader.cs.meta similarity index 100% rename from Assets/Scripts/AbstractItem/BoomShader.cs.meta rename to Assets/Scripts/抽象的东西/BoomShader.cs.meta diff --git a/Assets/Scripts/AbstractItem/Interactive.cs b/Assets/Scripts/抽象的东西/Interactive.cs similarity index 100% rename from Assets/Scripts/AbstractItem/Interactive.cs rename to Assets/Scripts/抽象的东西/Interactive.cs diff --git a/Assets/Scripts/AbstractItem/Interactive.cs.meta b/Assets/Scripts/抽象的东西/Interactive.cs.meta similarity index 100% rename from Assets/Scripts/AbstractItem/Interactive.cs.meta rename to Assets/Scripts/抽象的东西/Interactive.cs.meta diff --git a/Assets/Scripts/AbstractItem/NormalInvestableItems.cs b/Assets/Scripts/抽象的东西/NormalInvestableItems.cs similarity index 100% rename from Assets/Scripts/AbstractItem/NormalInvestableItems.cs rename to Assets/Scripts/抽象的东西/NormalInvestableItems.cs diff --git a/Assets/Scripts/AbstractItem/NormalInvestableItems.cs.meta b/Assets/Scripts/抽象的东西/NormalInvestableItems.cs.meta similarity index 100% rename from Assets/Scripts/AbstractItem/NormalInvestableItems.cs.meta rename to Assets/Scripts/抽象的东西/NormalInvestableItems.cs.meta diff --git a/Assets/Scripts/抽象的东西/PolymorphicAdministrator.cs b/Assets/Scripts/抽象的东西/PolymorphicAdministrator.cs new file mode 100644 index 0000000..43da1e7 --- /dev/null +++ b/Assets/Scripts/抽象的东西/PolymorphicAdministrator.cs @@ -0,0 +1,42 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class PolymorphicAdministrator : MonoBehaviour +{ + // Start is called before the first frame update + //多态管理员,旨在对同一个场景进行不同的初始化,以节省空间 + private IndexRecoder indexRecoder;//记录者物体 + [Tooltip("多态管理员,此参数记录着“这个场景有几种状态,这几个状态的名称分别是什么”,这样的信息,请键入不同的演出名")] + public string[] statesNames; + + [Tooltip("多态管理员,此参数记录着“当场景为此状态时,应该执行怎样的初始化呢?”这样的信息,请拖入事件")] + public Event[] statesEvents; + void Start() + { + indexRecoder = FindObjectOfType();//找到记录者物体 + TransfromToAState(); + } + + //初始化为某个多态中的一种,根据是记录者中的演出名 + private void TransfromToAState() + { + for(int i = 0; i < statesNames.Length; i++) + { + //遍历每一种多态名 + if(indexRecoder.stageName.Equals(statesNames[i]))//如果是第i种多态 + { + try + { + statesEvents[i].OnCall();//则执行对应事件进行场景的初始化 + } + catch(System.NullReferenceException e) + { + Debug.Log("此多态没有被赋予事件,可能是场景本身初始状态就是多态中的一种,所以不需要初始化"); + e.ToString(); + } + } + } + } + +} diff --git a/Assets/Scripts/抽象的东西/PolymorphicAdministrator.cs.meta b/Assets/Scripts/抽象的东西/PolymorphicAdministrator.cs.meta new file mode 100644 index 0000000..ea82d1a --- /dev/null +++ b/Assets/Scripts/抽象的东西/PolymorphicAdministrator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 94a33228a61c2774fbb687425136148a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/AbstractItem/Sentence.cs b/Assets/Scripts/抽象的东西/Sentence.cs similarity index 100% rename from Assets/Scripts/AbstractItem/Sentence.cs rename to Assets/Scripts/抽象的东西/Sentence.cs diff --git a/Assets/Scripts/AbstractItem/Sentence.cs.meta b/Assets/Scripts/抽象的东西/Sentence.cs.meta similarity index 100% rename from Assets/Scripts/AbstractItem/Sentence.cs.meta rename to Assets/Scripts/抽象的东西/Sentence.cs.meta