diff --git a/client/Assets/Ether/Editor/Templete/TempClass.txt b/client/Assets/Ether/Editor/Templete/TempClass.txt index 439194a..f556b2e 100644 --- a/client/Assets/Ether/Editor/Templete/TempClass.txt +++ b/client/Assets/Ether/Editor/Templete/TempClass.txt @@ -7,6 +7,6 @@ namespace Ether { public class $ClassName$ : $BaseClassName$ { - $Content$ +$Content$ } } diff --git a/client/Assets/Ether/Editor/Templete/TempEnum.txt b/client/Assets/Ether/Editor/Templete/TempEnum.txt index 013e96d..2fb8de6 100644 --- a/client/Assets/Ether/Editor/Templete/TempEnum.txt +++ b/client/Assets/Ether/Editor/Templete/TempEnum.txt @@ -1,8 +1,9 @@ +using UnityEngine; namespace Ether { public enum $EnumName$ { - $Content$ +$Content$ } } diff --git a/client/Assets/Ether/Editor/Templete/TempTools.cs b/client/Assets/Ether/Editor/Templete/TempTools.cs index b75447e..d85c35a 100644 --- a/client/Assets/Ether/Editor/Templete/TempTools.cs +++ b/client/Assets/Ether/Editor/Templete/TempTools.cs @@ -10,7 +10,7 @@ namespace Ether /// /// 生成类 /// - public static void GenerateClass(string className, string baseClassName, string content, string generatePath) + public static void GenerateClassFile(string className, string baseClassName, string content, string generatePath) { string tempClassStr = FileTools.ReadFile(PathTools.TempClassPath); tempClassStr = tempClassStr.Replace("$ClassName$", className); @@ -19,5 +19,29 @@ namespace Ether FileTools.WriteFile(generatePath, tempClassStr); } + + public static void GenerateEnumFile(string enumName, Dictionary enumDic, string generatePath) + { + string tempEnumStr = FileTools.ReadFile(PathTools.TempEnumPath); + tempEnumStr = tempEnumStr.Replace("$EnumName$", enumName); + + string tempStr = ""; + foreach (var enumPair in enumDic) + { + if (!string.IsNullOrEmpty(enumPair.Value)) + { + tempStr += $"\t\t[InspectorName(\"{enumPair.Value}\")]\n"; + } + + if (!string.IsNullOrEmpty(enumPair.Key)) + { + tempStr += $"\t\t{enumPair.Key},\n"; + } + } + + tempEnumStr = tempEnumStr.Replace("$Content$", tempStr); + + FileTools.WriteFile(generatePath, tempEnumStr); + } } } diff --git a/client/Assets/Ether/Scenes/Boot.unity b/client/Assets/Ether/Scenes/Boot.unity index ed75fcb..897d324 100644 --- a/client/Assets/Ether/Scenes/Boot.unity +++ b/client/Assets/Ether/Scenes/Boot.unity @@ -127,37 +127,6 @@ GameObject: m_CorrespondingSourceObject: {fileID: 4897292196941797631, guid: 0aaca3e185238014bba82a38ce55f4fc, type: 3} m_PrefabInstance: {fileID: 549239009} m_PrefabAsset: {fileID: 0} ---- !u!1 &70178545 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 70178546} - m_Layer: 0 - m_Name: Uncheck - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &70178546 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 70178545} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &72992896 stripped GameObject: m_CorrespondingSourceObject: {fileID: 8483930609832546521, guid: 2d40455ce379bd946bbf5e5e4e71d04c, type: 3} @@ -948,73 +917,11 @@ MonoBehaviour: m_DeselectOnBackgroundClick: 1 m_PointerBehavior: 0 m_CursorLockBehavior: 0 ---- !u!1 &1303861270 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1303861271} - m_Layer: 0 - m_Name: Check - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1303861271 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1303861270} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1422880104 stripped GameObject: m_CorrespondingSourceObject: {fileID: 1723145820396879019, guid: c309ebf7d22bfc644b409dbe21ff4a7c, type: 3} m_PrefabInstance: {fileID: 757682347168729909} m_PrefabAsset: {fileID: 0} ---- !u!1 &1606414550 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1606414551} - m_Layer: 0 - m_Name: Uncheck - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1606414551 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1606414550} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1650476985 GameObject: m_ObjectHideFlags: 0 @@ -1098,7 +1005,7 @@ MonoBehaviour: openPrefabs: 0 prefabs: [] idRef: - _Keys: 5337fb48ba082f4c11da0277d9afca7edd7b5efceef80727d52bb9c665d7aa545cd63732fbb03921f9fbdfe7d589f4265fc87a4a912787717f7186df3643453fed272c5aecffe812e387642fb5503d06682bd2536d6caf50d362220ad1fe5b4de27d054df1dabd62d20890cda9a8005df33fe6687a906568ca6ddbd2ae0b197c5ea9b16d3718573dbfe00651a266c55e2199130e729def78b18c3b97fd14986685d215c868729107c05703bcb18424275266b4f8129b12635882ddde307e8172bfe80df6d1df5a4b95d8ef46b1dab61aea7cbe563ea127283a17a609b254103becde2445c0b04258583792a3187b68486828d5db4638563c3fc4b876bc06d53fc8b35ad2b5705938c69a5089cb34be4b7f115e7680cb0a4ce3b977a1034eb51fa8fc8664117feb6e01cb08d748b7900e9e1ea5806706dd7405d661b4ab5e5235590b7edfd2fb0b53c80735ccfd696e64b779c0dd0bc978512705a1c4e2c93d5fe2c181c2c64ec35d45c66a241e3041716dd34732a6b98e01cbd5afbfeb312b053d1dcbb8111980158f100aa834627e4e801055f30791b7341e456a049e475a770f909ec304057d79ada23f483cc8ca68a89fc00479e1f3312a0028a97c7a4b2a6c819aa3c3ba497973315f552eff8f180fd25cff8755fd1011962244d1d95b638f4099a91e4ca23e50fe914a6209ac2b97ebb968a060ab16c1b221ea5070373eda76fec8762d5571f49656ecf638ff62d1f6b9ba3ae62d1e6bdbc9e041900521c75371ec0be3b43a412a74090abf1f074e7ce6a54883fc0db720cbad08c94c639135b34aa9eb6d12437efc655b372853453e6e3a55a027496ae3a9ef7e20e402b5d008a7cfecc425fcf5080c775dd4384c2a712b5ae01c3bc1829056e9b44c5820c42d7dafd45d5adcc628f903af460cf08fc4576ef0a36bee44e64d5c6e3b46574f134ccfa976207934f9def7eac0113c84477978a3c70f6899906bed0ffd6d751eafac3d6d2447e85c2f5c167d9c0384d511d727c2cd05e9dd4c96c61df268c873abe96692b05757716de38c950616027318e701d9b938ecb4951bb9ba0d366ac7258a2985691686682e9830b1917de563993936da6a10468c034e026b62639dc8b2ac456fbf7723d09295f7ad97624613ff1c54476d705d14449c821b131a07cbfc67fee538755cdde99ab82be6680a5f6ae99581481c36224f312a22f407428870d44ed09b2b4b74c0765dd2b877f02ea94021220d33ece7cd246af8b57fd2f15730ba121939122e745391a4007138f8e7660277c15242bf5b938578430c391e5a3a632fb61ad82900ced1cb051b7217f8c22ab3374c83b49d7fd2ad83627cd647659343dc08bf32c2d38870dc75bb3f059c7005377919f242e732c912295962b558ec95502ec6107ea38af52b12d928c592a8e6f27e0dc07d8686c33b0b20982cea2534624f9134d75f8693ee2239cff0f5fb807f3f55334a2c17caa776b3767c0e37bf135bc67502740f93f75eafa04cb6d3460f60196c3f597e8e665a23b1ec03ef03a57a446b458e7d0cb1172ba87d767df1a36d9ae3d95b009325360fa897c07ffa4d54052d06c17461220bc94f6dbe5127015ebaf1802a8b0f6825c2ce9fd80ffe2b31d1caceff9721320657a9839a1db2693492aa1edd5882c558622b6b535eaca0471cb1fb55dd68bd17fd7eacb11eb855737eaf76d3b6eaf219fa2f7b7056b2b419b0815cd4519ebc77de1077d40bd55e63f12c1838809e9611491ef1473787b9325cfd99288f98c11f3c73436baefd5f19622eb6d67711374e186e8a32ac753f565645780e3c36d37612c802f2a5d49d477d0be409d0e3bb4bc64a0f210e8e734f4d653d0b8992aa2c5a40c4af0e44a943d142b5a19036867377d3b80ed94d987cac4c5ac0686e4215a047516fe1f3c27ea0cc50cbd9d1be1721357da3b547fa58d8415a5a9e6aac3f84ca40d887f5547d113aafa59d63567c0b719f33f09e6058b307b8ddb1e2e336e0efb9f06f1a701676046d8568ab443b97d665100adf30232a99257f3d76cb0de21a3952559af20ffe76560af31a3f08c27c45db7cd22c4021dd1a083fef53007ffe182fa6b29101b094595704ae26143d58ae6b7306af7169480d973327703234d0382ce97e8411277b7d417c980367728e4801be365469460d88fb486fa2554d7452269e75e95b2c62bc0877910b0133d9513bc0912023ebb830194c652175f3c199300f6e42648381f1f3bd803b0f48d9c3af1db83e226a8aeda95afd570c932cf20362dba53a6a12ee736e972b1ab892d073a171583b8376c6848099092dddf34a7bf7030024d6cb0047b1faff623fa7a295d00000064af80f37d21c9503852d86d9a22abb021d1b5062e1a6124b6e540b5ca7d76b2e1b3b328757beff0677b100da75263956b91b4cc203f3e35d193c3581efc6a353c357be66f733ab5e1c4aeb2fa637d5471bb516c2232d310d1f8fa193f481f63d5653181e67d25e12c6aade4dde120451127d9ca5dd65776bda4eb7986de8956554adda521fb7e048570488ce0b7eec316b0d5a8ee264e445cb84f8b58af77f22eb875f7412a88f365ee4fbe1ee4577593be82c608e0782489320889abe2abe5f7b991c7be087e114646fd00297fca81004ae0e8cdc204f0d0ba7e2f220f477765ea59aabd604874c0717c3fdd884df6a88886093c6b4c45bb6f17977952cca6f08a55b0d9d02c608355b85c45c513570884c7ba8550b3c12960a0a1a75f049331ecc0acdd62e327911bf278db968f841bf4d8ffabf8ba5451c183fb24342b85b19801c4aa39a042ec8a05db28e0e1a02e355119389252f0f591dbdc030f0901013078ccc4b04b01137a92d6b870e692f6ab708d93f674846f2d59ea253ecce47326d9f87814db7170623c932539b966786ec29e8f9694f54bf46bf21a2536422e26d7792f7ab9245eeae1ed7a4fcb9581b026aad68a74169ccc6a2e25a30e93c0b114160e092e4044de14fbc5a3a8e1644ca435d7429d6566f7f8b7effe078348d946e883e6c4446a04c3283029ce36e857a7288c964c853d0098c760c4f810caf8309cfc3ab56792cad997d645d1d4a98ef392298615c27130308122790ba14532d96ac61dfba3c394160521a423a4bb1403cef4fcffe4d679763d3485ad74f0c857c7c376f2943f5b3b21bc7fc21162c1aef78ca9d78390469aafbcc4e1806823ca06a3f4f091ba0f3ec9f7f225e1b5347730bd4414e6e0e4380a01924105865536775a348297b67b12666446ab2228de94dc0fe0a1c77a6755ed061f1675daf8e91147244ee5a6dbfbb048efc1562c8d65ca7d941dc5086f8535260f432754ac8b7b5d89daf2dd7a82dbdc52106569f0467c8b1f0c8106be28f7af19bfa7872b9443abaa07565858ad031131e8b59ffa9f1645bfa263a6e38b50af2cbc4735d59b4f4233364018e0142272096fc76911684b85569e26d2080347d14948c45c65d8d6dd37f7c3446f0f25c3c4e5a273c3e78db470c1d39c3dd2a5d011913238d8761c3088fa3129a4ffd465c3faa2e260db9520d678c45c1ab560aaae0cd5e0516eac4af1e30536699be08f129227bcd047cf12c99ce0a14a683b4e6aebd7ae4a3b58dd69121072399128c567bab688ada3da663db316a48e0d956a1e539135739254d7395a53be37514c6ac5b606605e5c23f149b21078eb4ba0a47349a08d326e28fa1f9dc0ccbfd3b1139944213808dae43dd050045181edb2750af8316f0e2662cc20ff802c2cf0a11d73340068f5976457aa9d432269da6bfd4045c7bb798052468382d3ad47a6dd7ab69cb5b551824da527fbc158075635561ac4b41ee869f95102c085c823527695bba8f465e0ab3ae9e894738240f5c22637d637fc5afe925c9364a280fc75b88a626703bc19847df76d43f042d57d0f45c4aef271678782df4c7d4228b9f7cb63d38233c461f16339470a916c5b151be74e5eb3aa4ba393fccbd2126fc0cfca62fe90f2ab9e025e1f4ea9025333bbd5b95f4ad6ea3cc576426e1e81cde1f5c7887c0e301de18b37e04d89113092d0ba01a81aa391dbc2fb6e751263255fcfc69d508ac3aa024a7efd4778b76cf42f87835c7b66e709235368eb4882223daa28b53508471468e532ab47f0a6d66564e9c6ca58c14863b08a2927fdf62deceb0f52aeaae700baa148b6f6ef70e7938631afddb717cba378d4f3ea9525b78bf8e07f80cc2215c41200f6b433e45d720a54fd113b7217a79f2f38ec9d330ba0773223a66de286ed1c4e99b4196058ceed11e38e59f39d2a75d920706af5f5941576339d09f7a65cfef3aa09aea0a1750273e3e2a4a62efead736424b5675a087a4e7ab70507b139c1eed21a6f35eb8ac4ed28eeeeb243a5060e8cc236e2307a51040a646114ff2abdda7efd63878cc7f25231d65e81d89270062be64cf5642fbba2c4143ff034116aa7dac96353293c5b2273e343f4f1f3cd7513b607353b2de17b32a1b2b04b774c76eaf8db8177b03fbfa51f49a2dc6c6cc8fa925ac21e6f52161bb7f4f1e03ce210c79e6a66ebf2e9b1f9f95b50ab83ed2b8e8d08d26534da4626ebaa6746fd65e6ec5d0ea313cb9ee438866e90a91342d0a27242d1e44be48457f877747a52cbf9ab3a615424e12d6246ac9183a6366881f61a55d49a93fb2841930b04b41a6e7b52584be15e014a7c505ad767ba60ea7e50f97a900308a0d8b0c6fd67ec221e2c3e163141902736c8650c93332515aac9c4e0dd43f8a8b7c7900b5aa3ff08288c669a111629f6f52722d54496a9a45d1f20176a046f3f4c242bc68b13bf39b370acf82ec0a8a347326357b1e76aedd2746ada665774911898664ed33036499d5b4e24f6c73beb52e8a969c562d28de1cb7bee4532ec29242bf76f5043e8550928aa329142ffc7cf00e3a548e54bc5c5e86d07b447ffe4ec2031277fc7915f43742cb0c87298d62a2c43236523fe227ec2171986043ba76e8554b787a71a28f2d16d9f60c065ab5cbde56d77a65a77e6b400ac70e2f380db2490200bd103c486e34fb31f3183ef89c42dbbbb57f108e7589acb72c7c25a800905102d16165bf51f7adaa8f3877a0e1439e80ea3951ddf265d724317c32505015b6bf576450970e4284aa712f052f091e31323e36d91d7d8e5f1f5d50a3aa7a1168eb46681cd457e4d528371bae88e84a929b3320da960b5e4ef3b13195764439c6aac92b3a10c494ae2493614f0a835f9e7bea2bae8465b761771e1a07922b1defd50b0673d613ba276b2409d0203eff29e03c0ff783f2232fe0a83d10c3b2db2e521604db50027c3573e051365b5c733fb81d6c3257656553540603ba8f7628657e4f55cd54df43c3b8ec44a6ea49630169264237ac5d1056050a1cf1fdd616875c7b087c2620e04af4974329a0a57d4c248c0c8c314b119418943d615da7f686e7273a7093212b0f15322fa7e9955af25d5507feaea1d92eb27a742fe126c2b3d4a159f2488d81562866563e8097849eeb6f58ecd72bfa2ce1195889e51444f8c9e5140fb32b3c6cb4fd5049763f1a4fd9a5798ddc05fe83b8e701e9195bed35873b6fc268f8bdb31bb55cf571774150345a3f9128845ad1f35f47c9afde3f214119299102e43777eefa6da8e7e991bb2c07412953589906e3d04f2e16f575b2abce4d5220a4912471fc3c64ba862a770a882f4e51738c2c590a79b0063398b90e3762877638145fb6fd55a7dd2eb14caea379b825027e4e54fd577f2bfc9ea542541e21a61fe5a795570539aa26bb7819164bb2362d5e9fbb80131aaa732f14011f43172b412aa495f6719fa841816935e569f6e490d4b141dd2cc3367ab0bff8fd2a7d7d2eca2202cc29c4db45dcaf129f62a1e0fd35f118af59c85f7e7ffc7c1e1f48516eb08735585623980e3901709e2b587e08dc21a4ed2bb395e93d4c0a994355122d7033ae2c27114bc44284000f2239c8cb3516cc004a800a14d9b574a00f70eb9d6e9de31940f08021fa263e6e53df14d40b2eb6384e53d5bac8a57c0246445320e13077a80560bcb8e93ebcb24e1f16e3e9f0f4fa42cd41873c3524c363c1a380b34cee7b79c51558617bdca8586f5d1400adf16e204f9df49dc52c564d20ab8b641df5f81471c9d04807848c3ddf47968b3336427bb0ef0528fbcacf23b06cdcdb239b2604d5ca15cd3aa28f431a5413311b82bc58cdb0d9d7dbf3cd1e201e14b85d641868aa71ffb9a90d3f7bcd66b4baf8c43956758cdf800624c01ba6024c3a627c19739e45f1a9b702d00801070db3114a2c4b6bd0ba54f84778388aab1db48a9d673fc6166bbb2789e26fc1a2660daeac0649faf9fa6707d64b6166e2b1f7cd04285a322e865109a79f12716f50ba50b6473feb93043d6065a90be1fad1166cefb344eb101815ad1eff2f57040a191e5ac20ad2088593680fca198e8d0e19e73d7a444259e9eae728d07161a8289676b23815a5484266925aef4f14311b813b226b6c84f0f51f1d327a49b205564b6549cd0cb9213c4f19be34192c0c845c0bba817be3b9dbbc8254215a0260f4f58eb0c915f6df786ceac69a10646fad234c6ff66ff14893d9f62c1f05a83fd80fbbbc4c353b98948c1cc26d370a90bbfc623953548b6cbe870d85dd50381a05aac059d51b38918e7c12ea4b11e7dbf73fa93f38653c17f7112a61e3034e318b6ffd06d04ebb9f33f3c8cf675f22ac6fe87d1cfa07e1a06da861c4f16775912fe15edc1412ac45830a0c449c6d5168cd282f347f301d2763dae60f57166ffe9adef6ab6a67cc3b8cc89463743036231c5e33180424b0282faae8e56e5ae1308ebb1c3e0803ff29e4da2ff93f03ff3e31273b550f1ca02eaa5248fbf30ea2e9744d47770905511e6709005c040019ded11de79e8f31746b2a87341c76309acaf36f1034d21a6013b56a66ac66089e71c5fc9ab14372223013c067032a769fa63e0ea248927bb6fd8f540b8a6538fbde173da886691786819041479281630440b29741977e69ccdbc588ebeccd173e279524d9d4c2477ff3913793722370fd06e9cbd7490358b855ffecabe3df3c43bb30b4bd367a5940e612cde871c74cd59a2652f6c42a2300791f70093d46179a9f77e3e6b1647edca52c91f5ad253fde61d4f4ba9ece59c4326a4f2f05cf1cb2d7b6bfa0e0d051f8fdbb9997bd8903dfeefd0ed8f196590c3d8f1f409ca443c7722f31d4691f2f801702043704ed37c329ad0115c7d1779e427ffd2057b06572252cb42dec55296225e8e6bdf62a6c90c8c0eeaf26011813ff6a1cebb35828334080df7e31c4302eea1a2bc2c56834556b9ee68813885dafb798c14df76540 + _Keys: 5337fb48ba082f4c11da0277d9afca7edd7b5efceef80727d52bb9c665d7aa545cd63732fbb03921f9fbdfe7d589f4265fc87a4a912787717f7186df3643453fed272c5aecffe812e387642fb5503d06682bd2536d6caf50d362220ad1fe5b4de27d054df1dabd62d20890cda9a8005df33fe6687a906568ca6ddbd2ae0b197c5ea9b16d3718573dbfe00651a266c55e2199130e729def78b18c3b97fd14986685d215c868729107c05703bcb18424275266b4f8129b12635882ddde307e8172bfe80df6d1df5a4b95d8ef46b1dab61aea7cbe563ea127283a17a609b254103becde2445c0b04258583792a3187b68486828d5db4638563c3fc4b876bc06d53fc8b35ad2b5705938c69a5089cb34be4b7f115e7680cb0a4ce3b977a1034eb51fa8fc8664117feb6e01cb08d748b7900e9e1ea5806706dd7405d661b4ab5e5235590b7edfd2fb0b53c80735ccfd696e64b779c0dd0bc978512705a1c4e2c93d5fe2c181c2c64ec35d45c66a241e3041716dd34732a6b98e01cbd5afbfeb312b053d1dcbb8111980158f100aa834627e4e801055f30791b7341e456a049e475a770f909ec304057d79ada23f483cc8ca68a89fc00479e1f3312a0028a97c7a4b2a6c819aa3c3ba497973315f552eff8f180fd25cff8755fd1011962244d1d95b638f4099a91e4ca23e50fe914a6209ac2b97ebb968a060ab16c1b221ea5070373eda76fec8762d5571f49656ecf638ff62d1f6b9ba3ae62d1e6bdbc9e041900521c75371ec0be3b43a412a74090abf1f074e7ce6a54883fc0db720cbad08c94c639135b34aa9eb6d12437efc655b372853453e6e3a55a027496ae3a9ef7e20e402b5d008a7cfecc425fcf5080c775dd4384c2a712b5ae01c3bc1829056e9b44c5820c42d7dafd45d5adcc628f903af460cf08fc4576ef0a36bee44e64d5c6e3b46574f134ccfa976207934f9def7eac0113c84477978a3c70f6899906bed0ffd6d751eafac3d6d2447e85c2f5c167d9c0384d511d727c2cd05e9dd4c96c61df268c873abe96692b05757716de38c950616027318e701d9b938ecb4951bb9ba0d366ac7258a2985691686682e9830b1917de563993936da6a10468c034e026b62639dc8b2ac456fbf7723d09295f7ad97624613ff1c54476d705d14449c821b131a07cbfc67fee538755cdde99ab82be6680a5f6ae99581481c36224f312a22f407428870d44ed09b2b4b74c0765dd2b877f02ea94021220d33ece7cd246af8b57fd2f15730ba121939122e745391a4007138f8e7660277c15242bf5b938578430c391e5a3a632fb61ad82900ced1cb051b7217f8c22ab3374c83b49d7fd2ad83627cd647659343dc08bf32c2d38870dc75bb3f059c7005377919f242e732c912295962b558ec95502ec6107ea38af52b12d928c592a8e6f27e0dc07d8686c33b0b20982cea2534624f9134d75f8693ee2239cff0f5fb807f3f55334a2c17caa776b3767c0e37bf135bc67502740f93f75eafa04cb6d3460f60196c3f597e8e665a23b1ec03ef03a57a446b458e7d0cb1172ba87d767df1a36d9ae3d95b009325360fa897c07ffa4d54052d06c17461220bc94f6dbe5127015ebaf1802a8b0f6825c2ce9fd80ffe2b31d1caceff9721320657a9839a1db2693492aa1edd5882c558622b6b535eaca0471cb1fb55dd68bd17fd7eacb11eb855737eaf76d3b6eaf219fa2f7b7056b2b419b0815cd4519ebc77de1077d40bd55e63f12c1838809e9611491ef1473787b9325cfd99288f98c11f3c73436baefd5f19622eb6d67711374e186e8a32ac753f565645780e3c36d37612c802f2a5d49d477d0be409d0e3bb4bc64a0f210e8e734f4d653d0b8992aa2c5a40c4af0e44a943d142b5a19036867377d3b80ed94d987cac4c5ac0686e4215a047516fe1f3c27ea0cc50cbd9d1be1721357da3b547fa58d8415a5a9e6aac3f84ca40d887f5547d113aafa59d63567c0b719f33f09e6058b307b8ddb1e2e336e0efb9f06f1a701676046d8568ab443b97d665100adf30232a99257f3d76cb0de21a3952559af20ffe76560af31a3f08c27c45db7cd22c4021dd1a083fef53007ffe182fa6b29101b094595704ae26143d58ae6b7306af7169480d973327703234d0382ce97e8411277b7d417c980367728e4801be365469460d88fb486fa2554d7452269e75e95b2c62bc0877910b0133d9513bc0912023ebb830194c652175f3c199300f6e42648381f1f3bd803b0f48d9c3af1db83e226a8aeda95afd570c932cf20362dba53a6a12ee736e972b1ab892d073a171583b8376c6848099092dddf34a7bf7030024d6cb0047b1faff623fa7a295d00000064af80f37d21c9503852d86d9a22abb021d1b5062e1a6124b6e540b5ca7d76b2e1b3b328757beff0677b100da75263956b91b4cc203f3e35d193c3581efc6a353c357be66f733ab5e1c4aeb2fa637d5471bb516c2232d310d1f8fa193f481f63d5653181e67d25e12c6aade4dde120451127d9ca5dd65776bda4eb7986de8956554adda521fb7e048570488ce0b7eec316b0d5a8ee264e445cb84f8b58af77f22eb875f7412a88f365ee4fbe1ee4577593be82c608e0782489320889abe2abe5f7b991c7be087e114646fd00297fca81004ae0e8cdc204f0d0ba7e2f220f477765ea59aabd604874c0717c3fdd884df6a88886093c6b4c45bb6f17977952cca6f08a55b0d9d02c608355b85c45c513570884c7ba8550b3c12960a0a1a75f049331ecc0acdd62e327911bf278db968f841bf4d8ffabf8ba5451c183fb24342b85b19801c4aa39a042ec8a05db28e0e1a02e355119389252f0f591dbdc030f0901013078ccc4b04b01137a92d6b870e692f6ab708d93f674846f2d59ea253ecce47326d9f87814db7170623c932539b966786ec29e8f9694f54bf46bf21a2536422e26d7792f7ab9245eeae1ed7a4fcb9581b026aad68a74169ccc6a2e25a30e93c0b114160e092e4044de14fbc5a3a8e1644ca435d7429d6566f7f8b7effe078348d946e883e6c4446a04c3283029ce36e857a7288c964c853d0098c760c4f810caf8309cfc3ab56792cad997d645d1d4a98ef392298615c27130308122790ba14532d96ac61dfba3c394160521a423a4bb1403cef4fcffe4d679763d3485ad74f0c857c7c376f2943f5b3b21bc7fc21162c1aef78ca9d78390469aafbcc4e1806823ca06a3f4f091ba0f3ec9f7f225e1b5347730bd4414e6e0e4380a01924105865536775a348297b67b12666446ab2228de94dc0fe0a1c77a6755ed061f1675daf8e91147244ee5a6dbfbb048efc1562c8d65ca7d941dc5086f8535260f432754ac8b7b5d89daf2dd7a82dbdc52106569f0467c8b1f0c8106be28f7af19bfa7872b9443abaa07565858ad031131e8b59ffa9f1645bfa263a6e38b50af2cbc4735d59b4f4233364018e0142272096fc76911684b85569e26d2080347d14948c45c65d8d6dd37f7c3446f0f25c3c4e5a273c3e78db470c1d39c3dd2a5d011913238d8761c3088fa3129a4ffd465c3faa2e260db9520d678c45c1ab560aaae0cd5e0516eac4af1e30536699be08f129227bcd047cf12c99ce0a14a683b4e6aebd7ae4a3b58dd69121072399128c567bab688ada3da663db316a48e0d956a1e539135739254d7395a53be37514c6ac5b606605e5c23f149b21078eb4ba0a47349a08d326e28fa1f9dc0ccbfd3b1139944213808dae43dd050045181edb2750af8316f0e2662cc20ff802c2cf0a11d73340068f5976457aa9d432269da6bfd4045c7bb798052468382d3ad47a6dd7ab69cb5b551824da527fbc158075635561ac4b41ee869f95102c085c823527695bba8f465e0ab3ae9e894738240f5c22637d637fc5afe925c9364a280fc75b88a626703bc19847df76d43f042d57d0f45c4aef271678782df4c7d4228b9f7cb63d38233c461f16339470a916c5b151be74e5eb3aa4ba393fccbd2126fc0cfca62fe90f2ab9e025e1f4ea9025333bbd5b95f4ad6ea3cc576426e1e81cde1f5c7887c0e301de18b37e04d89113092d0ba01a81aa391dbc2fb6e751263255fcfc69d508ac3aa024a7efd4778b76cf42f87835c7b66e709235368eb4882223daa28b53508471468e532ab47f0a6d66564e9c6ca58c14863b08a2927fdf62deceb0f52aeaae700baa148b6f6ef70e7938631afddb717cba378d4f3ea9525b78bf8e07f80cc2215c41200f6b433e45d720a54fd113b7217a79f2f38ec9d330ba0773223a66de286ed1c4e99b4196058ceed11e38e59f39d2a75d920706af5f5941576339d09f7a65cfef3aa09aea0a1750273e3e2a4a62efead736424b5675a087a4e7ab70507b139c1eed21a6f35eb8ac4ed28eeeeb243a5060e8cc236e2307a51040a646114ff2abdda7efd63878cc7f25231d65e81d89270062be64cf5642fbba2c4143ff034116aa7dac96353293c5b2273e343f4f1f3cd7513b607353b2de17b32a1b2b04b774c76eaf8db8177b03fbfa51f49a2dc6c6cc8fa925ac21e6f52161bb7f4f1e03ce210c79e6a66ebf2e9b1f9f95b50ab83ed2b8e8d08d26534da4626ebaa6746fd65e6ec5d0ea313cb9ee438866e90a91342d0a27242d1e44be48457f877747a52cbf9ab3a615424e12d6246ac9183a6366881f61a55d49a93fb2841930b04b41a6e7b52584be15e014a7c505ad767ba60ea7e50f97a900308a0d8b0c6fd67ec221e2c3e163141902736c8650c93332515aac9c4e0dd43f8a8b7c7900b5aa3ff08288c669a111629f6f52722d54496a9a45d1f20176a046f3f4c242bc68b13bf39b370acf82ec0a8a347326357b1e76aedd2746ada665774911898664ed33036499d5b4e24f6c73beb52e8a969c562d28de1cb7bee4532ec29242bf76f5043e8550928aa329142ffc7cf00e3a548e54bc5c5e86d07b447ffe4ec2031277fc7915f43742cb0c87298d62a2c43236523fe227ec2171986043ba76e8554b787a71a28f2d16d9f60c065ab5cbde56d77a65a77e6b400ac70e2f380db2490200bd103c486e34fb31f3183ef89c42dbbbb57f108e7589acb72c7c25a800905102d16165bf51f7adaa8f3877a0e1439e80ea3951ddf265d724317c32505015b6bf576450970e4284aa712f052f091e31323e36d91d7d8e5f1f5d50a3aa7a1168eb46681cd457e4d528371bae88e84a929b3320da960b5e4ef3b13195764439c6aac92b3a10c494ae2493614f0a835f9e7bea2bae8465b761771e1a07922b1defd50b0673d613ba276b2409d0203eff29e03c0ff783f2232fe0a83d10c3b2db2e521604db50027c3573e051365b5c733fb81d6c3257656553540603ba8f7628657e4f55cd54df43c3b8ec44a6ea49630169264237ac5d1056050a1cf1fdd616875c7b087c2620e04af4974329a0a57d4c248c0c8c314b119418943d615da7f686e7273a7093212b0f15322fa7e9955af25d5507feaea1d92eb27a742fe126c2b3d4a159f2488d81562866563e8097849eeb6f58ecd72bfa2ce1195889e51444f8c9e5140fb32b3c6cb4fd5049763f1a4fd9a5798ddc05fe83b8e701e9195bed35873b6fc268f8bdb31bb55cf571774150345a3f9128845ad1f35f47c9afde3f214119299102e43777eefa6da8e7e991bb2c07412953589906e3d04f2e16f575b2abce4d5220a4912471fc3c64ba862a770a882f4e51738c2c590a79b0063398b90e3762877638145fb6fd55a7dd2eb14caea379b825027e4e54fd577f2bfc9ea542541e21a61fe5a795570539aa26bb7819164bb2362d5e9fbb80131aaa732f14011f43172b412aa495f6719fa841816935e569f6e490d4b141dd2cc3367ab0bff8fd2a7d7d2eca2202cc29c4db45dcaf129f62a1e0fd35f118af59c85f7e7ffc7c1e1f48516eb08735585623980e3901709e2b587e08dc21a4ed2bb395e93d4c0a994355122d7033ae2c27114bc44284000f2239c8cb3516cc004a800a14d9b574a00f70eb9d6e9de31940f08021fa263e6e53df14d40b2eb6384e53d5bac8a57c0246445320e13077a80560bcb8e93ebcb24e1f16e3e9f0f4fa42cd41873c3524c363c1a380b34cee7b79c51558617bdca8586f5d1400adf16e204f9df49dc52c564d20ab8b641df5f81471c9d04807848c3ddf47968b3336427bb0ef0528fbcacf23b06cdcdb239b2604d5ca15cd3aa28f431a5413311b82bc58cdb0d9d7dbf3cd1e201e14b85d641868aa71ffb9a90d3f7bcd66b4baf8c43956758cdf800624c01ba6024c3a627c19739e45f1a9b702d00801070db3114a2c4b6bd0ba54f84778388aab1db48a9d673fc6166bbb2789e26fc1a2660daeac0649faf9fa6707d64b6166e2b1f7cd04285a322e865109a79f12716f50ba50b6473feb93043d6065a90be1fad1166cefb344eb101815ad1eff2f57040a191e5ac20ad2088593680fca198e8d0e19e73d7a444259e9eae728d07161a8289676b23815a5484266925aef4f14311b813b226b6c84f0f51f1d327a49b205564b6549cd0cb9213c4f19be34192c0c845c0bba817be3b9dbbc8254215a0260f4f58eb0c915f6df786ceac69a10646fad234c6ff66ff14893d9f62c1f05a83fd80fbbbc4c353b98948c1cc26d370a90bbfc623953548b6cbe870d85dd50381a05aac059d51b38918e7c12ea4b11e7dbf73fa93f38653c17f7112a61e3034e318b6ffd06d04ebb9f33f3c8cf675f22ac6fe87d1cfa07e1a06da861c4f16775912fe15edc1412ac45830a0c449c6d5168cd282f347f301d2763dae60f57166ffe9adef6ab6a67cc3b8cc89463743036231c5e33180424b0282faae8e56e5ae1308ebb1c3e0803ff29e4da2ff93f0319ded11de79e8f31746b2a87341c76309acaf36f1034d21a6013b56a66ac66089e71c5fc9ab14372223013c067032a769fa63e0ea248927bb6fd8f540b8a6538fbde173da886691786819041479281630440b29741977e69ccdbc588ebeccd173e279524d9d4c2477ff3913793722370fd06e9cbd7490358b855ffecabe3df3c43bb30b4bd367a5940e612cde871c74cd59a2652f6c42a2300791f70093d46179a9f77e3e6b1647edca52c91f5ad253fb2d7b6bfa0e0d051f8fdbb9997bd8903dfeefd0ed8f196590c3d8f1f409ca443c7722f31d4691f2f3c56a87c0010076cee9bdda18caf3170c57f718b721ab368a7523339f26fa4788673faf0a647ac11bb49755ceb58aa10db1cef6628bf3b2ad17b0827619f551f9f95c90e90e5c77944fc92ab05f7ba3ed9a8307b02d460548d028d799fb6a200f5a05a25d962413d5ce59283aaa5bf40038a3485fa1c6f723bb3b2137d0a1812fa5a6ffe300065513bc9252c87f6242458e0fa03e32e7575909382f5f4670875fdb4871802dc38020f793e3bbd63054572714463efebd1331b059163818fa22cc0af283b7d3d273519fcf36aef39b72c72c3999953939a11e353fefc4ad580611b6a7a0e3ac9c7519a7a7decdf3b235343410e410af72754b7c5e12fc4dc7f1083aab17b41560e3b7515ff26ea51cd59d055c0731c3d93244326c400abf71543fb6d69348aa81265b0b6330a08ff95086cc4ffe6630dd33fc12a4198e4f0197effbc2157bb02e479682622d3719e2c4244336b1808d02007bf57094b1654b5602f4ef53bdf123c6ae0867d3dea00cd22030123e7a4cd7930dc289764f8986213903d5cdc570f9d5671d5f98f4e5df2407718b1e88762fb02c7255fb77ad87147246acc285caa790c9b3288312b161e3ae62725eeb5b5642c425aa47c6e54d1488a96252d99bdcb7526dd1b6f2bd61446da537ed4d7c7c610c49eace82da7a17ffbc5e0363cb7602525f3502cfee2bc6d1ec003982b8d0c79238ed806c629ba27692d0f9d88344a5f45417ae8ce793608c5e1bdf30f11775ed6d7466d48908244ea9d8af62c915f073b2f320b2dea2f6339f4c98d71719279d37732fa7d99fd7efa527c1204447226bbdaae09a5e9cb791a49949127347b39967143da3848c814ef6cfd6b9ec0ec7c67f0494b209b1e15acb913c72e8ea62fcdb6a775874c5e035e3c08ee19c8e858a2e8d5c814d0e605532d86f15c8f437dedd3c6ab989dfb4cb0b2111c6dcf04745f93dab94722e403cfa1c8b5d350603206742413706c0f041476e79e40366722ce046c364a76ca0fb7cadbf6d446786052de16f8abf104355c20592ec5b93d05f81418311cd6187056eba45a6fe7d05ad957464164d3745a83f476e49b4d05451a1d1e32146fbc45c297acc6a29ef30fe05dc9cf8acaa9341cbecdd33846310a01c1b0a0b466f56965fe7f32d852471bff983b07e82b301cc8521656a1e80c7b9a5d3a1f12aca547aecd9574b589a46e06e9d2d18139f32b0d33269daf60384d0bfa977a182709520d0b4b493f5b2e3eaea850b8153bf92bb099ee217af8680e06e380b0211e862d0dda3b891156136961644b57b1f063471cfc2c268cf260708e827bdf893f72034b4483f5f460286d273052294d9d772b599b2fb707d1b837adea73980d148609adbd9bd79b109e44d4be4dbc4589bd0ff4af7912ef44041d04445e202b3f8511ab487c8f029f8f48feea8bc61e747d36577c73427167060e3d472ba94e82e614bda19971f9b2ee6b3fc10fd9d0ca3c71c82878a7b3c78311508bcd49ca38967f2e60f68224f4c3096bdf02b0572d3e730ab97076fa8ec70be277de921a5b5e78578faa6fd4ba4d44ec821392ca34687dcb415484a90c7a5f99ea9fac1631ee10808a58c782ce9f506c2c627ca159d516e05b5c5cafe22164f7f52916e55fd11d8edcedab73cf00671f5a0f2a9108fe3feb7633452a6d9f62980c4188084ac933fd7feec56c29a3115bf43c54d3f6d300f4692b6e2c8cf2037c4f437f11886f69dcbcd3eee5c62c13e6ba5fe0560cca71e142949e1e5b07758f0eb7e31adcff2d7b2dd06f363e192cc3e7ab19142da66f7b2da0ace2f1777fb65d5fd70f49f93dba8c5b83dc3aa75ed7979ef9f9df75444bd99713c3acb5764aaf452721bde30ce1e85e88d122924a2a017c85708e866b2c5cdc161ff3fe0ed6e4382df4803c19 _Values: - {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} - {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} @@ -1707,10 +1614,6 @@ MonoBehaviour: - {fileID: 2800000, guid: 5b0b1db0603cf934fab7383b38107712, type: 3} - {fileID: 21300000, guid: 5b0b1db0603cf934fab7383b38107712, type: 3} - {fileID: 8042267208723585926, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} - - {fileID: 70178546} - - {fileID: 70178545} - - {fileID: 1303861270} - - {fileID: 1303861271} - {fileID: 776226781440644138, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} - {fileID: 8841272054739042360, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} - {fileID: 5211158822168324289, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} @@ -1733,24 +1636,181 @@ MonoBehaviour: - {fileID: 4966303923125748504, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} - {fileID: 1651226042617246323, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} - {fileID: 4431744563231483228, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} - - {fileID: 1606414550} - - {fileID: 1606414551} - {fileID: 7941304454539263227, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} - {fileID: 6335513921232513948, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} - {fileID: 1957605835872329156, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} - {fileID: 11500000, guid: 83f44a559a9879f48abe0162699d6146, type: 3} - {fileID: 4111409519959746326, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} - - {fileID: 5793711128634142249, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} - - {fileID: 9206649669487513533, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} - - {fileID: 1001653368291028997, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} - - {fileID: 7196990561367637077, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} - - {fileID: 4622360754705878264, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} - - {fileID: 1207183724413101412, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} - - {fileID: 6258152587286048305, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} - - {fileID: 4695825395638409235, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} - - {fileID: 2330524592243825879, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} - - {fileID: 7722849624459301383, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} - - {fileID: 2667610521149865342, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 2289553584697906517, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 3824708841163197221, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 21300000, guid: b20ab92904c7605478743f16cdd54500, type: 3} + - {fileID: 2800000, guid: b20ab92904c7605478743f16cdd54500, type: 3} + - {fileID: 3366050138167754333, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 5788320016106659673, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 5544556404155375292, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 4649607750757167494, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 6184012809692606835, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 7655195614524074247, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 3275513267773138537, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 5936013443052884429, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 2800000, guid: aae08e7fc19ffb046bdc32afed5c468b, type: 3} + - {fileID: 21300000, guid: aae08e7fc19ffb046bdc32afed5c468b, type: 3} + - {fileID: 2466426789705932308, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 6301251127550222973, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 2644023876004315339, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 1280446161460539860, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 7339097017671506390, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 2461141912175791536, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 3685118926066499949, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 5385335557934465088, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 1883454914557382762, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 3233542328605742364, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 5111489288327170477, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 7460697725030303105, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 2793218184218696567, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 6070843321065252126, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 4700966127608595310, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 2697101105684846221, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 8127394580607041811, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 21300000, guid: dd905cfc2420c504994e10b4502791dc, type: 3} + - {fileID: 2800000, guid: dd905cfc2420c504994e10b4502791dc, type: 3} + - {fileID: 1224543844214838235, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 1325131763052834030, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 4131024078243930997, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 7035034931721354435, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 3496629670349174564, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 8526715589527298148, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 5391431106954952482, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 7529733216744189276, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 5004670696991971508, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 7458841275410948523, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 3062484938780762898, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 609712125936312366, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 6154130454263330260, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 8206551556187366676, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 1143446948810301339, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 1188396889083975406, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 6647288519567646153, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 2800000, guid: b1ea8fff0ee53ae4baaf0970f61c8c1d, type: 3} + - {fileID: 21300000, guid: b1ea8fff0ee53ae4baaf0970f61c8c1d, type: 3} + - {fileID: 2800000, guid: a6f2508ff005a984cbc1ca3ed0362a70, type: 3} + - {fileID: 21300000, guid: a6f2508ff005a984cbc1ca3ed0362a70, type: 3} + - {fileID: 21300000, guid: 64fc16423ab757a4da1ef6f67c61e191, type: 3} + - {fileID: 2800000, guid: 64fc16423ab757a4da1ef6f67c61e191, type: 3} + - {fileID: 2331803270165469024, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 7950445974498217668, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 7053921361221250769, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 548253692574099277, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 21300000, guid: 214f41b248f709e4ebc1dc7fd5c9460a, type: 3} + - {fileID: 2800000, guid: 214f41b248f709e4ebc1dc7fd5c9460a, type: 3} + - {fileID: 346869833920602124, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 8536614199222823909, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 1019363689544529853, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 3254895379459727536, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 8521619064694242888, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 6368652208434420549, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 7412375596863370807, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 424738415138635292, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 5326883722096717770, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 204349577325352971, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 1341200469444389779, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 8384199458120114232, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 9017265794609276800, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 5930375337731294118, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 7782029965571767631, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 4640541479469513416, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 8524798113292897973, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 8126661139092819967, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 8279203716437967185, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 3578319388558542388, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 2800538318600498274, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 822632601448180851, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 7904151973841275321, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 2334897891438638555, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 5873339947884958654, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 2074666360467873985, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 4919958703550693418, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 8563682248808403023, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 6298816134514750498, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 2800000, guid: 4ad08473cbc47ca4caa1b10119d3342b, type: 3} + - {fileID: 21300000, guid: 4ad08473cbc47ca4caa1b10119d3342b, type: 3} + - {fileID: 21300000, guid: 666a557f92691054aa4fa0e98a7c618d, type: 3} + - {fileID: 2800000, guid: 666a557f92691054aa4fa0e98a7c618d, type: 3} + - {fileID: 3928762939968341866, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 4570757734970195912, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 3112139512594926156, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 3187218800442558151, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 1601817406285238631, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 6567085890569903560, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 2985130360383750327, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 5647003120866721050, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 8612210443115342994, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 2712864666326909937, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 7030399252112255971, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 8830443017783811718, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 9211803627888145626, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 5535996125278986946, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 3448926841688282184, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 5877730638168963960, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 7423585945644218693, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 1029512954199606445, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 3047386291152484315, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 3513569949802576097, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 3276334185361905658, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 4321769885748212242, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 321788535846887604, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 5558310613646650125, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 5468798396325812847, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 5012521585385968375, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 6429090383343315294, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 382187036202357600, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 6946353371790138833, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 4288109046102056049, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 6054993957003158286, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 4444194563551742298, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 6390183707181043554, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 5228756598790818659, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 7633729791139992407, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 8263276961431011707, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 1935087181817325074, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 5605398111796371039, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 3541504251217765809, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 2421802453382945987, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 8907670354114719537, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 6977304220410855937, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 4837264931328317084, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 3911028280243329517, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 1306353185049365465, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 3942095437930816416, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 2373241999167341155, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 3664218951122117618, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 8332172731154890169, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 1734780671630794133, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 8379307487765459758, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 9031186486804533321, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 6735919628088743347, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 4452367582629715575, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 1962563189307637076, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 6226336087143530218, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 2815895699106122927, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 6643647968231947815, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 3145971547463777162, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 9219202854868698332, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 2075544939249419810, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 2916672320942600372, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 6785331938431025434, guid: e579b2d5fb2cb1e44823098701b8ecc6, type: 3} + - {fileID: 2800000, guid: fc1c9b543681fc5499442168e5c91c3d, type: 3} + - {fileID: 21300000, guid: fc1c9b543681fc5499442168e5c91c3d, type: 3} + - {fileID: 2800000, guid: 212335a9a797766449bca39f48110873, type: 3} + - {fileID: 21300000, guid: 212335a9a797766449bca39f48110873, type: 3} + - {fileID: 2800000, guid: a609a826657379445882641cb267d231, type: 3} + - {fileID: 21300000, guid: a609a826657379445882641cb267d231, type: 3} + - {fileID: 2800000, guid: 6cbee9562b4e2c34e9d8fa657346b3b4, type: 3} + - {fileID: 21300000, guid: 6cbee9562b4e2c34e9d8fa657346b3b4, type: 3} + - {fileID: 21300000, guid: 28963370917af454c8cf737489b3a43f, type: 3} + - {fileID: 2800000, guid: 28963370917af454c8cf737489b3a43f, type: 3} + - {fileID: 2800000, guid: cf4cce3e4a3fe614782fc2bd16dc4bb4, type: 3} + - {fileID: 21300000, guid: cf4cce3e4a3fe614782fc2bd16dc4bb4, type: 3} --- !u!4 &1650476989 Transform: m_ObjectHideFlags: 0 @@ -2139,6 +2199,3 @@ SceneRoots: - {fileID: 5978091752429385269} - {fileID: 549239009} - {fileID: 1650476989} - - {fileID: 1606414551} - - {fileID: 1303861271} - - {fileID: 70178546} diff --git a/client/Assets/Ether/Scripts/Module/Input/Editor/EtherInputEditorWindow.cs b/client/Assets/Ether/Scripts/Module/Input/Editor/EtherInputEditorWindow.cs new file mode 100644 index 0000000..a5c0e72 --- /dev/null +++ b/client/Assets/Ether/Scripts/Module/Input/Editor/EtherInputEditorWindow.cs @@ -0,0 +1,26 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +namespace Ether +{ + public class EtherInputEditorWindow : OdinWindowBase + { + [MenuItem("配置/输入系统 &i")] + private static void OpenWindow() + { + var window = GetWindow(); + window.titleContent = new GUIContent("输入系统"); + } + + + protected override void OnInit() + { + DrawSearchToolbar = true; + AddSubWindow("按键配置"); + AddSubWindow("事件配置"); + } + } +} + diff --git a/client/Assets/Ether/Scripts/Module/Input/Editor/EtherInputEditorWindow.cs.meta b/client/Assets/Ether/Scripts/Module/Input/Editor/EtherInputEditorWindow.cs.meta new file mode 100644 index 0000000..f94debc --- /dev/null +++ b/client/Assets/Ether/Scripts/Module/Input/Editor/EtherInputEditorWindow.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9042b72ad83509647bfcde195f516cd0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/client/Assets/Ether/Scripts/Module/Input/Editor/EtherInputEventEditorWindow.cs b/client/Assets/Ether/Scripts/Module/Input/Editor/EtherInputEventEditorWindow.cs new file mode 100644 index 0000000..0b181f9 --- /dev/null +++ b/client/Assets/Ether/Scripts/Module/Input/Editor/EtherInputEventEditorWindow.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using Sirenix.OdinInspector; +using UnityEditor; +using UnityEngine; + +namespace Ether +{ + public class EtherInputEventEditorWindow : OdinSubWindowBase + { + [LabelText("事件列表"), TableList(ShowIndexLabels = true, AlwaysExpanded = true)] + public List eventList = new List(); + + public override void OnShow() + { + eventList.Clear(); + + string[] allName = CommonTools.GetAllEnumName(); + + InspectorNameAttribute[] allAttributeValue = CommonTools.GetEnumFieldAllAttribute(); + + for (int i = 0; i < allName.Length; i++) + { + string desc = allAttributeValue[i] == null ? "" : allAttributeValue[i].displayName; + eventList.Add(new EtherInputEventEditorItem() + { + name = allName[i], + desc = desc + }); + } + + } + + protected override void OnSave() + { + Dictionary eventDic = new Dictionary(); + foreach (var eventItem in eventList) + { + eventDic.TryAdd(eventItem.name, eventItem.desc); + } + TempTools.GenerateEnumFile("EtherInputEvent", eventDic, PathTools.EtherInputEventPath); + AssetDatabase.Refresh(); + } + + [Serializable] + public class EtherInputEventEditorItem + { + [VerticalGroup("事件名"), HideLabel] + public string name; + [VerticalGroup("事件描述"), HideLabel] + public string desc; + } + } + +} + diff --git a/client/Assets/Ether/Scripts/Module/Input/Editor/EtherInputEventEditorWindow.cs.meta b/client/Assets/Ether/Scripts/Module/Input/Editor/EtherInputEventEditorWindow.cs.meta new file mode 100644 index 0000000..e95fd7b --- /dev/null +++ b/client/Assets/Ether/Scripts/Module/Input/Editor/EtherInputEventEditorWindow.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9d21b0f6fd9c9e3438c8ef157fd7f861 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/client/Assets/Ether/Scripts/Module/Input/Editor/EtherInputKeyEditorWindow.cs b/client/Assets/Ether/Scripts/Module/Input/Editor/EtherInputKeyEditorWindow.cs new file mode 100644 index 0000000..08d3d7c --- /dev/null +++ b/client/Assets/Ether/Scripts/Module/Input/Editor/EtherInputKeyEditorWindow.cs @@ -0,0 +1,39 @@ +using System.Collections; +using System.Collections.Generic; +using Sirenix.OdinInspector; +using UnityEngine; + +namespace Ether +{ + public class EtherInputKeyEditorWindow : OdinSubWindowBase + { + [BoxGroup(Order = -1), HideLabel, EnumToggleButtons] + public DeviceType deviceType; + + [LabelText("键盘按键列表"), ShowIf("deviceType", DeviceType.Keyboard), TableList(ShowIndexLabels = true, AlwaysExpanded = true)] + public List keyboardCfgList = new List(); + + [LabelText("手柄按键列表"), ShowIf("deviceType", DeviceType.Joystick), TableList(ShowIndexLabels = true, AlwaysExpanded = true)] + public List joystickCfgList = new List(); + + public override void OnShow() + { + keyboardCfgList.Clear(); + joystickCfgList.Clear(); + if (FileTools.ReadFileForJson(PathTools.EtherInputCfgDefaultPath, out Dictionary> keyListDic)) + { + keyListDic.TryGetValue(DeviceType.Keyboard, out keyboardCfgList); + keyListDic.TryGetValue(DeviceType.Joystick, out joystickCfgList); + } + } + + protected override void OnSave() + { + Dictionary> keyListDic = new(); + keyListDic.Add(DeviceType.Keyboard, keyboardCfgList); + keyListDic.Add(DeviceType.Joystick, joystickCfgList); + FileTools.WriteFileForJson(PathTools.EtherInputCfgDefaultPath, keyListDic, isFormat: true); + } + } +} + diff --git a/client/Assets/Ether/Scripts/Module/Input/Editor/EtherInputKeyEditorWindow.cs.meta b/client/Assets/Ether/Scripts/Module/Input/Editor/EtherInputKeyEditorWindow.cs.meta new file mode 100644 index 0000000..96dd6e2 --- /dev/null +++ b/client/Assets/Ether/Scripts/Module/Input/Editor/EtherInputKeyEditorWindow.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9cd6d9bd67f54d34b8688ad6ae85d957 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/client/Assets/Ether/Scripts/Module/Input/Editor/ReInputEditorWindow.cs b/client/Assets/Ether/Scripts/Module/Input/Editor/ReInputEditorWindow.cs index 2c6f7fc..62b3a75 100644 --- a/client/Assets/Ether/Scripts/Module/Input/Editor/ReInputEditorWindow.cs +++ b/client/Assets/Ether/Scripts/Module/Input/Editor/ReInputEditorWindow.cs @@ -15,7 +15,7 @@ namespace Ether { public class ReInputEditorWindow : OdinMenuEditorWindow { - [MenuItem("配置/输入系统")] + [MenuItem("配置/老版输入系统")] private static void OpenWindow() { var window = GetWindow(); @@ -265,7 +265,7 @@ namespace Ether string saveContent = eventStr.Replace("%content%", tempStr); - FileTools.WriteFile(PathTools.ReInputEventCfgPath, saveContent); + //FileTools.WriteFile(PathTools.ReInputEventCfgPath, saveContent); } @@ -328,7 +328,7 @@ namespace Ether KeyboardDeviceList = new List(); JoystickDeviceList = new List(); - if (FileTools.ReadFileForJson(PathTools.ReInputCfgPath, out Dictionary> rekeyListDic)) + if (FileTools.ReadFileForJson(PathTools.EtherInputCfgDefaultPath, out Dictionary> rekeyListDic)) { if (rekeyListDic.ContainsKey(ReDeviceType.Keyboard)) { @@ -384,7 +384,7 @@ namespace Ether window.ShowNotification(new GUIContent("已重置当前设置!")); - if (FileTools.ReadFileForJson(PathTools.ReInputCfgPath, out Dictionary> rekeyListDic)) + if (FileTools.ReadFileForJson(PathTools.EtherInputCfgDefaultPath, out Dictionary> rekeyListDic)) { switch (ReDeviceType) { @@ -476,7 +476,7 @@ namespace Ether break; } - if (FileTools.ReadFileForJson(PathTools.ReInputCfgPath, out Dictionary> rekeyListDic)) + if (FileTools.ReadFileForJson(PathTools.EtherInputCfgDefaultPath, out Dictionary> rekeyListDic)) { switch (deviceType) { @@ -551,7 +551,7 @@ namespace Ether break; } - if (FileTools.ReadFileForJson(PathTools.ReInputCfgPath, out Dictionary> rekeyListDic)) + if (FileTools.ReadFileForJson(PathTools.EtherInputCfgDefaultPath, out Dictionary> rekeyListDic)) { switch (deviceType) { @@ -576,7 +576,7 @@ namespace Ether saveDeviceCfgDic.Add(ReDeviceType.Joystick, joystickKeyList); - FileTools.WriteFileForJson(PathTools.ReInputCfgPath, saveDeviceCfgDic, false, true); + FileTools.WriteFileForJson(PathTools.EtherInputCfgDefaultPath, saveDeviceCfgDic, false, true); } } diff --git a/client/Assets/Ether/Scripts/Module/Input/EtherInputEvent.cs b/client/Assets/Ether/Scripts/Module/Input/EtherInputEvent.cs new file mode 100644 index 0000000..f32afe9 --- /dev/null +++ b/client/Assets/Ether/Scripts/Module/Input/EtherInputEvent.cs @@ -0,0 +1,27 @@ +using UnityEngine; + +namespace Ether +{ + public enum EtherInputEvent + { + [InspectorName("上")] + Up, + [InspectorName("下")] + Down, + [InspectorName("左")] + Left, + [InspectorName("右")] + Right, + [InspectorName("菜单")] + Menu, + [InspectorName("退出")] + Esc, + [InspectorName("交互1")] + Interaction1, + [InspectorName("交互2")] + Interaction2, + [InspectorName("交互3")] + Interaction3, + + } +} diff --git a/client/Assets/Ether/Scripts/Module/Input/EtherInputEvent.cs.meta b/client/Assets/Ether/Scripts/Module/Input/EtherInputEvent.cs.meta new file mode 100644 index 0000000..4d4c396 --- /dev/null +++ b/client/Assets/Ether/Scripts/Module/Input/EtherInputEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b50603c11c1736e44b27c994283801fd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/client/Assets/Ether/Scripts/Module/Input/EtherInputKeyCfg.cs b/client/Assets/Ether/Scripts/Module/Input/EtherInputKeyCfg.cs new file mode 100644 index 0000000..e486a52 --- /dev/null +++ b/client/Assets/Ether/Scripts/Module/Input/EtherInputKeyCfg.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using Sirenix.OdinInspector; +using UnityEngine; +using UnityEngine.Serialization; + +namespace Ether +{ + [Serializable] + public class EtherInputKeyCfg + { + [VerticalGroup("键"), HideLabel] + public KeyCode KeyCode; + [VerticalGroup("键类型"), HideLabel] + public EtherInputKeyType KeyType; + [VerticalGroup("键描述"), HideLabel] + public string KeyDescription; + [VerticalGroup("绑定事件")] + [LabelText("事件列表")] + public List EventList = new List(); + [VerticalGroup("排序"), HideLabel, ShowIf("KeyType", EtherInputKeyType.Interaction)] + public int SortIndex; + } + + [Serializable] + public enum EtherInputKeyType + { + [InspectorName("动作")] + Action = 0, + [InspectorName("交互")] + Interaction = 1, + } + + public enum DeviceType + { + [InspectorName("键盘")] + Keyboard = 0, + [InspectorName("手柄")] + Joystick = 1, + } + +} + diff --git a/client/Assets/Ether/Scripts/Module/Input/EtherInputKeyCfg.cs.meta b/client/Assets/Ether/Scripts/Module/Input/EtherInputKeyCfg.cs.meta new file mode 100644 index 0000000..2779a88 --- /dev/null +++ b/client/Assets/Ether/Scripts/Module/Input/EtherInputKeyCfg.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c7ce5123c3cae8742bba4a0d801c4cad +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/client/Assets/Ether/Scripts/Module/Input/ReInput/ReInputEvent.cs b/client/Assets/Ether/Scripts/Module/Input/ReInput/ReInputEvent.cs index afbe8ad..6e9ad9e 100644 --- a/client/Assets/Ether/Scripts/Module/Input/ReInput/ReInputEvent.cs +++ b/client/Assets/Ether/Scripts/Module/Input/ReInput/ReInputEvent.cs @@ -1,11 +1,11 @@ -using System.ComponentModel; +using UnityEngine; namespace Ether { public enum ReInputEvent { - [Description("移动")] + [InspectorName("移动")] Move, } } \ No newline at end of file diff --git a/client/Assets/Ether/Scripts/Module/Input/ReInput/ReInputManager.cs b/client/Assets/Ether/Scripts/Module/Input/ReInput/ReInputManager.cs index cbf363d..2f3c4da 100644 --- a/client/Assets/Ether/Scripts/Module/Input/ReInput/ReInputManager.cs +++ b/client/Assets/Ether/Scripts/Module/Input/ReInput/ReInputManager.cs @@ -7,12 +7,6 @@ using UnityEngine.InputSystem; namespace Ether { - public enum DeviceType - { - Keyboard, - Gamepad, - } - public class ReInputManager : SingletonAutoMono { ReInputActions inputActions; diff --git a/client/Assets/Ether/Editor/Frames.meta b/client/Assets/Ether/Scripts/Module/UI/Editor.meta similarity index 77% rename from client/Assets/Ether/Editor/Frames.meta rename to client/Assets/Ether/Scripts/Module/UI/Editor.meta index ba511c7..665ef3f 100644 --- a/client/Assets/Ether/Editor/Frames.meta +++ b/client/Assets/Ether/Scripts/Module/UI/Editor.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 727ef86d82981b645809f394db91d417 +guid: 9004ae0a1e4c14e4aadb9e0d30ba3fc3 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/client/Assets/Ether/Editor/Frames/FrameBaseTemplete.txt b/client/Assets/Ether/Scripts/Module/UI/Editor/FrameBaseTemplete.txt similarity index 100% rename from client/Assets/Ether/Editor/Frames/FrameBaseTemplete.txt rename to client/Assets/Ether/Scripts/Module/UI/Editor/FrameBaseTemplete.txt diff --git a/client/Assets/Ether/Editor/Frames/FrameBaseTemplete.txt.meta b/client/Assets/Ether/Scripts/Module/UI/Editor/FrameBaseTemplete.txt.meta similarity index 100% rename from client/Assets/Ether/Editor/Frames/FrameBaseTemplete.txt.meta rename to client/Assets/Ether/Scripts/Module/UI/Editor/FrameBaseTemplete.txt.meta diff --git a/client/Assets/Ether/Editor/Frames/FrameCodeGenerate.cs b/client/Assets/Ether/Scripts/Module/UI/Editor/FrameCodeGenerate.cs similarity index 53% rename from client/Assets/Ether/Editor/Frames/FrameCodeGenerate.cs rename to client/Assets/Ether/Scripts/Module/UI/Editor/FrameCodeGenerate.cs index d4b9216..b3789d3 100644 --- a/client/Assets/Ether/Editor/Frames/FrameCodeGenerate.cs +++ b/client/Assets/Ether/Scripts/Module/UI/Editor/FrameCodeGenerate.cs @@ -22,7 +22,7 @@ namespace Ether { public class FrameCodeGenerate { - private static string templeteBaseFileName = Application.dataPath + $"/Ether/Editor/Frames/FrameBaseTemplete.txt"; + private static string templeteBaseFileName = Application.dataPath + $"/Ether/Scripts/Module/UI/Editor/FrameBaseTemplete.txt"; public static string GenerateFrameBaseCode(string prefabPath, string baseDirectoryPath, Dictionary componentTypeDic) { @@ -168,147 +168,5 @@ namespace Ether return code; } - - //=================================== 以下是老代码 ========================================= - //public enum ComponentType - //{ - // Image, - // Go, - // Btn, - // BtnEx, - // Text, - // SRContent, - // ScrollRect, - // Animator, - // Trans, - //} - - //private static Dictionary relationDic = new Dictionary() - //{ - // { ComponentType.Image, "Image" }, - // { ComponentType.Go, "GameObject" }, - // { ComponentType.Trans, "Transform" }, - // { ComponentType.Btn, "Button" }, - // { ComponentType.BtnEx, "ButtonEx" }, - // { ComponentType.Text, "TextMeshProUGUI" }, - // { ComponentType.SRContent, "ScrollContent" }, - // { ComponentType.ScrollRect, "ScrollRect" }, - // { ComponentType.Animator, "Animator" }, - //}; - - //private static string templeteFileName = Application.dataPath + $"/Ether/Editor/Frames/FrameBaseTemplete.txt"; - - ///// - ///// 生成FrameBase - ///// - ///// - //private static void GenerateFrameBase(GameObject selectedPrefab, Dictionary)> componentDic) - //{ - // string selectPath = AssetDatabase.GetAssetPath(selectedPrefab); - // string framePart = "Prefabs"; - - // int selectIndex = selectPath.IndexOf(framePart); - // string framePrefabPath = selectPath.Substring(selectIndex).Replace(".prefab", ""); - - // Debug.Log($"selectPath:{selectPath}"); - - // string frameTemplete = FileTools.ReadFile(templeteFileName); - - // Debug.Log(frameTemplete); - - // (string, string) generateComponentCode = GenerateComponentCodeStr(componentDic); - - // string pattern = @"\$(.*?)\$"; - - // MatchCollection matches = Regex.Matches(frameTemplete, pattern); - - // foreach (Match match in matches) - // { - // string property = match.Groups[0].Value; //带$的原字符串 - // string content = match.Groups[1].Value; //仅两个$中的内容 - - // string replaceStr = ""; - - // switch (content) - // { - // case "FrameBaseName": - // replaceStr = $"{selectedPrefab.name}Base"; - // break; - // case "PrefabPath": - // replaceStr = framePrefabPath; - // break; - // case "PropertyList": - // replaceStr = generateComponentCode.Item1; - // break; - // case "PropertyInitList": - // replaceStr = generateComponentCode.Item2; - // break; - // default: - // break; - // } - - // //Debug.Log(content); - - // frameTemplete = frameTemplete.Replace(property, replaceStr); - // } - - // string basePath = Application.dataPath + $"/Scripts/AutoGenerated/FrameBase/{selectedPrefab.name}Base.cs"; - - // if (File.Exists(basePath)) File.Delete(basePath); - - // FileTools.WriteFile(basePath, frameTemplete); - - // AssetDatabase.Refresh(); - // return; - - //} - - //private static (string, string) GenerateComponentCodeStr(Dictionary)> componentDic) - //{ - // string define = ""; - // string code = ""; - - // string name = ""; - // foreach (var component in componentDic) - // { - // name = component.Value.Item1; - - // foreach (var type in component.Value.Item2) - // { - // string tempType; - // if (relationDic.ContainsKey(type)) - // { - // tempType = relationDic[type]; - // } - // else - // { - // tempType = type.ToString(); - // } - // define += $"protected {tempType} _{type}{name};\n\t\t"; - // code += GetCodeByComponentType(type, tempType, name, component.Key); - // } - // } - - // return (define, code); - //} - - //private static string GetCodeByComponentType(ComponentType type, string componentName, string name, string path) - //{ - // string code = ""; - // switch (type) - // { - // case ComponentType.Go: - // code = $"_{type}{name} = GetChild(\"{path}\").gameObject;\n\t\t\t"; - // break; - // case ComponentType.Image: - // case ComponentType.Btn: - // case ComponentType.BtnEx: - // case ComponentType.Text: - // default: - // code = $"_{type}{name} = GetComponent<{componentName}>(\"{path}\");\n\t\t\t"; - // break; - // } - // return code; - //} } } diff --git a/client/Assets/Ether/Editor/Frames/FrameCodeGenerate.cs.meta b/client/Assets/Ether/Scripts/Module/UI/Editor/FrameCodeGenerate.cs.meta similarity index 100% rename from client/Assets/Ether/Editor/Frames/FrameCodeGenerate.cs.meta rename to client/Assets/Ether/Scripts/Module/UI/Editor/FrameCodeGenerate.cs.meta diff --git a/client/Assets/Ether/Scripts/Module/UI/Editor/FrameEditor.asmref b/client/Assets/Ether/Scripts/Module/UI/Editor/FrameEditor.asmref new file mode 100644 index 0000000..ce75cfa --- /dev/null +++ b/client/Assets/Ether/Scripts/Module/UI/Editor/FrameEditor.asmref @@ -0,0 +1,3 @@ +{ + "reference": "GUID:2f716c3cfa97f8d4bb5abb0809a10755" +} \ No newline at end of file diff --git a/client/Assets/Ether/Editor/Input.meta b/client/Assets/Ether/Scripts/Module/UI/Editor/FrameEditor.asmref.meta similarity index 56% rename from client/Assets/Ether/Editor/Input.meta rename to client/Assets/Ether/Scripts/Module/UI/Editor/FrameEditor.asmref.meta index 1c800dc..3e77754 100644 --- a/client/Assets/Ether/Editor/Input.meta +++ b/client/Assets/Ether/Scripts/Module/UI/Editor/FrameEditor.asmref.meta @@ -1,7 +1,6 @@ fileFormatVersion: 2 -guid: 3949494a94dc80b44a7cf3ce7f78f4cf -folderAsset: yes -DefaultImporter: +guid: 16e101f9b4f56e046a139bb2305927b2 +AssemblyDefinitionReferenceImporter: externalObjects: {} userData: assetBundleName: diff --git a/client/Assets/Ether/Editor/Frames/FrameEditor.cs b/client/Assets/Ether/Scripts/Module/UI/Editor/FrameEditor.cs similarity index 100% rename from client/Assets/Ether/Editor/Frames/FrameEditor.cs rename to client/Assets/Ether/Scripts/Module/UI/Editor/FrameEditor.cs diff --git a/client/Assets/Ether/Editor/Frames/FrameEditor.cs.meta b/client/Assets/Ether/Scripts/Module/UI/Editor/FrameEditor.cs.meta similarity index 100% rename from client/Assets/Ether/Editor/Frames/FrameEditor.cs.meta rename to client/Assets/Ether/Scripts/Module/UI/Editor/FrameEditor.cs.meta diff --git a/client/Assets/Ether/Editor/Frames/FrameEditorCfg.json b/client/Assets/Ether/Scripts/Module/UI/Editor/FrameEditorCfg.json similarity index 100% rename from client/Assets/Ether/Editor/Frames/FrameEditorCfg.json rename to client/Assets/Ether/Scripts/Module/UI/Editor/FrameEditorCfg.json diff --git a/client/Assets/Ether/Editor/Frames/FrameEditorCfg.json.meta b/client/Assets/Ether/Scripts/Module/UI/Editor/FrameEditorCfg.json.meta similarity index 100% rename from client/Assets/Ether/Editor/Frames/FrameEditorCfg.json.meta rename to client/Assets/Ether/Scripts/Module/UI/Editor/FrameEditorCfg.json.meta diff --git a/client/Assets/Ether/Editor/Frames/FrameEditorWindow.cs b/client/Assets/Ether/Scripts/Module/UI/Editor/FrameEditorWindow.cs similarity index 96% rename from client/Assets/Ether/Editor/Frames/FrameEditorWindow.cs rename to client/Assets/Ether/Scripts/Module/UI/Editor/FrameEditorWindow.cs index c07cdd2..45ebf82 100644 --- a/client/Assets/Ether/Editor/Frames/FrameEditorWindow.cs +++ b/client/Assets/Ether/Scripts/Module/UI/Editor/FrameEditorWindow.cs @@ -16,11 +16,11 @@ namespace Ether public class FrameEditorWindow : OdinEditorWindow { - private static string templeteFramePrefabPath = Application.dataPath + $"/Ether/Editor/Frames/TempFrame.prefab"; //预制体模板路径 + private static string templeteFramePrefabPath = Application.dataPath + $"/Ether/Scripts/Module/UI/Editor/TempFrame.prefab"; //预制体模板路径 static FrameEditorWindow window; - [MenuItem("工具/界面/UI界面设置 %/")] + [MenuItem("配置/界面/UI界面设置 &f")] //[Shortcut("打开全局配置", KeyCode.F1)] private static void OpenWindow() { @@ -137,7 +137,7 @@ namespace Ether { Directory.CreateDirectory(directoryPath); } - TempTools.GenerateClass(createFrameName, $"{createFrameName}Base", "", framePath); + TempTools.GenerateClassFile(createFrameName, $"{createFrameName}Base", "", framePath); } diff --git a/client/Assets/Ether/Editor/Frames/FrameEditorWindow.cs.meta b/client/Assets/Ether/Scripts/Module/UI/Editor/FrameEditorWindow.cs.meta similarity index 100% rename from client/Assets/Ether/Editor/Frames/FrameEditorWindow.cs.meta rename to client/Assets/Ether/Scripts/Module/UI/Editor/FrameEditorWindow.cs.meta diff --git a/client/Assets/Ether/Editor/Frames/TempFrame.prefab b/client/Assets/Ether/Scripts/Module/UI/Editor/TempFrame.prefab similarity index 100% rename from client/Assets/Ether/Editor/Frames/TempFrame.prefab rename to client/Assets/Ether/Scripts/Module/UI/Editor/TempFrame.prefab diff --git a/client/Assets/Ether/Editor/Frames/TempFrame.prefab.meta b/client/Assets/Ether/Scripts/Module/UI/Editor/TempFrame.prefab.meta similarity index 100% rename from client/Assets/Ether/Editor/Frames/TempFrame.prefab.meta rename to client/Assets/Ether/Scripts/Module/UI/Editor/TempFrame.prefab.meta diff --git a/client/Assets/Ether/Scripts/Tools/Path/PathTools.cs b/client/Assets/Ether/Scripts/Tools/Path/PathTools.cs index 3fae202..c1f1977 100644 --- a/client/Assets/Ether/Scripts/Tools/Path/PathTools.cs +++ b/client/Assets/Ether/Scripts/Tools/Path/PathTools.cs @@ -15,16 +15,16 @@ namespace Ether public static string ReInputCfgPersistentPath = Application.persistentDataPath + "/Config/Input/ReInputConfig.json"; - public static string ReInputCfgPath = Application.streamingAssetsPath + "/Config/Input/ReInputConfig.json"; - public static string ReInputEventCfgPath = Application.dataPath + "/Ether/Scripts/Module/Input/ReInput/ReInputEvent.cs"; + public static string EtherInputCfgDefaultPath = Application.streamingAssetsPath + "/Config/Input/ReInputConfig.json"; + public static string EtherInputEventPath = Application.dataPath + "/Ether/Scripts/Module/Input/EtherInputEvent.cs"; public static string SceneAudioCfg = Application.streamingAssetsPath + "/Config/Audio/SceneAudioCfg.json"; public static string TempEnumPath = Application.dataPath + "/Ether/Editor/Templete/TempEnum.txt"; public static string TempClassPath = Application.dataPath + "/Ether/Editor/Templete/TempClass.txt"; - public static string FrameEditorCfgPath = Application.dataPath + $"/Ether/Editor/Frames/FrameEditorCfg.json"; + public static string FrameEditorCfgPath = Application.dataPath + $"/Ether/Scripts/Module/UI/Editor/FrameEditorCfg.json"; diff --git a/client/Assets/Scripts/Config/Global/Editor/GlobalWindow.cs b/client/Assets/Scripts/Config/Global/Editor/GlobalWindow.cs index 8ac132b..632c5f2 100644 --- a/client/Assets/Scripts/Config/Global/Editor/GlobalWindow.cs +++ b/client/Assets/Scripts/Config/Global/Editor/GlobalWindow.cs @@ -18,8 +18,8 @@ namespace Ether { public class GlobalWindow : OdinMenuEditorWindow { - [MenuItem("配置/全局配置")] - [Shortcut("打开全局配置", KeyCode.F1)] + [MenuItem("配置/全局配置 &1")] + //[Shortcut("打开全局配置", KeyCode.F1)] private static void OpenWindow() { var window = GetWindow(); diff --git a/client/Assets/Scripts/Config/Table/Editor/TableEditorWindow.cs b/client/Assets/Scripts/Config/Table/Editor/TableEditorWindow.cs index aee1f2f..fa5c3bd 100644 --- a/client/Assets/Scripts/Config/Table/Editor/TableEditorWindow.cs +++ b/client/Assets/Scripts/Config/Table/Editor/TableEditorWindow.cs @@ -8,7 +8,7 @@ namespace Ether { public class TableEditorWindow : OdinWindowBase { - [MenuItem("配置/表格配置 %t")] + [MenuItem("配置/表格配置 &t")] private static void OpenWindow() { var window = GetWindow(); diff --git a/client/Assets/StreamingAssets/Config/Input/ReInputConfig.json b/client/Assets/StreamingAssets/Config/Input/ReInputConfig.json index 6f2a481..81562cf 100644 --- a/client/Assets/StreamingAssets/Config/Input/ReInputConfig.json +++ b/client/Assets/StreamingAssets/Config/Input/ReInputConfig.json @@ -4,50 +4,74 @@ "KeyCode": 119, "KeyType": 0, "KeyDescription": "上", - "Event": 0, + "EventList": [ + 0 + ], "SortIndex": 0 }, { "KeyCode": 115, "KeyType": 0, "KeyDescription": "下", - "Event": 1, + "EventList": [ + 1 + ], "SortIndex": 0 }, { "KeyCode": 97, "KeyType": 0, "KeyDescription": "左", - "Event": 2, + "EventList": [ + 2 + ], "SortIndex": 0 }, { "KeyCode": 100, "KeyType": 0, "KeyDescription": "右", - "Event": 3, + "EventList": [ + 3 + ], "SortIndex": 0 }, { "KeyCode": 102, "KeyType": 1, "KeyDescription": "交互按键1", - "Event": 0, + "EventList": [ + 6 + ], "SortIndex": 0 }, { "KeyCode": 103, "KeyType": 1, "KeyDescription": "交互按键2", - "Event": 0, + "EventList": [ + 7 + ], "SortIndex": 1 }, { "KeyCode": 104, "KeyType": 1, "KeyDescription": "交互按键3", - "Event": 0, + "EventList": [ + 8 + ], "SortIndex": 2 + }, + { + "KeyCode": 27, + "KeyType": 0, + "KeyDescription": "菜单/退出", + "EventList": [ + 4, + 5 + ], + "SortIndex": 0 } ], "Joystick": [ @@ -55,7 +79,7 @@ "KeyCode": 0, "KeyType": 0, "KeyDescription": null, - "Event": 0, + "EventList": [], "SortIndex": 0 } ]