From d3b676df06541cfd324e94d72b92b77f213799ff Mon Sep 17 00:00:00 2001 From: AbstractConcept Date: Sat, 24 Sep 2022 02:17:40 -0500 Subject: [PATCH] Race customization and data saving --- .vs/RimWorld-Animation-Studio/v16/.suo | Bin 671232 -> 677888 bytes Assembly-CSharp.csproj | 8 +- Assets/ActorManipulator.cs | 28 + Assets/ActorManipulator.cs.meta | 11 + Assets/Resources/Prefabs/ActorBody.prefab | 291 +- .../Resources/Prefabs/KeyframeSlider.prefab | 2 +- .../Resources/Prefabs/RaceDialogPrefabs.meta | 8 + .../RaceDialogPrefabs/GraphicPath.prefab | 278 ++ .../RaceDialogPrefabs/GraphicPath.prefab.meta | 7 + .../RaceDialogPrefabs/HeadOffset.prefab | 704 +++ .../RaceDialogPrefabs/HeadOffset.prefab.meta | 7 + .../RaceDialogPrefabs/SectionTitleText.prefab | 80 + .../SectionTitleText.prefab.meta | 7 + .../Prefabs/RaceDialogPrefabs/Spacer.prefab | 46 + .../RaceDialogPrefabs/Spacer.prefab.meta | 7 + Assets/Resources/Textures/Humanlike.meta | 2 +- .../Humanlike/Appendages/Appendage3.png | Bin 0 -> 10502 bytes .../Humanlike/Appendages/Appendage3.png.meta | 116 + Assets/Scenes/SampleScene.unity | 3867 ++++++++++++++++- Assets/Scripts/AnimationComponents/Actor.cs | 19 +- .../AnimationComponents/AlienRaceDef.cs | 210 + .../AnimationComponents/AlienRaceDef.cs.meta | 11 + .../AnimationComponents/AlienRaceOffset.cs | 5 +- .../MultiDirectionalGraphic.cs | 25 + .../MultiDirectionalGraphic.cs.meta | 11 + Assets/Scripts/DirectionalGraphic.cs | 14 + Assets/Scripts/DirectionalGraphic.cs.meta | 11 + Assets/Scripts/GUI/ActorBody.cs | 4 +- Assets/Scripts/GUI/ActorBodyPart.cs | 2 +- Assets/Scripts/GUI/ActorCard.cs | 67 +- Assets/Scripts/GUI/DialogBoxes/DialogBox.cs | 12 + .../GUI/DialogBoxes/RaceSettingsDialog.cs | 127 + ...log.cs.meta => RaceSettingsDialog.cs.meta} | 0 .../GUI/DialogBoxes/SelectActorLayerDialog.cs | 5 - .../DialogBoxes/SelectBodyDefTypesDialog.cs | 2 +- .../GUI/DialogBoxes/SelectBodyPartsDialog.cs | 2 +- .../GUI/DialogBoxes/SelectDefNamesDialog.cs | 4 +- .../GUI/DialogBoxes/SelectRaceDialog.cs | 59 - .../GUI/DialogBoxes/SelectSexTypesDialog.cs | 2 +- .../GUI/DialogBoxes/SelectSoundDefDialog.cs | 2 +- .../Scripts/Managers/AnimationController.cs | 24 +- Assets/Scripts/Managers/ApplicationManager.cs | 52 +- Assets/Scripts/Math/Constants/Constants.cs | 52 +- Assets/Scripts/Math/Constants/Enums.cs | 7 + Assets/Scripts/Utilities/PawnUtility.cs | 15 +- Assets/Scripts/Workspace/Workspace.cs | 2 - Assets/SelectRaceDropdown.cs | 58 + Assets/SelectRaceDropdown.cs.meta | 11 + Assets/StreamingAssets/Textures.meta | 8 + Assets/StreamingAssets/Textures/Animals.meta | 8 + .../Textures/Animals/Horse.meta | 8 + .../Textures/Animals/Horse/Horse_east.png | Bin 0 -> 13505 bytes .../Animals/Horse/Horse_east.png.meta | 7 + .../Textures/Animals/Horse/Horse_north.png | Bin 0 -> 10065 bytes .../Animals/Horse/Horse_north.png.meta | 7 + .../Textures/Animals/Horse/Horse_south.png | Bin 0 -> 9230 bytes .../Animals/Horse/Horse_south.png.meta | 7 + .../Textures/Animals/Wolf_Timber.meta | 8 + .../Animals/Wolf_Timber/Wolf_Timber_east.png | Bin 0 -> 4912 bytes .../Wolf_Timber/Wolf_Timber_east.png.meta | 7 + .../Animals/Wolf_Timber/Wolf_Timber_north.png | Bin 0 -> 4552 bytes .../Wolf_Timber/Wolf_Timber_north.png.meta | 7 + .../Animals/Wolf_Timber/Wolf_Timber_south.png | Bin 0 -> 4749 bytes .../Wolf_Timber/Wolf_Timber_south.png.meta | 7 + .../StreamingAssets/Textures/Humanlike.meta | 8 + .../Textures/Humanlike/Bodies.meta | 0 .../Textures/Humanlike/Bodies/Fat0.png | Bin .../Textures/Humanlike/Bodies/Fat0.png.meta | 0 .../Textures/Humanlike/Bodies/Fat1.png | Bin .../Textures/Humanlike/Bodies/Fat1.png.meta | 0 .../Textures/Humanlike/Bodies/Fat2.png | Bin .../Textures/Humanlike/Bodies/Fat2.png.meta | 0 .../Textures/Humanlike/Bodies/Fat3.png | Bin .../Textures/Humanlike/Bodies/Fat3.png.meta | 0 .../Textures/Humanlike/Bodies/Female0.png | Bin .../Humanlike/Bodies/Female0.png.meta | 0 .../Textures/Humanlike/Bodies/Female1.png | Bin .../Humanlike/Bodies/Female1.png.meta | 0 .../Textures/Humanlike/Bodies/Female2.png | Bin .../Humanlike/Bodies/Female2.png.meta | 0 .../Textures/Humanlike/Bodies/Female3.png | Bin .../Humanlike/Bodies/Female3.png.meta | 0 .../Textures/Humanlike/Bodies/Hulk0.png | Bin .../Textures/Humanlike/Bodies/Hulk0.png.meta | 0 .../Textures/Humanlike/Bodies/Hulk1.png | Bin .../Textures/Humanlike/Bodies/Hulk1.png.meta | 0 .../Textures/Humanlike/Bodies/Hulk2.png | Bin .../Textures/Humanlike/Bodies/Hulk2.png.meta | 0 .../Textures/Humanlike/Bodies/Hulk3.png | Bin .../Textures/Humanlike/Bodies/Hulk3.png.meta | 0 .../Textures/Humanlike/Bodies/Male0.png | Bin .../Textures/Humanlike/Bodies/Male0.png.meta | 0 .../Textures/Humanlike/Bodies/Male1.png | Bin .../Textures/Humanlike/Bodies/Male1.png.meta | 0 .../Textures/Humanlike/Bodies/Male2.png | Bin .../Textures/Humanlike/Bodies/Male2.png.meta | 0 .../Textures/Humanlike/Bodies/Male3.png | Bin .../Textures/Humanlike/Bodies/Male3.png.meta | 0 .../Textures/Humanlike/Bodies/Thin0.png | Bin .../Textures/Humanlike/Bodies/Thin0.png.meta | 0 .../Textures/Humanlike/Bodies/Thin1.png | Bin .../Textures/Humanlike/Bodies/Thin1.png.meta | 0 .../Textures/Humanlike/Bodies/Thin2.png | Bin .../Textures/Humanlike/Bodies/Thin2.png.meta | 0 .../Textures/Humanlike/Bodies/Thin3.png | Bin .../Textures/Humanlike/Bodies/Thin3.png.meta | 0 .../Textures/Humanlike/Heads.meta | 0 .../Textures/Humanlike/Heads/Head0.png | Bin .../Textures/Humanlike/Heads/Head0.png.meta | 0 .../Textures/Humanlike/Heads/Head1.png | Bin .../Textures/Humanlike/Heads/Head1.png.meta | 0 .../Textures/Humanlike/Heads/Head2.png | Bin .../Textures/Humanlike/Heads/Head2.png.meta | 0 .../Textures/Humanlike/Heads/Head3.png | Bin .../Textures/Humanlike/Heads/Head3.png.meta | 0 Assets/StreamingAssets/alienRaceDefs.xml | 185 + Assets/StreamingAssets/alienRaceDefs.xml.meta | 7 + Assets/StreamingAssets/customTags.xml | 3 +- Library/ArtifactDB | Bin 16777216 -> 16777216 bytes .../01/012c70898d26e51d8972dae298d64eb1 | Bin 0 -> 4229 bytes .../01/01563130c6268eddc34fbd092deeb726 | Bin 8296 -> 0 bytes .../05/0542e8ad2a440aa5dbbb2876fb213c60 | Bin 0 -> 3146 bytes .../06/0600a652ce5d5b4b3d178867081f67e5 | Bin 7892 -> 0 bytes .../0617ba2793c9e3b31390d5066a1ebff7} | Bin 9080 -> 9096 bytes .../07/072f563f61b203d6f8b7d08fc39b452b | Bin 0 -> 4225 bytes .../09/09422755819f7acee09b75874499e142 | Bin 7820 -> 0 bytes .../09/095e7313d7a87d9c38776718e9e1a2c2 | Bin 8224 -> 0 bytes .../0b2e78846c4e87d8f6b2eafb01d65ba2} | Bin 4692 -> 4656 bytes .../0c/0cf00e31849d840e372b46a078218d44 | Bin 7336 -> 0 bytes .../0d/0d966d451a4e86681aa387942c5cbbdf | Bin 30320 -> 0 bytes .../0d/0dd65295ac46f1a0dc81b5e24338e70c | Bin 0 -> 21129 bytes .../0d/0dd80ec543d027391b79dad8a1fedc68 | Bin 0 -> 12628 bytes .../0d/0de993fc9a1a31fe18ef974e8addc1fe | Bin 8324 -> 0 bytes .../0ed5556ef1a05ccc9b5a9e874c9e1a97} | Bin 7544 -> 7568 bytes .../0f/0f27fda5b9fd7a85bcebbc3f150168fb | Bin 0 -> 4225 bytes .../0f/0fee8a50fb409264ebb09bed20386c3a | Bin 8292 -> 0 bytes .../10/101829049cb5e37831425f1817c91e96 | Bin 30320 -> 0 bytes .../111d4d3785f133e94cf34fa26958c470} | Bin 8744 -> 8052 bytes .../12/120f13c717071c31df0857caba50f956 | Bin 0 -> 5740 bytes .../13/1330798a44c1a6698e33224856b7918f | Bin 9268 -> 0 bytes .../14/14a87a6db333f200140a600aeb86a5a1 | Bin 8108 -> 0 bytes .../15/158fe202b4b50f2e86830608ba8fbc99 | Bin 0 -> 4229 bytes .../15/15de06cc24bf7343be38ac74656940de | Bin 30320 -> 0 bytes .../15/15f53ba749e7896824db60ff34bb5452 | Bin 0 -> 25136 bytes .../18/185818457a37e5f6266c6d3fdb72c9ac | Bin 0 -> 11540 bytes .../1a/1a895db0b780ff8718f4927ea3a3e0db | Bin 0 -> 12788 bytes .../1a/1a9345df129356b7a6c2ac58a41963c3 | Bin 7868 -> 0 bytes .../1c/1ca7c14f695f47de2a6ac2ceea717be1 | Bin 0 -> 4225 bytes .../1d/1d3c7e073752dc4dfb2bfe6551e5fee4 | Bin 5028 -> 0 bytes .../1ece53740a849ef3150b8601e7778a85} | Bin 4996 -> 4992 bytes .../20/2053f15c60d931cdd60cb2a4b722e7a1 | Bin 0 -> 20745 bytes .../21/219fc51896b6e82ba5ad164d7d04b862 | Bin 7372 -> 0 bytes .../235cebb554d10952b0e9c4965f19f1a6} | Bin 4221 -> 4221 bytes .../239601f8bd33a19f471d7caa6a86ffaa} | Bin 5568 -> 5728 bytes .../23/23d5099c9533631c0c8c43ccfeef03c6 | Bin 0 -> 13252 bytes .../24/247f847160eb6359b1ca4bcce25cd2d6 | Bin 0 -> 290684 bytes .../24a5886bdc451177d9b82f6967ffb819} | Bin 5828 -> 5868 bytes .../25/25c308e512be78a3a27a7c13621749a3 | Bin 0 -> 6100 bytes .../26/26546b8deae807b96c7cf9d2f0729330 | Bin 0 -> 27949 bytes .../27/276bb90a4c9acc46e2cca60e977f9579 | Bin 8440 -> 0 bytes .../28/285ae9fc4a44f1479d6822f26133aade | Bin 8424 -> 0 bytes .../28/28aa0ffed6278b2fa34bf6c89fa993c6 | Bin 0 -> 4233 bytes .../2a/2a54cdfc1ca240a6cb30fdd12722ffe6 | Bin 8296 -> 0 bytes .../2b/2b7a91e765113819950906a02193b8e3 | Bin 8396 -> 0 bytes .../2c/2cb99051c6f7231a976778ad9070f4b4 | Bin 8296 -> 0 bytes .../2e/2e582011c37509509862eaf22e6f76b4 | Bin 7104 -> 0 bytes .../2e/2e6325742ff22fca60c33db4134aa09a | Bin 8560 -> 0 bytes .../2f/2fb9c56470944efbc852d684a914d6e0 | Bin 8324 -> 0 bytes .../30/300a19b588d4c9358f4e738e8e60f901 | Bin 0 -> 11272 bytes .../30/3096cdd8939bc0032e6ea0ee4bd679c1 | Bin 7820 -> 0 bytes .../31/316a37ce20b5e21185813a3f99ddcebe | Bin 0 -> 9280 bytes .../31/318be973dba80e68ff7a8432c1d87e2d | Bin 8020 -> 0 bytes .../333c2b4c55f0b417425c99eb86440782} | Bin 8412 -> 7568 bytes .../34/3469ff2f9fb7ccf07a034bd97ec1ffc9 | Bin 5580 -> 0 bytes .../34/346b3389858a1091a72fea3989c7a185 | Bin 5576 -> 0 bytes .../34/346e7ea1cfaa64e0842cee7b433cc530 | Bin 0 -> 6000 bytes .../35/35c5b5e2c3dce9911bd49c6c076ca1aa | Bin 7684 -> 0 bytes .../38/38d1a57cc52f0a3a8f0f0fc5d2a0c972 | Bin 7328 -> 0 bytes .../3a/3a2f554765828ebb7a8e3c2d9d4d13a9 | Bin 0 -> 14500 bytes .../3b/3b1b1b718cc0fd3484bc0391010aa66b | Bin 0 -> 5916 bytes .../3c/3cc6290619bf2e36f7d51bc321778ec6 | Bin 5988 -> 0 bytes .../3d/3d4e3d890d9558264228c7d2ff9e19c0 | Bin 7332 -> 0 bytes .../3d/3de6f035dc0020ce1dbbf5d7ec9327ff | Bin 3321 -> 0 bytes .../41/4148c182bab6724c921c2958d24c1774 | Bin 0 -> 4225 bytes .../427b0632419c7cb16fe85a1bf55016b3} | Bin 5036 -> 5040 bytes .../43/4368a0be747d988a577e2b43206b41d9 | Bin 0 -> 12784 bytes .../43/43a214f8833ba0a3d1afb4165da64470 | Bin 0 -> 21417 bytes .../44/44306d191befc8fedb802630e7e1ba23 | Bin 0 -> 5764 bytes .../45/450bdcdba9cb136a1dded5040546f069 | Bin 0 -> 21017 bytes .../4576c906a3426f199edc5c803a633a05} | Bin 24408 -> 24956 bytes .../45/45f269b2e022e3a8eecd522d0da631d0 | Bin 10120 -> 0 bytes .../48/48aca6a5f55f43adcc863d3e94669cb7 | Bin 5644 -> 0 bytes .../48/48ae4a58ef6ea47cba6aba1546d63672 | Bin 7420 -> 0 bytes .../4b/4b121058d7a737aae174f27ff1463a2c | Bin 8300 -> 0 bytes .../4c/4c3db94a10b80f250aae9989780170dd | Bin 8404 -> 0 bytes .../4c/4c514730a8f7b9093fe9f01283a78b58 | Bin 0 -> 5948 bytes .../4d/4d80e34e80c7f26b4d3a0c9291cf52d6 | Bin 7296 -> 0 bytes .../4e/4eccbef4d9945061679d499ee04d310e | Bin 0 -> 21697 bytes .../4f/4f7e51004da0d534c4f81fda9c126d0c | Bin 10080 -> 0 bytes .../4f/4f935eda917de4e94027ed4754f01e1f | Bin 4860 -> 0 bytes .../50/500fb404d51d4e49fbf1bc362bc0c20b | Bin 7664 -> 0 bytes .../50/506ba8288822641ccab9e97da41ee2c7 | Bin 0 -> 11536 bytes .../50/50c60498c8c69094497d8cf453fdf8cb | Bin 7784 -> 0 bytes .../50/50eb2a9375d238386ebaa0e928c64e90 | Bin 0 -> 7568 bytes .../51/513ea1dc3dea8b40cbd32927af8f462e | Bin 7832 -> 0 bytes .../5180283b00af4c78a7f760bd1feaf268} | Bin 9208 -> 9128 bytes .../52c836bba1f777f5ab3908926792b6a9} | Bin 8524 -> 8056 bytes .../53/53af49758912199cf2e99d6304125734 | Bin 0 -> 4229 bytes .../54/541ae62c79d414a067c0e5b234f4f286 | Bin 0 -> 20745 bytes .../55/5508b42c206955a4bfc58e2d7d597880 | Bin 0 -> 4225 bytes .../55/555a53b26efef5d817dd960be713d7a5 | Bin 7672 -> 0 bytes .../561a75e841bf36f85f664686b4ce32c8} | Bin 5884 -> 6260 bytes .../56/56b025b460c2f15dd47e02f69513bc9e | Bin 6900 -> 0 bytes .../57/57d3b60400c3fb4cd8b789fb759f10d2 | Bin 7640 -> 0 bytes .../5a/5a5b93ecb7e3130d78d45edca65a75ce | Bin 6636 -> 0 bytes .../5bc370803bba818a3a5721396b660778} | Bin 7516 -> 7740 bytes .../5b/5bf595250f0c9f6b3052fccb354c2b6e | Bin 0 -> 4229 bytes .../5d/5de72b5b335c833ca8a4d218538a0876 | Bin 6816 -> 0 bytes .../5e/5e19bfc14d19c15b1e869a8ceb9dffd7 | Bin 0 -> 9276 bytes .../5f/5f55116d42a0223522e070c2264fef94 | Bin 0 -> 14532 bytes .../5f/5f6c96e8085aea1d6fbc1d7678339341 | Bin 0 -> 27953 bytes .../60/6008793e39445200c138a375d2d4c92d | Bin 0 -> 4221 bytes .../60/60f0783b7a4d0d0c6f283ff1fa5147b1 | Bin 7924 -> 0 bytes .../62/629168c10de18d242ebdc177e4577083 | Bin 8000 -> 0 bytes .../64/6414ddf38d8d9819eb6fe46d88833a38 | Bin 7192 -> 0 bytes .../64/6417c58c81cfc88a1b09fee212cc3f67 | Bin 6656 -> 0 bytes .../64/6455379ef9558efc6416f5ef2d0ccf79 | Bin 29680 -> 0 bytes .../6548b1fec4b0b836b89e37d8a5708e55} | Bin 5852 -> 6260 bytes .../66/66fb1e0e44d69fab227468514a71c9b5 | Bin 0 -> 4225 bytes .../68/68fb476851e239e2b9617115aa995f57 | Bin 7156 -> 0 bytes .../693b75866665ab200bc5990082b7cd47} | Bin 10868 -> 13908 bytes .../69/69c7e5f104c814444be688f80f2d8a43 | Bin 0 -> 9200 bytes .../69ee5a9921e1c3e510c461b66b9deab1} | Bin 6644 -> 6648 bytes .../6b/6b1c0d8c5070b857641c044a1f584c5f | Bin 0 -> 4225 bytes .../6b/6b3b39818568b5962cd79e26ff132a26 | Bin 7192 -> 0 bytes .../6b/6ba3def1cd77998df1d9125f9ee62582 | Bin 0 -> 4225 bytes .../6b/6bb5ac7146152789f79104ccff2b518e | Bin 0 -> 4221 bytes .../6c/6c4e9d8a2d723117b8e2a8192af38b0f | Bin 29656 -> 0 bytes .../6d/6de36ebbf1c6a03c39163f26c254fb26 | Bin 0 -> 4225 bytes .../6f/6f18189bab32fe9421b2e528bff9a77e | Bin 7092 -> 0 bytes .../6f/6f647070e01ede05d5b4a279aad1f8b1 | Bin 10124 -> 0 bytes .../71/713baf217d5066e1b64e2b9e0e77722f | Bin 8328 -> 0 bytes .../71/71cc7825b6e7095fda610a622bd6b6d3 | Bin 0 -> 11536 bytes .../72/72acb772acb02134b653b0c1598274e2 | Bin 6628 -> 0 bytes .../74a8de054aa6de41294f878f63b3512a} | Bin 10256 -> 14168 bytes .../74a8e8f14725cc8c6917dd4bb928ffb3} | Bin 8624 -> 8840 bytes .../74/74f5aa2283b33779f2d34f469522b315 | Bin 0 -> 4225 bytes .../75/75c07af2eb5275d299472779f77732f0 | Bin 0 -> 4225 bytes .../76/7677d277aeb2dba063f8060d2f151b91 | Bin 0 -> 9500 bytes .../76/768112ef83e3b5cdc8628f238dbc049c | Bin 9208 -> 0 bytes .../76/76afcd36629bdefc88298eab7a7f8b6b | Bin 10080 -> 0 bytes .../76cd33dbc2c81cabbcf67c9c0a1ac151} | Bin 4828 -> 5012 bytes .../78/784df0dd93ee8b1649413b52dddec61a | Bin 6640 -> 0 bytes .../79d8f6f812613bad4ceaa466627c26f5} | Bin 20465 -> 20465 bytes .../7a/7a0f8b68a408f97154bba2c527626095 | Bin 7836 -> 0 bytes .../7a/7ac0e60e1486e0a5ddcf155426626903 | Bin 0 -> 4225 bytes .../7d/7d0de0c0612a188e86dcfad6ee3deb1f | Bin 0 -> 4225 bytes .../7d/7d4937cc7f1dba624cd8af3dde5be368 | Bin 6748 -> 0 bytes .../7d/7d7747e1b4c7428fb7d916b9903f08b1 | Bin 7220 -> 0 bytes .../7d/7de8f24fc226bc70382761096de6e261 | Bin 0 -> 25148 bytes .../7e19a6632d7124a0f0bbbd7191759ec4} | Bin 8236 -> 9128 bytes .../7e1fb48bb9b057d9528e127c61cd6997} | Bin 6616 -> 11172 bytes .../7e/7e701ab99044b0dd8280701c5a0c04f1 | Bin 8016 -> 0 bytes .../7e/7ee9b7d4e325a6d465ba2ca7fde4f74b | Bin 6928 -> 0 bytes .../7f/7f04c4aab9f926f19cd7cd34ac67be14 | Bin 29680 -> 0 bytes .../81/8158111769fc1090341e38ec4d293150 | Bin 5456 -> 0 bytes .../83/8336c0be4d7f51fea3df326cce34321f | Bin 8292 -> 0 bytes .../84/8451ac7f5c7178d106137dec3c8bb851 | Bin 7368 -> 0 bytes .../86/8653b97f5b640f3c5a362becf3209fde | Bin 0 -> 5920 bytes .../868880f42206d4e3a050b76faf731355} | Bin 7676 -> 7664 bytes .../86/86a818333692baa9737d479fe0370e97 | Bin 6644 -> 0 bytes .../86/86d9beca5aebbc9c90367982c297a758 | Bin 30320 -> 0 bytes .../8737508806ba5c4dac2944b31be1141f} | Bin 8140 -> 9036 bytes .../88/8855924b7339b324d950f4bd97334d89 | Bin 0 -> 4237 bytes .../88fd80bc6d0c9fbb04c0fed4edbd2c80} | Bin 5712 -> 5712 bytes .../89cee7766b5de577fba4c6dcfdacd32d} | Bin 4500 -> 4572 bytes .../8a197d247d0f9dde4186d70a3100dd7f} | Bin 5388 -> 5728 bytes .../8a/8a49642e228ad78342d181bd8d06825e | Bin 7648 -> 0 bytes .../8c/8c8596fe319121beae9a54c635ed16de | Bin 8392 -> 0 bytes .../8c8d7bcbee298b5f170b9a26257b1c7a} | Bin 23224 -> 21036 bytes .../8d/8dadd681e708e25f7f5535c1545de709 | Bin 0 -> 21057 bytes .../8e/8e70b08c39d6c372dcb7681c605b69f6 | Bin 0 -> 4225 bytes .../8f/8f1edb7857bdd2ea79a5159be486358f | Bin 5892 -> 0 bytes .../8f64d6c3683144133c88cb9a7a61bcde} | Bin 8356 -> 9056 bytes .../8f/8f683a1db1a61990a5af990b739d26bf | Bin 0 -> 4237 bytes .../8f79cf2225e5979a4f651640850bc03e} | Bin 9660 -> 8176 bytes .../90/906751a44cf18b9441eef75eebc2b69a | Bin 0 -> 12956 bytes .../90/90953db292194e7890a205b9f80a946d | Bin 30320 -> 0 bytes .../91/911ae6be7425e8b4b765b4c21a64a0cf | Bin 0 -> 6160 bytes .../92/92629d4062f728dd83ae613760ce323d | Bin 7384 -> 0 bytes .../92/92e3f456d1bc9dead9605325da44f4c8 | Bin 0 -> 20777 bytes .../94/94b542673947f0d4fe073e383231cdfa | Bin 0 -> 4620 bytes .../95/956f009800194626eab40f2e0963c71a | Bin 6696 -> 0 bytes .../96/96357dcbaba56a34a381145a40d4881b | Bin 10044 -> 0 bytes .../96/9679cbca7f4b647b594d16ac5b99ed87 | Bin 0 -> 6000 bytes .../96/96c78d4c883eb34987643bcc972c744d | Bin 0 -> 4229 bytes .../97/97f602e3a4c8bc535563f53d38f3bfcb | Bin 7360 -> 0 bytes .../98/98288dabf1c28ef10ca0d52f3ab1c764 | Bin 0 -> 25136 bytes .../98/9897f9a6c4f58a779af952967e014845 | Bin 0 -> 14312 bytes .../98/98b3d8b706e52fd4f6ea925b2aeb9d1a | Bin 5780 -> 0 bytes .../99ced913abe8288acba3cec075aedc80} | Bin 6612 -> 6592 bytes .../9b/9b2f8de9ff623bc9f0060eabb0391fb2 | Bin 0 -> 11300 bytes .../9b/9b9149f6c8dfdc5192a318d1efc4ebb1 | Bin 29664 -> 0 bytes .../9b/9bbaf3842a2195ff90ab3cc74be03bfe | Bin 0 -> 20785 bytes .../9e/9e2ce0c15bb1859a3e4ba4bf91193a9a | Bin 8300 -> 0 bytes .../9e/9e9cec5f44f2472501038634b4021d14 | Bin 7240 -> 0 bytes .../a0/a084d0b7074cea3bec256bf3fee3570b | Bin 0 -> 13232 bytes .../a1/a15cebf614e9de98a098fe5cc76f6b0a | Bin 0 -> 6924 bytes .../a2/a2cec4eaae2677fcd9d602671e870443 | Bin 0 -> 6000 bytes .../a3/a3d78998b8d3535c810b25c25b9defa5 | Bin 0 -> 14464 bytes .../a4/a488f146b3e68eaad901968ee22dbac1 | Bin 7736 -> 0 bytes .../ab5ff59a35b2b7f2a7a945bb6f3312b6} | Bin 6632 -> 6632 bytes .../ab/abb5253f6fc5e7647acfd8536936bcd8 | Bin 4796 -> 0 bytes .../ad/ad6424a86a0634699facf256f1fb38c6 | Bin 7340 -> 0 bytes .../ae/ae1eb388f9a6e214b5b8d06e76e8ffbe | Bin 0 -> 4237 bytes .../ae/ae273eaea99a1f626f5acab6247f3214 | Bin 0 -> 21929 bytes .../ae/ae910067e1dc709eb69977e20fbf40f6 | Bin 6588 -> 0 bytes .../b1/b162a9d8c12a9f4d55c00c39c2d4091c | Bin 7496 -> 0 bytes .../b3125d17b1f826dee58e12817e40922c} | Bin 7472 -> 7644 bytes .../b5/b5a3f8c37e056fc7d7efb4a3be147980 | Bin 4984 -> 0 bytes .../b6/b61140570fd7308315a4621b054c4548 | Bin 8272 -> 0 bytes .../b6/b68c57ed669aad0c238ac702785a827a | Bin 0 -> 11344 bytes .../b6/b6fd235778ddb58413ed49aceac24661 | Bin 7128 -> 0 bytes .../b7/b7cc9fb8c564456e94db42e549417abf | Bin 5840 -> 0 bytes .../b8/b86ab35faf27402148a9b6a7ac9ee040 | Bin 0 -> 10669 bytes .../b8ce87ecc6212cbb11ffc227243b5003} | Bin 5280 -> 5564 bytes .../b9/b9d6d45fae10b4f6d04a07ba1f9d9859 | Bin 8292 -> 0 bytes .../b9/b9d72b3f5ef60a52d09c45bfe80daad2 | Bin 10080 -> 0 bytes .../b9/b9ede54d78e714d7e533c4716541b4f2 | Bin 0 -> 20553 bytes .../ba/ba18546453b1feb93cc528b117d924b0 | Bin 0 -> 4229 bytes .../ba/ba94d3a5d435aa1b7d2b972a4341690a | Bin 9956 -> 0 bytes .../bb/bb789ccb4c470bf8c184af48ad6574d1 | Bin 6700 -> 0 bytes .../bb/bb8b71cff9c200108f0940b83b672bc1 | Bin 0 -> 11344 bytes .../bbe0558a2f350d2a95a10fc7dfde2a40} | Bin 8264 -> 9704 bytes .../bc/bc8a1d23f321c4809dd228989e5db709 | Bin 7764 -> 0 bytes .../bc/bc8e1530f0b626210d2175121f742a47 | Bin 7880 -> 0 bytes .../bcb2e364bb51f21ed53c01e106b66628} | Bin 4432 -> 4512 bytes .../bd/bd337ff4274eed0c2af97bd40ea390b5 | Bin 7336 -> 0 bytes .../be/be68fab25ff957c7ae8933b2d4bd2d2e | Bin 7140 -> 0 bytes .../be/be6ece51d46b57b83d4b053e469d2609 | Bin 0 -> 4225 bytes .../be/be8697b1180b0bc4228039c2e2cb22ff | Bin 8564 -> 0 bytes .../bf/bf1ec12be158c0eae57a12260628d0f2 | Bin 4924 -> 0 bytes .../c0/c031120967386e22dc26bd052a5b743c | Bin 0 -> 4225 bytes .../c1/c15c299567100093b85b282bd5877e9a | Bin 7384 -> 0 bytes .../c1/c195f1190ddf2d00e33462a27f458369 | Bin 0 -> 25044 bytes .../c1/c1b7fabaf410c05aa19543290dafd9df | Bin 6656 -> 0 bytes .../c2/c20a7facf52f4bf7dfefbdb877af4ed3 | Bin 0 -> 4221 bytes .../c2/c26c148351403f3fc8383de459ab9ce8 | Bin 7488 -> 0 bytes .../c2/c27d292ed21475343e74efb420463539 | Bin 0 -> 20745 bytes .../c2/c2c5928370efc7366531b10c3f54255b | Bin 6628 -> 0 bytes .../c4d1c182ed5f3b1f75d2eafe1535bbdb} | Bin 23972 -> 24940 bytes .../c7/c776c8a5f70cbb8bae522b13fdca9ce0 | Bin 6660 -> 0 bytes .../c789c824c0c6362e464a7844e021ebfe} | Bin 8232 -> 9952 bytes .../c8/c81c75d41bf2678280cf69acb6af9c4b | Bin 0 -> 4225 bytes .../c8/c87b5ccea564dc79d0ac4f0f76a8e15a | Bin 6584 -> 0 bytes .../c9/c97b02f8e7eef28ec0afd1bc303bb625 | Bin 30320 -> 0 bytes .../ca3c3ff13160d914d2b5924bbeca4f11} | Bin 4628 -> 4628 bytes .../ca/ca496ccbb331da9d3e0339143ce3471e | Bin 0 -> 20777 bytes .../ca/ca68e47eb2417f5ed2b60221362d7048 | Bin 7768 -> 0 bytes .../cc/ccae06588275ee39a32322887615ff4b | Bin 0 -> 4225 bytes .../cc/ccf781e0eba2ea66a590d1c38f664db1 | Bin 0 -> 4225 bytes .../ce/ceb4796c5b20e0e99fbe876555f92fcd | Bin 0 -> 4225 bytes .../cf87fa3baa505d1dd27391f7ea661246} | Bin 6068 -> 5976 bytes .../d1/d16230832f9417298699d4e944ceda02 | Bin 30320 -> 0 bytes .../d1/d18057b71c94c13fd616b88e6414af91 | Bin 5656 -> 0 bytes .../d1/d1a08f02d7902e06bf8dfa68109754f6 | Bin 0 -> 10677 bytes .../d2/d233d397237f349c63cfed6fe3630d8c | Bin 30320 -> 0 bytes .../d3/d378946d9149e7b7a13dcd19401428e4 | Bin 6680 -> 0 bytes .../d4/d44a17446e69363a5f427b44b900cbdd | Bin 0 -> 21305 bytes .../d4/d470fd31733ce665f0fc4d8dda7cbe88 | Bin 0 -> 20745 bytes .../d4743871fcc25ffa8f8add7f8eeef693} | Bin 6696 -> 6688 bytes .../d4/d4ab1a1129fdf87070b40fbd48a022af | Bin 8324 -> 0 bytes .../d4c75f87756ef31da7668f4a15a8433c} | Bin 5412 -> 5712 bytes .../d5722d79e7636edc9fdc19ab72601b7b} | Bin 6664 -> 6652 bytes .../d6/d6f7be9d19ce11bf0ef5f6c94baf63e2 | Bin 0 -> 20785 bytes .../d6ff9854d1473611a5b1bb89a84637bc} | Bin 10904 -> 9344 bytes .../d7/d74c500dbffcccf73a4f1d84ca23a6e5 | Bin 7612 -> 0 bytes .../d778825ec8560ad55274133ee6c455e4} | Bin 23208 -> 24956 bytes .../d8/d82fb57954f4f056020222e803d867e7 | Bin 6608 -> 0 bytes .../d8/d88c6e11050322557ec667bc8f98ffa5 | Bin 7708 -> 0 bytes .../db/db5f7e9a86ae06d5e98eed06ffe3a699 | Bin 0 -> 4225 bytes .../db/db61abbfc4d291680020841c34fc1589 | Bin 0 -> 14536 bytes .../db/db88e0324716773915dd80a50bfdab94 | Bin 7676 -> 0 bytes .../db/db8cfcf22943f9b0db85c9a9bd0c2e7e | Bin 0 -> 25112 bytes .../db/dbfc1d7d021dbe30239bdfb0a02147e5 | Bin 7944 -> 0 bytes .../dc/dc7653414ca236297e0b908b30779769 | Bin 30320 -> 0 bytes .../dd/dd01c4e8ab0eb7a1731ed75425870cdc | Bin 5656 -> 0 bytes .../dd/dd4a08a7cf0d2fb7eae6a06d2a7b7b8c | Bin 0 -> 11292 bytes .../dd/dde887abf1d460dc6bf5a2ba4a19773d | Bin 8304 -> 0 bytes .../e0/e0e6d0b1ded641cde9238e2b19b8e69d | Bin 8324 -> 0 bytes .../e1/e11a37ea897d76830542923294632bcf | Bin 0 -> 9244 bytes .../e1/e1bfd80773dbbaa41d62e8433a0d6fc2 | Bin 0 -> 4652 bytes .../e1/e1dc51a962eca2d5ac58a65b6f1b210c | Bin 0 -> 4225 bytes .../e2/e23102779622654d331fa7ce9e197e92 | Bin 5392 -> 0 bytes .../e2/e236925856a29fd8a5afb20e1ce36cff | Bin 0 -> 4229 bytes .../e4/e40d159575850476b146b3f8f9d492c0 | Bin 0 -> 13424 bytes .../e432ee5570e5097b05d56a450ea457a5} | Bin 10912 -> 14128 bytes .../e43e250b34b82aa2e7b51a14857fe630} | Bin 6716 -> 6704 bytes .../e6/e6421169d5e000d3247bbe3325e91674 | Bin 8436 -> 0 bytes .../e6/e677122ab23183c5c614fd7aa6480014 | Bin 8320 -> 0 bytes .../e6/e68bbb91104b37404c3b8f53b2f51383 | Bin 5836 -> 0 bytes .../e7/e7713eae1495e706cd03916d1b2e34b4 | Bin 8324 -> 0 bytes .../e7/e787b48ee3cfb3c5d320edff40c12792 | Bin 6604 -> 0 bytes .../e7/e7a4ab989b955699fbb91043c60f6007 | Bin 8092 -> 0 bytes .../e8/e837badce34b2a32d8348ffe7d35dc95 | Bin 6680 -> 0 bytes .../e83a635380e45642a689ed0137bc77ca} | Bin 7992 -> 7904 bytes .../e8/e85b30ea010ad0aa6c0f1920480f1f2b | Bin 0 -> 4225 bytes .../e8/e8b6d9853dc01da844756ada8ea25053 | Bin 7856 -> 0 bytes .../e9/e91533e40e7cd04d8adb5df56fd5d281 | Bin 0 -> 5764 bytes .../e9/e9400772231fbc333f73f1589f9f13a1 | Bin 7764 -> 0 bytes .../e9/e9a8e008b8f771e9e5694190ef9af86a | Bin 0 -> 4233 bytes .../ea/ea4e4a749880e6246d3add93447b2662 | Bin 0 -> 11536 bytes .../ea/ea7ddabd2bc59a01ef9e0bd9fc7d2fba | Bin 5884 -> 0 bytes .../ea/ea8876bcf0eabc04644be4d0bbd33d2f | Bin 0 -> 12840 bytes .../ea/eac777321fcdda3107f1683b0c5db3b0 | Bin 0 -> 4225 bytes .../ea/ead2df2f9dec78677e246af170dcd6c2 | Bin 0 -> 27957 bytes .../ebf7675c824a7287253a4fca06f7cea2} | Bin 23284 -> 24912 bytes .../ec/ec99394566310c872b7c535b6987cf7b | Bin 7400 -> 0 bytes .../ed14bcd21b31ca656c147bd2e5952d11} | Bin 7396 -> 9164 bytes .../ee/eec5e14c118b1c9f4937d1bd6e60a9b6 | Bin 8744 -> 0 bytes .../eed9d9d2f8c3dcf3b4bd07686efca59d} | Bin 7364 -> 9100 bytes .../ef/ef0cb1e67847c16805b74416d620c030 | Bin 7684 -> 0 bytes .../ef/ef91cbb090684f43f06375fed9fd8559 | Bin 0 -> 11484 bytes .../f0/f01aee68f7fb218075cf3ac0244d05c0 | Bin 6772 -> 0 bytes .../f0/f07db54d3dd9180f32d50f55d370b5b3 | Bin 0 -> 11328 bytes .../f1/f1412abf1a0b8cddfb9692228ab6ef0b | Bin 7428 -> 0 bytes .../f1/f16b1750c8d2321f23cd7c09a1d46dc5 | Bin 0 -> 21337 bytes .../f2bffd4f52c0723496aebb41cca84016} | Bin 8296 -> 9908 bytes .../f3/f3447dd5e28ff41fa92c6612f2404d1e | Bin 30320 -> 0 bytes .../f39d2bfaad919f15b5b562bd426a297a} | Bin 5924 -> 5924 bytes .../f5/f54ed6b9cf15400491d8fc72f98cfaa4 | Bin 0 -> 13228 bytes .../f5/f5e17829e457c5a6588226267a1eb519 | Bin 7672 -> 0 bytes .../f6/f6ecfad0a3ed627d24bc8862039d42e9 | Bin 5844 -> 0 bytes .../f8/f8173db97c2d85cee057e7979b485607 | Bin 0 -> 25204 bytes .../fa/fa646191efb965e6da28eb62b28f5daa | Bin 0 -> 25136 bytes .../fb/fb27fc8b3690e5d512164fe55c956882 | Bin 6972 -> 0 bytes .../fb/fb84f5cd0d4a52bf322ba20029f93fdb | Bin 0 -> 25132 bytes .../fb/fbfd3b51d44f2152bcdc4f56c24466b4 | Bin 0 -> 290940 bytes .../fc/fc5aa2f1375c731f08d8757a5e30967e | Bin 7676 -> 0 bytes .../fc/fcc3d01bd0990c79589fa300e140ccd2 | Bin 6628 -> 0 bytes .../fd/fdc3a464eb3cad3500181b91553fe9e5 | Bin 0 -> 25136 bytes .../ff/ff593fffe4213eab9d9916294c4e9499 | Bin 8224 -> 0 bytes .../ffd724f1ebaa8153e2f0c7008e8d0978} | Bin 10232 -> 14540 bytes Library/CurrentLayout-default.dwlt | 126 +- Library/CurrentMaximizeLayout.dwlt | 114 +- Library/InspectorExpandedItems.asset | Bin 5728 -> 5824 bytes .../Assembly-CSharp-Editor.dll | Bin 5632 -> 5632 bytes Library/ScriptAssemblies/Assembly-CSharp.dll | Bin 114176 -> 122368 bytes Library/ScriptAssemblies/Assembly-CSharp.pdb | Bin 55832 -> 60412 bytes Library/SourceAssetDB | Bin 4194304 -> 4194304 bytes .../Hierarchy/8cbfdc-482589a60f2731a408.json | 1 + .../Hierarchy/8cbfdc-dc4c8b005322f3b46a.json | 2 +- .../SceneView/352ee9-482589a60f2731a408.json | 1 + .../SceneView/352ee9-mainStage.json | 2 +- ...embly-CSharp.csprojAssemblyReference.cache | Bin 17997 -> 17997 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 31111 -> 31195 bytes 456 files changed, 6388 insertions(+), 419 deletions(-) create mode 100644 Assets/ActorManipulator.cs create mode 100644 Assets/ActorManipulator.cs.meta create mode 100644 Assets/Resources/Prefabs/RaceDialogPrefabs.meta create mode 100644 Assets/Resources/Prefabs/RaceDialogPrefabs/GraphicPath.prefab create mode 100644 Assets/Resources/Prefabs/RaceDialogPrefabs/GraphicPath.prefab.meta create mode 100644 Assets/Resources/Prefabs/RaceDialogPrefabs/HeadOffset.prefab create mode 100644 Assets/Resources/Prefabs/RaceDialogPrefabs/HeadOffset.prefab.meta create mode 100644 Assets/Resources/Prefabs/RaceDialogPrefabs/SectionTitleText.prefab create mode 100644 Assets/Resources/Prefabs/RaceDialogPrefabs/SectionTitleText.prefab.meta create mode 100644 Assets/Resources/Prefabs/RaceDialogPrefabs/Spacer.prefab create mode 100644 Assets/Resources/Prefabs/RaceDialogPrefabs/Spacer.prefab.meta create mode 100644 Assets/Resources/Textures/Humanlike/Appendages/Appendage3.png create mode 100644 Assets/Resources/Textures/Humanlike/Appendages/Appendage3.png.meta create mode 100644 Assets/Scripts/AnimationComponents/AlienRaceDef.cs create mode 100644 Assets/Scripts/AnimationComponents/AlienRaceDef.cs.meta create mode 100644 Assets/Scripts/AnimationComponents/MultiDirectionalGraphic.cs create mode 100644 Assets/Scripts/AnimationComponents/MultiDirectionalGraphic.cs.meta create mode 100644 Assets/Scripts/DirectionalGraphic.cs create mode 100644 Assets/Scripts/DirectionalGraphic.cs.meta create mode 100644 Assets/Scripts/GUI/DialogBoxes/RaceSettingsDialog.cs rename Assets/Scripts/GUI/DialogBoxes/{SelectRaceDialog.cs.meta => RaceSettingsDialog.cs.meta} (100%) delete mode 100644 Assets/Scripts/GUI/DialogBoxes/SelectRaceDialog.cs create mode 100644 Assets/SelectRaceDropdown.cs create mode 100644 Assets/SelectRaceDropdown.cs.meta create mode 100644 Assets/StreamingAssets/Textures.meta create mode 100644 Assets/StreamingAssets/Textures/Animals.meta create mode 100644 Assets/StreamingAssets/Textures/Animals/Horse.meta create mode 100644 Assets/StreamingAssets/Textures/Animals/Horse/Horse_east.png create mode 100644 Assets/StreamingAssets/Textures/Animals/Horse/Horse_east.png.meta create mode 100644 Assets/StreamingAssets/Textures/Animals/Horse/Horse_north.png create mode 100644 Assets/StreamingAssets/Textures/Animals/Horse/Horse_north.png.meta create mode 100644 Assets/StreamingAssets/Textures/Animals/Horse/Horse_south.png create mode 100644 Assets/StreamingAssets/Textures/Animals/Horse/Horse_south.png.meta create mode 100644 Assets/StreamingAssets/Textures/Animals/Wolf_Timber.meta create mode 100644 Assets/StreamingAssets/Textures/Animals/Wolf_Timber/Wolf_Timber_east.png create mode 100644 Assets/StreamingAssets/Textures/Animals/Wolf_Timber/Wolf_Timber_east.png.meta create mode 100644 Assets/StreamingAssets/Textures/Animals/Wolf_Timber/Wolf_Timber_north.png create mode 100644 Assets/StreamingAssets/Textures/Animals/Wolf_Timber/Wolf_Timber_north.png.meta create mode 100644 Assets/StreamingAssets/Textures/Animals/Wolf_Timber/Wolf_Timber_south.png create mode 100644 Assets/StreamingAssets/Textures/Animals/Wolf_Timber/Wolf_Timber_south.png.meta create mode 100644 Assets/StreamingAssets/Textures/Humanlike.meta rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Fat0.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Fat0.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Fat1.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Fat1.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Fat2.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Fat2.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Fat3.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Fat3.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Female0.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Female0.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Female1.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Female1.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Female2.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Female2.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Female3.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Female3.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Hulk0.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Hulk0.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Hulk1.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Hulk1.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Hulk2.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Hulk2.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Hulk3.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Hulk3.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Male0.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Male0.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Male1.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Male1.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Male2.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Male2.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Male3.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Male3.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Thin0.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Thin0.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Thin1.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Thin1.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Thin2.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Thin2.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Thin3.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Bodies/Thin3.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Heads.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Heads/Head0.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Heads/Head0.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Heads/Head1.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Heads/Head1.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Heads/Head2.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Heads/Head2.png.meta (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Heads/Head3.png (100%) rename Assets/{Resources => StreamingAssets}/Textures/Humanlike/Heads/Head3.png.meta (100%) create mode 100644 Assets/StreamingAssets/alienRaceDefs.xml create mode 100644 Assets/StreamingAssets/alienRaceDefs.xml.meta create mode 100644 Library/Artifacts/01/012c70898d26e51d8972dae298d64eb1 delete mode 100644 Library/Artifacts/01/01563130c6268eddc34fbd092deeb726 create mode 100644 Library/Artifacts/05/0542e8ad2a440aa5dbbb2876fb213c60 delete mode 100644 Library/Artifacts/06/0600a652ce5d5b4b3d178867081f67e5 rename Library/Artifacts/{b7/b76d07fdbcc53c9848e72681e6c092b6 => 06/0617ba2793c9e3b31390d5066a1ebff7} (50%) create mode 100644 Library/Artifacts/07/072f563f61b203d6f8b7d08fc39b452b delete mode 100644 Library/Artifacts/09/09422755819f7acee09b75874499e142 delete mode 100644 Library/Artifacts/09/095e7313d7a87d9c38776718e9e1a2c2 rename Library/Artifacts/{55/55e62f2b0a7051ab8723a7109e1434ea => 0b/0b2e78846c4e87d8f6b2eafb01d65ba2} (89%) delete mode 100644 Library/Artifacts/0c/0cf00e31849d840e372b46a078218d44 delete mode 100644 Library/Artifacts/0d/0d966d451a4e86681aa387942c5cbbdf create mode 100644 Library/Artifacts/0d/0dd65295ac46f1a0dc81b5e24338e70c create mode 100644 Library/Artifacts/0d/0dd80ec543d027391b79dad8a1fedc68 delete mode 100644 Library/Artifacts/0d/0de993fc9a1a31fe18ef974e8addc1fe rename Library/Artifacts/{bb/bbef632e3ebcf3024f808a511830cf74 => 0e/0ed5556ef1a05ccc9b5a9e874c9e1a97} (96%) create mode 100644 Library/Artifacts/0f/0f27fda5b9fd7a85bcebbc3f150168fb delete mode 100644 Library/Artifacts/0f/0fee8a50fb409264ebb09bed20386c3a delete mode 100644 Library/Artifacts/10/101829049cb5e37831425f1817c91e96 rename Library/Artifacts/{53/53fa3b34398708edba135966cf577817 => 11/111d4d3785f133e94cf34fa26958c470} (88%) create mode 100644 Library/Artifacts/12/120f13c717071c31df0857caba50f956 delete mode 100644 Library/Artifacts/13/1330798a44c1a6698e33224856b7918f delete mode 100644 Library/Artifacts/14/14a87a6db333f200140a600aeb86a5a1 create mode 100644 Library/Artifacts/15/158fe202b4b50f2e86830608ba8fbc99 delete mode 100644 Library/Artifacts/15/15de06cc24bf7343be38ac74656940de create mode 100644 Library/Artifacts/15/15f53ba749e7896824db60ff34bb5452 create mode 100644 Library/Artifacts/18/185818457a37e5f6266c6d3fdb72c9ac create mode 100644 Library/Artifacts/1a/1a895db0b780ff8718f4927ea3a3e0db delete mode 100644 Library/Artifacts/1a/1a9345df129356b7a6c2ac58a41963c3 create mode 100644 Library/Artifacts/1c/1ca7c14f695f47de2a6ac2ceea717be1 delete mode 100644 Library/Artifacts/1d/1d3c7e073752dc4dfb2bfe6551e5fee4 rename Library/Artifacts/{64/64fbda5d9032f25464f1e3d68c335350 => 1e/1ece53740a849ef3150b8601e7778a85} (84%) create mode 100644 Library/Artifacts/20/2053f15c60d931cdd60cb2a4b722e7a1 delete mode 100644 Library/Artifacts/21/219fc51896b6e82ba5ad164d7d04b862 rename Library/Artifacts/{4e/4e43144366d6c7f0c932a53350294926 => 23/235cebb554d10952b0e9c4965f19f1a6} (99%) rename Library/Artifacts/{2f/2f0d1c86fb901bf27f4a6f1fe91a737a => 23/239601f8bd33a19f471d7caa6a86ffaa} (74%) create mode 100644 Library/Artifacts/23/23d5099c9533631c0c8c43ccfeef03c6 create mode 100644 Library/Artifacts/24/247f847160eb6359b1ca4bcce25cd2d6 rename Library/Artifacts/{ca/cabc73cf5c48eaaecbbf48867672f841 => 24/24a5886bdc451177d9b82f6967ffb819} (73%) create mode 100644 Library/Artifacts/25/25c308e512be78a3a27a7c13621749a3 create mode 100644 Library/Artifacts/26/26546b8deae807b96c7cf9d2f0729330 delete mode 100644 Library/Artifacts/27/276bb90a4c9acc46e2cca60e977f9579 delete mode 100644 Library/Artifacts/28/285ae9fc4a44f1479d6822f26133aade create mode 100644 Library/Artifacts/28/28aa0ffed6278b2fa34bf6c89fa993c6 delete mode 100644 Library/Artifacts/2a/2a54cdfc1ca240a6cb30fdd12722ffe6 delete mode 100644 Library/Artifacts/2b/2b7a91e765113819950906a02193b8e3 delete mode 100644 Library/Artifacts/2c/2cb99051c6f7231a976778ad9070f4b4 delete mode 100644 Library/Artifacts/2e/2e582011c37509509862eaf22e6f76b4 delete mode 100644 Library/Artifacts/2e/2e6325742ff22fca60c33db4134aa09a delete mode 100644 Library/Artifacts/2f/2fb9c56470944efbc852d684a914d6e0 create mode 100644 Library/Artifacts/30/300a19b588d4c9358f4e738e8e60f901 delete mode 100644 Library/Artifacts/30/3096cdd8939bc0032e6ea0ee4bd679c1 create mode 100644 Library/Artifacts/31/316a37ce20b5e21185813a3f99ddcebe delete mode 100644 Library/Artifacts/31/318be973dba80e68ff7a8432c1d87e2d rename Library/Artifacts/{72/7210f4cb1be4b0d1b2118730b6a60f84 => 33/333c2b4c55f0b417425c99eb86440782} (85%) delete mode 100644 Library/Artifacts/34/3469ff2f9fb7ccf07a034bd97ec1ffc9 delete mode 100644 Library/Artifacts/34/346b3389858a1091a72fea3989c7a185 create mode 100644 Library/Artifacts/34/346e7ea1cfaa64e0842cee7b433cc530 delete mode 100644 Library/Artifacts/35/35c5b5e2c3dce9911bd49c6c076ca1aa delete mode 100644 Library/Artifacts/38/38d1a57cc52f0a3a8f0f0fc5d2a0c972 create mode 100644 Library/Artifacts/3a/3a2f554765828ebb7a8e3c2d9d4d13a9 create mode 100644 Library/Artifacts/3b/3b1b1b718cc0fd3484bc0391010aa66b delete mode 100644 Library/Artifacts/3c/3cc6290619bf2e36f7d51bc321778ec6 delete mode 100644 Library/Artifacts/3d/3d4e3d890d9558264228c7d2ff9e19c0 delete mode 100644 Library/Artifacts/3d/3de6f035dc0020ce1dbbf5d7ec9327ff create mode 100644 Library/Artifacts/41/4148c182bab6724c921c2958d24c1774 rename Library/Artifacts/{25/25070b327d1cf53ed7b384a2b88149c9 => 42/427b0632419c7cb16fe85a1bf55016b3} (83%) create mode 100644 Library/Artifacts/43/4368a0be747d988a577e2b43206b41d9 create mode 100644 Library/Artifacts/43/43a214f8833ba0a3d1afb4165da64470 create mode 100644 Library/Artifacts/44/44306d191befc8fedb802630e7e1ba23 create mode 100644 Library/Artifacts/45/450bdcdba9cb136a1dded5040546f069 rename Library/Artifacts/{79/790530c6ad5f1b6571d82779edc53b64 => 45/4576c906a3426f199edc5c803a633a05} (95%) delete mode 100644 Library/Artifacts/45/45f269b2e022e3a8eecd522d0da631d0 delete mode 100644 Library/Artifacts/48/48aca6a5f55f43adcc863d3e94669cb7 delete mode 100644 Library/Artifacts/48/48ae4a58ef6ea47cba6aba1546d63672 delete mode 100644 Library/Artifacts/4b/4b121058d7a737aae174f27ff1463a2c delete mode 100644 Library/Artifacts/4c/4c3db94a10b80f250aae9989780170dd create mode 100644 Library/Artifacts/4c/4c514730a8f7b9093fe9f01283a78b58 delete mode 100644 Library/Artifacts/4d/4d80e34e80c7f26b4d3a0c9291cf52d6 create mode 100644 Library/Artifacts/4e/4eccbef4d9945061679d499ee04d310e delete mode 100644 Library/Artifacts/4f/4f7e51004da0d534c4f81fda9c126d0c delete mode 100644 Library/Artifacts/4f/4f935eda917de4e94027ed4754f01e1f delete mode 100644 Library/Artifacts/50/500fb404d51d4e49fbf1bc362bc0c20b create mode 100644 Library/Artifacts/50/506ba8288822641ccab9e97da41ee2c7 delete mode 100644 Library/Artifacts/50/50c60498c8c69094497d8cf453fdf8cb create mode 100644 Library/Artifacts/50/50eb2a9375d238386ebaa0e928c64e90 delete mode 100644 Library/Artifacts/51/513ea1dc3dea8b40cbd32927af8f462e rename Library/Artifacts/{15/15cd56181d179d919964d7547884e200 => 51/5180283b00af4c78a7f760bd1feaf268} (50%) rename Library/Artifacts/{05/051960c1fd86eb0780b1d8730b553b7c => 52/52c836bba1f777f5ab3908926792b6a9} (87%) create mode 100644 Library/Artifacts/53/53af49758912199cf2e99d6304125734 create mode 100644 Library/Artifacts/54/541ae62c79d414a067c0e5b234f4f286 create mode 100644 Library/Artifacts/55/5508b42c206955a4bfc58e2d7d597880 delete mode 100644 Library/Artifacts/55/555a53b26efef5d817dd960be713d7a5 rename Library/Artifacts/{8a/8ab38683813c67cace6530b07bf6dd3e => 56/561a75e841bf36f85f664686b4ce32c8} (90%) delete mode 100644 Library/Artifacts/56/56b025b460c2f15dd47e02f69513bc9e delete mode 100644 Library/Artifacts/57/57d3b60400c3fb4cd8b789fb759f10d2 delete mode 100644 Library/Artifacts/5a/5a5b93ecb7e3130d78d45edca65a75ce rename Library/Artifacts/{bd/bdec4c15c2c77a50bbe56ac57dd3324f => 5b/5bc370803bba818a3a5721396b660778} (93%) create mode 100644 Library/Artifacts/5b/5bf595250f0c9f6b3052fccb354c2b6e delete mode 100644 Library/Artifacts/5d/5de72b5b335c833ca8a4d218538a0876 create mode 100644 Library/Artifacts/5e/5e19bfc14d19c15b1e869a8ceb9dffd7 create mode 100644 Library/Artifacts/5f/5f55116d42a0223522e070c2264fef94 create mode 100644 Library/Artifacts/5f/5f6c96e8085aea1d6fbc1d7678339341 create mode 100644 Library/Artifacts/60/6008793e39445200c138a375d2d4c92d delete mode 100644 Library/Artifacts/60/60f0783b7a4d0d0c6f283ff1fa5147b1 delete mode 100644 Library/Artifacts/62/629168c10de18d242ebdc177e4577083 delete mode 100644 Library/Artifacts/64/6414ddf38d8d9819eb6fe46d88833a38 delete mode 100644 Library/Artifacts/64/6417c58c81cfc88a1b09fee212cc3f67 delete mode 100644 Library/Artifacts/64/6455379ef9558efc6416f5ef2d0ccf79 rename Library/Artifacts/{a5/a57143639b058a86268e1829a76b55f0 => 65/6548b1fec4b0b836b89e37d8a5708e55} (89%) create mode 100644 Library/Artifacts/66/66fb1e0e44d69fab227468514a71c9b5 delete mode 100644 Library/Artifacts/68/68fb476851e239e2b9617115aa995f57 rename Library/Artifacts/{b3/b3ca9022ef20f5f1ce013b0cd543a752 => 69/693b75866665ab200bc5990082b7cd47} (76%) create mode 100644 Library/Artifacts/69/69c7e5f104c814444be688f80f2d8a43 rename Library/Artifacts/{8d/8d6ac2fae216fb2b0c6ea3970666004e => 69/69ee5a9921e1c3e510c461b66b9deab1} (64%) create mode 100644 Library/Artifacts/6b/6b1c0d8c5070b857641c044a1f584c5f delete mode 100644 Library/Artifacts/6b/6b3b39818568b5962cd79e26ff132a26 create mode 100644 Library/Artifacts/6b/6ba3def1cd77998df1d9125f9ee62582 create mode 100644 Library/Artifacts/6b/6bb5ac7146152789f79104ccff2b518e delete mode 100644 Library/Artifacts/6c/6c4e9d8a2d723117b8e2a8192af38b0f create mode 100644 Library/Artifacts/6d/6de36ebbf1c6a03c39163f26c254fb26 delete mode 100644 Library/Artifacts/6f/6f18189bab32fe9421b2e528bff9a77e delete mode 100644 Library/Artifacts/6f/6f647070e01ede05d5b4a279aad1f8b1 delete mode 100644 Library/Artifacts/71/713baf217d5066e1b64e2b9e0e77722f create mode 100644 Library/Artifacts/71/71cc7825b6e7095fda610a622bd6b6d3 delete mode 100644 Library/Artifacts/72/72acb772acb02134b653b0c1598274e2 rename Library/Artifacts/{a0/a05ac7d5fa4bf217361dbc150d5bea23 => 74/74a8de054aa6de41294f878f63b3512a} (69%) rename Library/Artifacts/{be/be12dbdab39863df3029ea659bd605c9 => 74/74a8e8f14725cc8c6917dd4bb928ffb3} (90%) create mode 100644 Library/Artifacts/74/74f5aa2283b33779f2d34f469522b315 create mode 100644 Library/Artifacts/75/75c07af2eb5275d299472779f77732f0 create mode 100644 Library/Artifacts/76/7677d277aeb2dba063f8060d2f151b91 delete mode 100644 Library/Artifacts/76/768112ef83e3b5cdc8628f238dbc049c delete mode 100644 Library/Artifacts/76/76afcd36629bdefc88298eab7a7f8b6b rename Library/Artifacts/{96/961a7ed529fe3d03d5c5ce0255ee7214 => 76/76cd33dbc2c81cabbcf67c9c0a1ac151} (84%) delete mode 100644 Library/Artifacts/78/784df0dd93ee8b1649413b52dddec61a rename Library/Artifacts/{45/45c0a0179314304a44c066ec8bfd9612 => 79/79d8f6f812613bad4ceaa466627c26f5} (97%) delete mode 100644 Library/Artifacts/7a/7a0f8b68a408f97154bba2c527626095 create mode 100644 Library/Artifacts/7a/7ac0e60e1486e0a5ddcf155426626903 create mode 100644 Library/Artifacts/7d/7d0de0c0612a188e86dcfad6ee3deb1f delete mode 100644 Library/Artifacts/7d/7d4937cc7f1dba624cd8af3dde5be368 delete mode 100644 Library/Artifacts/7d/7d7747e1b4c7428fb7d916b9903f08b1 create mode 100644 Library/Artifacts/7d/7de8f24fc226bc70382761096de6e261 rename Library/Artifacts/{cb/cb156a992ee7945cb85c4e91bbde0aa5 => 7e/7e19a6632d7124a0f0bbbd7191759ec4} (50%) rename Library/Artifacts/{6b/6be3fe7443e293389df869dd0fcb2c22 => 7e/7e1fb48bb9b057d9528e127c61cd6997} (52%) delete mode 100644 Library/Artifacts/7e/7e701ab99044b0dd8280701c5a0c04f1 delete mode 100644 Library/Artifacts/7e/7ee9b7d4e325a6d465ba2ca7fde4f74b delete mode 100644 Library/Artifacts/7f/7f04c4aab9f926f19cd7cd34ac67be14 delete mode 100644 Library/Artifacts/81/8158111769fc1090341e38ec4d293150 delete mode 100644 Library/Artifacts/83/8336c0be4d7f51fea3df326cce34321f delete mode 100644 Library/Artifacts/84/8451ac7f5c7178d106137dec3c8bb851 create mode 100644 Library/Artifacts/86/8653b97f5b640f3c5a362becf3209fde rename Library/Artifacts/{21/212a2adbdb0dabc0c370c7b88a91e9fb => 86/868880f42206d4e3a050b76faf731355} (96%) delete mode 100644 Library/Artifacts/86/86a818333692baa9737d479fe0370e97 delete mode 100644 Library/Artifacts/86/86d9beca5aebbc9c90367982c297a758 rename Library/Artifacts/{1c/1cda8eef451e6638ba945b715281909f => 87/8737508806ba5c4dac2944b31be1141f} (52%) create mode 100644 Library/Artifacts/88/8855924b7339b324d950f4bd97334d89 rename Library/Artifacts/{e4/e4bb8ddf296d97fe4a73b1d5a5a4ae0b => 88/88fd80bc6d0c9fbb04c0fed4edbd2c80} (75%) rename Library/Artifacts/{a5/a5adf5b0c280caefe925eaed4bccfcb9 => 89/89cee7766b5de577fba4c6dcfdacd32d} (93%) rename Library/Artifacts/{66/66375bb9872f20f82dd950d43df139ea => 8a/8a197d247d0f9dde4186d70a3100dd7f} (74%) delete mode 100644 Library/Artifacts/8a/8a49642e228ad78342d181bd8d06825e delete mode 100644 Library/Artifacts/8c/8c8596fe319121beae9a54c635ed16de rename Library/Artifacts/{fb/fb01fdbd643f165ea13142188fb80060 => 8c/8c8d7bcbee298b5f170b9a26257b1c7a} (64%) create mode 100644 Library/Artifacts/8d/8dadd681e708e25f7f5535c1545de709 create mode 100644 Library/Artifacts/8e/8e70b08c39d6c372dcb7681c605b69f6 delete mode 100644 Library/Artifacts/8f/8f1edb7857bdd2ea79a5159be486358f rename Library/Artifacts/{90/901d797bee9ebad571bd2857e84ca145 => 8f/8f64d6c3683144133c88cb9a7a61bcde} (52%) create mode 100644 Library/Artifacts/8f/8f683a1db1a61990a5af990b739d26bf rename Library/Artifacts/{4a/4ada50ba25f4985a7907f22f3656a9e2 => 8f/8f79cf2225e5979a4f651640850bc03e} (72%) create mode 100644 Library/Artifacts/90/906751a44cf18b9441eef75eebc2b69a delete mode 100644 Library/Artifacts/90/90953db292194e7890a205b9f80a946d create mode 100644 Library/Artifacts/91/911ae6be7425e8b4b765b4c21a64a0cf delete mode 100644 Library/Artifacts/92/92629d4062f728dd83ae613760ce323d create mode 100644 Library/Artifacts/92/92e3f456d1bc9dead9605325da44f4c8 create mode 100644 Library/Artifacts/94/94b542673947f0d4fe073e383231cdfa delete mode 100644 Library/Artifacts/95/956f009800194626eab40f2e0963c71a delete mode 100644 Library/Artifacts/96/96357dcbaba56a34a381145a40d4881b create mode 100644 Library/Artifacts/96/9679cbca7f4b647b594d16ac5b99ed87 create mode 100644 Library/Artifacts/96/96c78d4c883eb34987643bcc972c744d delete mode 100644 Library/Artifacts/97/97f602e3a4c8bc535563f53d38f3bfcb create mode 100644 Library/Artifacts/98/98288dabf1c28ef10ca0d52f3ab1c764 create mode 100644 Library/Artifacts/98/9897f9a6c4f58a779af952967e014845 delete mode 100644 Library/Artifacts/98/98b3d8b706e52fd4f6ea925b2aeb9d1a rename Library/Artifacts/{24/24039d0aa0486b9b277211603b44d5c3 => 99/99ced913abe8288acba3cec075aedc80} (94%) create mode 100644 Library/Artifacts/9b/9b2f8de9ff623bc9f0060eabb0391fb2 delete mode 100644 Library/Artifacts/9b/9b9149f6c8dfdc5192a318d1efc4ebb1 create mode 100644 Library/Artifacts/9b/9bbaf3842a2195ff90ab3cc74be03bfe delete mode 100644 Library/Artifacts/9e/9e2ce0c15bb1859a3e4ba4bf91193a9a delete mode 100644 Library/Artifacts/9e/9e9cec5f44f2472501038634b4021d14 create mode 100644 Library/Artifacts/a0/a084d0b7074cea3bec256bf3fee3570b create mode 100644 Library/Artifacts/a1/a15cebf614e9de98a098fe5cc76f6b0a create mode 100644 Library/Artifacts/a2/a2cec4eaae2677fcd9d602671e870443 create mode 100644 Library/Artifacts/a3/a3d78998b8d3535c810b25c25b9defa5 delete mode 100644 Library/Artifacts/a4/a488f146b3e68eaad901968ee22dbac1 rename Library/Artifacts/{c6/c665fd02bd3eb8a4fb25359d83b9bd07 => ab/ab5ff59a35b2b7f2a7a945bb6f3312b6} (97%) delete mode 100644 Library/Artifacts/ab/abb5253f6fc5e7647acfd8536936bcd8 delete mode 100644 Library/Artifacts/ad/ad6424a86a0634699facf256f1fb38c6 create mode 100644 Library/Artifacts/ae/ae1eb388f9a6e214b5b8d06e76e8ffbe create mode 100644 Library/Artifacts/ae/ae273eaea99a1f626f5acab6247f3214 delete mode 100644 Library/Artifacts/ae/ae910067e1dc709eb69977e20fbf40f6 delete mode 100644 Library/Artifacts/b1/b162a9d8c12a9f4d55c00c39c2d4091c rename Library/Artifacts/{67/6719e84b7aaf18d48f792cc634f6f200 => b3/b3125d17b1f826dee58e12817e40922c} (93%) delete mode 100644 Library/Artifacts/b5/b5a3f8c37e056fc7d7efb4a3be147980 delete mode 100644 Library/Artifacts/b6/b61140570fd7308315a4621b054c4548 create mode 100644 Library/Artifacts/b6/b68c57ed669aad0c238ac702785a827a delete mode 100644 Library/Artifacts/b6/b6fd235778ddb58413ed49aceac24661 delete mode 100644 Library/Artifacts/b7/b7cc9fb8c564456e94db42e549417abf create mode 100644 Library/Artifacts/b8/b86ab35faf27402148a9b6a7ac9ee040 rename Library/Artifacts/{a5/a5db7d7887a41ea56916e23f26cb2630 => b8/b8ce87ecc6212cbb11ffc227243b5003} (77%) delete mode 100644 Library/Artifacts/b9/b9d6d45fae10b4f6d04a07ba1f9d9859 delete mode 100644 Library/Artifacts/b9/b9d72b3f5ef60a52d09c45bfe80daad2 create mode 100644 Library/Artifacts/b9/b9ede54d78e714d7e533c4716541b4f2 create mode 100644 Library/Artifacts/ba/ba18546453b1feb93cc528b117d924b0 delete mode 100644 Library/Artifacts/ba/ba94d3a5d435aa1b7d2b972a4341690a delete mode 100644 Library/Artifacts/bb/bb789ccb4c470bf8c184af48ad6574d1 create mode 100644 Library/Artifacts/bb/bb8b71cff9c200108f0940b83b672bc1 rename Library/Artifacts/{68/68018f9e1157e867d1d0543e25412e52 => bb/bbe0558a2f350d2a95a10fc7dfde2a40} (79%) delete mode 100644 Library/Artifacts/bc/bc8a1d23f321c4809dd228989e5db709 delete mode 100644 Library/Artifacts/bc/bc8e1530f0b626210d2175121f742a47 rename Library/Artifacts/{e5/e5668ee6b84f65668cbc4c480d95b033 => bc/bcb2e364bb51f21ed53c01e106b66628} (93%) delete mode 100644 Library/Artifacts/bd/bd337ff4274eed0c2af97bd40ea390b5 delete mode 100644 Library/Artifacts/be/be68fab25ff957c7ae8933b2d4bd2d2e create mode 100644 Library/Artifacts/be/be6ece51d46b57b83d4b053e469d2609 delete mode 100644 Library/Artifacts/be/be8697b1180b0bc4228039c2e2cb22ff delete mode 100644 Library/Artifacts/bf/bf1ec12be158c0eae57a12260628d0f2 create mode 100644 Library/Artifacts/c0/c031120967386e22dc26bd052a5b743c delete mode 100644 Library/Artifacts/c1/c15c299567100093b85b282bd5877e9a create mode 100644 Library/Artifacts/c1/c195f1190ddf2d00e33462a27f458369 delete mode 100644 Library/Artifacts/c1/c1b7fabaf410c05aa19543290dafd9df create mode 100644 Library/Artifacts/c2/c20a7facf52f4bf7dfefbdb877af4ed3 delete mode 100644 Library/Artifacts/c2/c26c148351403f3fc8383de459ab9ce8 create mode 100644 Library/Artifacts/c2/c27d292ed21475343e74efb420463539 delete mode 100644 Library/Artifacts/c2/c2c5928370efc7366531b10c3f54255b rename Library/Artifacts/{fd/fd20f051e245c2dd3daece93e8a09994 => c4/c4d1c182ed5f3b1f75d2eafe1535bbdb} (90%) delete mode 100644 Library/Artifacts/c7/c776c8a5f70cbb8bae522b13fdca9ce0 rename Library/Artifacts/{57/57977e960f936058ee99c93267c967bc => c7/c789c824c0c6362e464a7844e021ebfe} (80%) create mode 100644 Library/Artifacts/c8/c81c75d41bf2678280cf69acb6af9c4b delete mode 100644 Library/Artifacts/c8/c87b5ccea564dc79d0ac4f0f76a8e15a delete mode 100644 Library/Artifacts/c9/c97b02f8e7eef28ec0afd1bc303bb625 rename Library/Artifacts/{fd/fd5de04a9e7ef405984962d1e52a4ce3 => ca/ca3c3ff13160d914d2b5924bbeca4f11} (91%) create mode 100644 Library/Artifacts/ca/ca496ccbb331da9d3e0339143ce3471e delete mode 100644 Library/Artifacts/ca/ca68e47eb2417f5ed2b60221362d7048 create mode 100644 Library/Artifacts/cc/ccae06588275ee39a32322887615ff4b create mode 100644 Library/Artifacts/cc/ccf781e0eba2ea66a590d1c38f664db1 create mode 100644 Library/Artifacts/ce/ceb4796c5b20e0e99fbe876555f92fcd rename Library/Artifacts/{2a/2ad31fd15ac0023ea9e5596a7234399d => cf/cf87fa3baa505d1dd27391f7ea661246} (92%) delete mode 100644 Library/Artifacts/d1/d16230832f9417298699d4e944ceda02 delete mode 100644 Library/Artifacts/d1/d18057b71c94c13fd616b88e6414af91 create mode 100644 Library/Artifacts/d1/d1a08f02d7902e06bf8dfa68109754f6 delete mode 100644 Library/Artifacts/d2/d233d397237f349c63cfed6fe3630d8c delete mode 100644 Library/Artifacts/d3/d378946d9149e7b7a13dcd19401428e4 create mode 100644 Library/Artifacts/d4/d44a17446e69363a5f427b44b900cbdd create mode 100644 Library/Artifacts/d4/d470fd31733ce665f0fc4d8dda7cbe88 rename Library/Artifacts/{6e/6e7e94518aae43ff3ad43071d3733f27 => d4/d4743871fcc25ffa8f8add7f8eeef693} (95%) delete mode 100644 Library/Artifacts/d4/d4ab1a1129fdf87070b40fbd48a022af rename Library/Artifacts/{77/7773ea7a38dd771faeeaa3438a009202 => d4/d4c75f87756ef31da7668f4a15a8433c} (75%) rename Library/Artifacts/{ca/caa5136e7c8d99c3103f2568cc35dbd8 => d5/d5722d79e7636edc9fdc19ab72601b7b} (95%) create mode 100644 Library/Artifacts/d6/d6f7be9d19ce11bf0ef5f6c94baf63e2 rename Library/Artifacts/{a2/a2eb5d1af8220fa1eb87f6a8c664d5f4 => d6/d6ff9854d1473611a5b1bb89a84637bc} (84%) delete mode 100644 Library/Artifacts/d7/d74c500dbffcccf73a4f1d84ca23a6e5 rename Library/Artifacts/{3e/3ec7f2e637c124d1ecb74926d9928eb0 => d7/d778825ec8560ad55274133ee6c455e4} (89%) delete mode 100644 Library/Artifacts/d8/d82fb57954f4f056020222e803d867e7 delete mode 100644 Library/Artifacts/d8/d88c6e11050322557ec667bc8f98ffa5 create mode 100644 Library/Artifacts/db/db5f7e9a86ae06d5e98eed06ffe3a699 create mode 100644 Library/Artifacts/db/db61abbfc4d291680020841c34fc1589 delete mode 100644 Library/Artifacts/db/db88e0324716773915dd80a50bfdab94 create mode 100644 Library/Artifacts/db/db8cfcf22943f9b0db85c9a9bd0c2e7e delete mode 100644 Library/Artifacts/db/dbfc1d7d021dbe30239bdfb0a02147e5 delete mode 100644 Library/Artifacts/dc/dc7653414ca236297e0b908b30779769 delete mode 100644 Library/Artifacts/dd/dd01c4e8ab0eb7a1731ed75425870cdc create mode 100644 Library/Artifacts/dd/dd4a08a7cf0d2fb7eae6a06d2a7b7b8c delete mode 100644 Library/Artifacts/dd/dde887abf1d460dc6bf5a2ba4a19773d delete mode 100644 Library/Artifacts/e0/e0e6d0b1ded641cde9238e2b19b8e69d create mode 100644 Library/Artifacts/e1/e11a37ea897d76830542923294632bcf create mode 100644 Library/Artifacts/e1/e1bfd80773dbbaa41d62e8433a0d6fc2 create mode 100644 Library/Artifacts/e1/e1dc51a962eca2d5ac58a65b6f1b210c delete mode 100644 Library/Artifacts/e2/e23102779622654d331fa7ce9e197e92 create mode 100644 Library/Artifacts/e2/e236925856a29fd8a5afb20e1ce36cff create mode 100644 Library/Artifacts/e4/e40d159575850476b146b3f8f9d492c0 rename Library/Artifacts/{23/239fd20c0862b3d16a1d88089563ac00 => e4/e432ee5570e5097b05d56a450ea457a5} (75%) rename Library/Artifacts/{b5/b59d678b9d4dd088bb41ca50c1f67b3e => e4/e43e250b34b82aa2e7b51a14857fe630} (95%) delete mode 100644 Library/Artifacts/e6/e6421169d5e000d3247bbe3325e91674 delete mode 100644 Library/Artifacts/e6/e677122ab23183c5c614fd7aa6480014 delete mode 100644 Library/Artifacts/e6/e68bbb91104b37404c3b8f53b2f51383 delete mode 100644 Library/Artifacts/e7/e7713eae1495e706cd03916d1b2e34b4 delete mode 100644 Library/Artifacts/e7/e787b48ee3cfb3c5d320edff40c12792 delete mode 100644 Library/Artifacts/e7/e7a4ab989b955699fbb91043c60f6007 delete mode 100644 Library/Artifacts/e8/e837badce34b2a32d8348ffe7d35dc95 rename Library/Artifacts/{16/16ec92a4d1a2580d67dbeeee07e2de95 => e8/e83a635380e45642a689ed0137bc77ca} (89%) create mode 100644 Library/Artifacts/e8/e85b30ea010ad0aa6c0f1920480f1f2b delete mode 100644 Library/Artifacts/e8/e8b6d9853dc01da844756ada8ea25053 create mode 100644 Library/Artifacts/e9/e91533e40e7cd04d8adb5df56fd5d281 delete mode 100644 Library/Artifacts/e9/e9400772231fbc333f73f1589f9f13a1 create mode 100644 Library/Artifacts/e9/e9a8e008b8f771e9e5694190ef9af86a create mode 100644 Library/Artifacts/ea/ea4e4a749880e6246d3add93447b2662 delete mode 100644 Library/Artifacts/ea/ea7ddabd2bc59a01ef9e0bd9fc7d2fba create mode 100644 Library/Artifacts/ea/ea8876bcf0eabc04644be4d0bbd33d2f create mode 100644 Library/Artifacts/ea/eac777321fcdda3107f1683b0c5db3b0 create mode 100644 Library/Artifacts/ea/ead2df2f9dec78677e246af170dcd6c2 rename Library/Artifacts/{a8/a83bf9f944fd2ee96b22c04bcf0c2c1e => eb/ebf7675c824a7287253a4fca06f7cea2} (90%) delete mode 100644 Library/Artifacts/ec/ec99394566310c872b7c535b6987cf7b rename Library/Artifacts/{90/903f83ef729a1b4324d8464f26db5f7c => ed/ed14bcd21b31ca656c147bd2e5952d11} (50%) delete mode 100644 Library/Artifacts/ee/eec5e14c118b1c9f4937d1bd6e60a9b6 rename Library/Artifacts/{a6/a6c36bc3e1a159acbe96b276b6033deb => ee/eed9d9d2f8c3dcf3b4bd07686efca59d} (51%) delete mode 100644 Library/Artifacts/ef/ef0cb1e67847c16805b74416d620c030 create mode 100644 Library/Artifacts/ef/ef91cbb090684f43f06375fed9fd8559 delete mode 100644 Library/Artifacts/f0/f01aee68f7fb218075cf3ac0244d05c0 create mode 100644 Library/Artifacts/f0/f07db54d3dd9180f32d50f55d370b5b3 delete mode 100644 Library/Artifacts/f1/f1412abf1a0b8cddfb9692228ab6ef0b create mode 100644 Library/Artifacts/f1/f16b1750c8d2321f23cd7c09a1d46dc5 rename Library/Artifacts/{e3/e3d2f66c4af8d6bb3d540b7a663f34f4 => f2/f2bffd4f52c0723496aebb41cca84016} (73%) delete mode 100644 Library/Artifacts/f3/f3447dd5e28ff41fa92c6612f2404d1e rename Library/Artifacts/{12/122d48429f9b0c28de3e54770d6be015 => f3/f39d2bfaad919f15b5b562bd426a297a} (74%) create mode 100644 Library/Artifacts/f5/f54ed6b9cf15400491d8fc72f98cfaa4 delete mode 100644 Library/Artifacts/f5/f5e17829e457c5a6588226267a1eb519 delete mode 100644 Library/Artifacts/f6/f6ecfad0a3ed627d24bc8862039d42e9 create mode 100644 Library/Artifacts/f8/f8173db97c2d85cee057e7979b485607 create mode 100644 Library/Artifacts/fa/fa646191efb965e6da28eb62b28f5daa delete mode 100644 Library/Artifacts/fb/fb27fc8b3690e5d512164fe55c956882 create mode 100644 Library/Artifacts/fb/fb84f5cd0d4a52bf322ba20029f93fdb create mode 100644 Library/Artifacts/fb/fbfd3b51d44f2152bcdc4f56c24466b4 delete mode 100644 Library/Artifacts/fc/fc5aa2f1375c731f08d8757a5e30967e delete mode 100644 Library/Artifacts/fc/fcc3d01bd0990c79589fa300e140ccd2 create mode 100644 Library/Artifacts/fd/fdc3a464eb3cad3500181b91553fe9e5 delete mode 100644 Library/Artifacts/ff/ff593fffe4213eab9d9916294c4e9499 rename Library/Artifacts/{2a/2ae9b0b566b32d33d649a6105ae5b108 => ff/ffd724f1ebaa8153e2f0c7008e8d0978} (67%) create mode 100644 Library/StateCache/Hierarchy/8cbfdc-482589a60f2731a408.json create mode 100644 Library/StateCache/SceneView/352ee9-482589a60f2731a408.json diff --git a/.vs/RimWorld-Animation-Studio/v16/.suo b/.vs/RimWorld-Animation-Studio/v16/.suo index 724830819073c600859e587ca8b9eadcd2587561..e58f8ab17f89a00b3839cc83af001708e5c0c207 100644 GIT binary patch delta 15947 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 J#jC$1{|m2B?-c+5 delta 11671 zcmeHN3tUvyx}UZ8y!K|maReL@VMJ8IQAY$Hh%w@*s3a4Rnj-S{MM8pJARnM)W~jp~ zWBDi(R5UXcCK)6142m7Q*Q;cfW@S{C<~c{HIOq02IN#bc1EX-u?zy*L_xE%2`?L0X zf9w0!5!Sp^3XJAj%xqUD`+bciHa8CLZ%Sy!+&SiNWOqtH*o=-d=P{RzywjONaO}DQvkyNlK|rZJRkr-D@!1Z0Q7dmhe8O|ggkEu9|6$D zCqvi+f4;JBe;$THYtDg`xqw7K3}6<3ruV0IDl-L9GZkH3@LSD9o1l*rnxh>%O+-!O zG!xCIW};ztW}@j2Y9=UZHxsq_zhb61sPAf~nGmODqQZ=Y(A7)^h1gDv3 z1y?hHzJ*3;IyDnDm(xttJk(4yk3P}x-UC227Y|_q;0b`!K-73`WyQTEw1Cr66L3GytLT-*{KOV>8e8yD-27DLWcF1eCqknjNhQT>P| zz~>rzz`km{e_)x-68ux-RClx-nk#f^66fh-B`6i@t~NqBK%YT z)hNnR5bzwrs(f#Y_pn@DKwMg(l}4I7aKq% zvb2Q-Fj$j0z;6CbqaqDb7XX|Z#4VYQxv{_~PKOMqKpuV|&^1V)4-yl`8wI%2iR};Z zR{%Zfre#sqo|=iZkq}zHwIsrFFDh=_k8WEP2Z}GMnTydw&$DkgOs~_%X&Bcz`eHY zub-8Fb@EuTkQb9bQ+cOu?)yQHoYnf4g=;s&z27Kgypz9GS@P(l^~NuhpS|hvb9LeH zXJ!i-s|(ha6&sn4SWDcA!w6O4;@nl1)iGdyz5ri9KR}xW)xCglQ34oy;Wb1~)p3iJ|Mm~h&u^dqvE}UXCB3%9eCmq}FPW9? zua~rrAK&us-K>POWlNOy5$Zl@tenXpGcLaLED3JlJe0Y?A3ryx_HXaZUT%0=_r_>X zD!S$PQZ4d*Iw5Yy?f$5tX#VpRo1T@nQ2kOv(g*9O&&I~+0HyZh_1?QG$R{zefrWnC zckUEMzANrp57fUvrBWT+m~->=fp2oEa7C;a-W^|rH5&)GBf8_!Q&VV4n9UoFxIv-A zEgLVmi)KR(omI|Uw`Pc(1;9fp{P_jMxR6y?mL1=WDwi>&av-lFSz_MX5|nxckyIN8 z`kxuB9IxK`PDF0pxr5w|@TY^7p@L{hPkO^%AjY=Yg+06z#Um|$dimCyUhgi*y|51# zukyl4Pgd3#3z2fws+##P2KCsmdi3OckFnZz`?wz8OlH(`ffi%*QB*T13yFn|IA^fQ zHF6YdJYfkaMp*JZOOc$8;sWdh)y1Jm*9b4~0WJdG2V4St0QeAa8E^&g5#TDI1yEL; zF6P1PWyPU*@l9`1^cPuxMPF(|=1>z#!)2it#ObhdaC+EFXf2*FYzbW&YD>wAm8d2! z8p&m#GN&4G-ty9#$$3cnBGiad;le5F&8CU=wQ9N~cM=Z!?owt{&;y;GfzJAF>mYIh z01xS3&rPuCSKCl!Ez?z&nnw*tO!9tXgK+h6<<&9nSiE<@(Er6h`xN04Yn zK8hI{T8`vJ?sU7Ma&f@bw&3cvk=V9QkBd_ESYM@9j*d*qd*kX<{_r!SK6^DypNX4R zsx3uTMcucxxocb16RgM+O+jnkhvVrI-~+&ifXjd@0IIaB5Pl5!1n?=~8sIZP6X0{e zZNQg+>wvESUjuFcZUVjm+yeXs@K?a!0JP1=U`$j$-$ML5Rz&{ng@*C)-VOk#0Jpz3 zNkKXE07p5hKTF=BQdF76)Ow=m-(O;SCjX+ud)~ocA5ps7=S_S@enLS`21bn`ijg|) zs8IV^jKPFsNaOdMvZuXVRCaoSAtTdKcBI=_ZRjX_QBy}z6kl_=2)PUMk(M{6EX$(} zi$h0h!|?Fd1TnObi<|ZiaT~1-8R0nfJE}Wo^3j4)^aKU z`k0aOl%N1{*jTL&_uLmr2QJ0>8#Z&LO-lpjwaWkH&>2M{kP|&JBIC%|UZUjL?SJMfjI#j(P8yhZcmX>6pSU7IdQ)v}^f! zr=fp?A(`%o*6dEAwK+x^v2U4YMEj`ipKJV=ow?p95v-iE*@U{So77RaDj0cJ{vfW3 zMnP3?u;Hi(&ZfE6L_ONens-ceM|8!~Ero{mJ$MIf*EA+|O>Nm>R1`ph(}S`X-C62j z*+X|j9%b3l5K@QfRR|#}xcvtptN>U5RRAyQ9QUD{7wv|AOrRls=*A~7bn_uYce`6G zqKBm01gJu*!((Yr+l1t_9tDQe%Nzisq8|`kPh80rNSKKW0;Y>sz+1=J)Di%LrN`sF zXYK%_n0{Vx7IS+IB6Jk+SlTB|ML2rEP)X<6{lDVMOsDD-4FPOlZD9Anxu)Klbw%Y)BGG)>SH2N2bnz5q?h?xO@~m9o5Pz>EP=+TOYH3A zfm{o>PS-+2%4Q%!Ocq8?YzZH1nhZR^?l$nKA1pN(9%lQy=%cos#Wf99MVq z1f8egv>ZTHC(-1pXmL!Hm|+N`VS1M!$Mb<7nvYkHO>v1e@@YeKaN>n;}$qTKkPf8M4lDY?7wOnl)gsc}isZL95CG2LaX|^ABq2nfgszdC^^A`Atz)Ft)tk`T6)-c_OV%>5hgl>i zypqJ8NUQu3-mU|_0(=d?+y1n$wv-9n`G=ScZ@70_++V`LhJF`IZ1crF@Mc}8 zLfb%D-$+7y9D0;WONMvoE$202s+QCdzhy{i{dcKME|aXK4Ok_fXyWfrBkw@p^jqD3 zLww1EW0Eb_WDnWy?ZhZ!>a2Pd8>A#TVN4)7dP(L%P8^XQBDVKr3B-6)mP$@E%f2V% zd)cDeOwL`20~sZmcU?BXs=qEX^k#Y>vi@h;T;?buWk1Ve%5Td2$YZUrZ=L^#Ozod5 z$`EA%(nNWpWug=aGeqg4Mevp-$`&mkOIu}$WWo>J0B<)seT7G9qaUp4>0vlWs(E=K zxh9t@)wu#WO$BnAo{^ac#5XrxaGFSkSUyD6w+q*;ZIhKUUA>)WTs#!YLj`ZgO$<&M zJ@MQ`4V_&o?Og(+&2Z@oo$V~)X)gf+Ed?U#Di9gM$)6$qa=C%5lgKUPoLFu}7dmV9 zwbxwK$(W&$dm0!ewKw1?ra8hW(Yu`uc-b4E`p5yY?phT+u-dvAOKwK~{mSjGRQB?v z=^&SjUP!P)?ty+)ePTC};a3ZJ^@{K68qdbnM<#XWGYc8Y`)gRss<_^aw_2D}_J4Ga zf%!#-x9xhQ=COwF=IR-I`!FvHw$UjNY+bFCr?cKY?RDV4($*jTTLFe+_KIy1xx4jQ zclk}m+t5)=XG?;2dORCWbhPhcJx*o-LxPWQBo!}lQ|0%>1pmq|GRUIfDfOb41cu)- zXEc6xCEV+WNZ#jzh2Xi;Dfx*yx1bbJ0H4%Q0mv6Kwal|hd_3Rx>H~G2-Iz+Q=oe?yAgAJe&f7a;Ssby+GY(It02mvtwTIieMY{7U=Wfn`^(Wn`@^?$<%1RcB8p` zX}GU|!>U~iICORY?k}vO2ixs@T-v6eEjoLiM@8$?DOxwVUft%}h4S~cD+>N=Z1gyy zAMWVg5gf1du}+`B-$mt&Tn}GbV{qBgF(GB;J!B# zu4Z*`FP#Q|>7r2hOUIGV*VnAnq7KH}^ZqLr5je2p&94RF>nqi;n@ov{nL3wL&yiJ- zwv&vv)s!mDsko1}Op?%#jBCl$Pw?5ed7BEVQAcM7sjrbPA;T83!$|TmPD;dYaHmMk zVNPYeI9)a@@z+>HqlDFvPqs@nwPLk>bo^+T5OdLb{59YJ!H*z&8JNpG8+sb8i+{g^-DCI|%1@k7XG$^e;Z*wyd+8}5V|JCeE z=^632ai@v#6!#K3Y*#P1Hr~YV6c<8DPD6{(?+i!V@vMs85=gB%r#T}+Yiaqpq_P=q zflIg6vHd*3Ba`wxdwmaI@ z_3-MhRM#{2Avt?U&K{C8dLQtRoPp=uLAeF?=0c!=H`03|M**s{U3qY_4`F)N6>NZ z)q79%>;ErE-ftvt=N@vN--+|6h$({|1S{o1*3N!dI|wZmI2`#RfLEhJJ0HI@oF_$e zaS1#$IR{AL`MaE4LVp6b16MZ;Cc6jlbAEG8^0|RugNuwlL^qI^T5SXQ4Tz}fI79gf zspmcEQif96)v|2lFe)?jih5%4SQ*`Jud;lEhNM+X3Do7$`iFta_AxmoiG~e!z%F zLE;ore3}zzc_22f(U4O{K8`fa0}g5%4E6t55|Sc45am)*@5?_++UBxS7{G86JAwb1 zEKO&rTc!o;9U$*%_*Eo0gAFD+121*B3c@eLur5Lkl>#Y2&nCJg@T9;Q@sZHqYzpnJ zA{&k1#0Zn(b}a8l?U6-oN3XU6D9`tWwtXMx1E{kAhI8JKoQwl?0cE!*5oIJFg2JiK zQ$U7MbskLMchR3kLGO{IK91jH-xEK1g4dD&8@Gc@dx9T?uG;Co@d*pktK(1UYM`F8}}l diff --git a/Assembly-CSharp.csproj b/Assembly-CSharp.csproj index 8d10be0f..980321ba 100644 --- a/Assembly-CSharp.csproj +++ b/Assembly-CSharp.csproj @@ -63,9 +63,11 @@ + + @@ -77,7 +79,9 @@ + + @@ -90,13 +94,13 @@ + - @@ -131,6 +135,8 @@ + + diff --git a/Assets/ActorManipulator.cs b/Assets/ActorManipulator.cs new file mode 100644 index 00000000..e473d9f0 --- /dev/null +++ b/Assets/ActorManipulator.cs @@ -0,0 +1,28 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +namespace RimWorldAnimationStudio +{ + public class ActorManipulator : MonoBehaviour + { + public ActorManipulationMode actorManipulationMode; + + private Image button; + + public void Start() + { + button = GetComponent(); + } + + public void Update() + { + if (Workspace.actorManipulationMode == actorManipulationMode) + { button.color = Constants.ColorGoldYellow; } + + else + { button.color = Constants.ColorWhite; } + } + } +} diff --git a/Assets/ActorManipulator.cs.meta b/Assets/ActorManipulator.cs.meta new file mode 100644 index 00000000..ae375fa5 --- /dev/null +++ b/Assets/ActorManipulator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f627be313335bf748b33eea98541581d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/ActorBody.prefab b/Assets/Resources/Prefabs/ActorBody.prefab index 12eb7865..10202a96 100644 --- a/Assets/Resources/Prefabs/ActorBody.prefab +++ b/Assets/Resources/Prefabs/ActorBody.prefab @@ -1,5 +1,159 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &3158459618386162366 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7516402502875270591} + - component: {fileID: 5996161745621340017} + - component: {fileID: 4934178213527836817} + - component: {fileID: 7811055239270456900} + m_Layer: 0 + m_Name: ActorBody + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7516402502875270591 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3158459618386162366} + 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: 7929422520673851209} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &5996161745621340017 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3158459618386162366} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: -2115984483 + m_SortingLayer: 22 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: e6887bc2f64df4d4b91bd2d0ad0ffd98, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.5058824, y: 1.5058824} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 0 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!60 &4934178213527836817 +PolygonCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3158459618386162366} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.5058824, y: 1.5058824} + newSize: {x: 1.5058824, y: 1.5058824} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Points: + m_Paths: + - - {x: -0.11176471, y: -0.5117647} + - {x: 0.1, y: -0.5117647} + - {x: 0.20588236, y: -0.44117647} + - {x: 0.3, y: -0.052941177} + - {x: 0.2882353, y: 0.12352941} + - {x: 0.21764706, y: 0.20588236} + - {x: -0.04117647, y: 0.24117647} + - {x: -0.19411765, y: 0.21764706} + - {x: -0.2764706, y: 0.15882353} + - {x: -0.3, y: -0.07647059} + - {x: -0.21764706, y: -0.41764706} + - {x: -0.17058824, y: -0.4882353} +--- !u!114 &7811055239270456900 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3158459618386162366} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8c55c83d4c4dd1145ad5fbbab3c3df36, type: 3} + m_Name: + m_EditorClassIdentifier: + AlphaTolerance: 20 + DistanceThreshold: 2 + Scale: 1 + Decompose: 0 + RunInPlayMode: 1 + UseCache: 0 + lastAlphaTolerance: 20 + lastScale: 1 + lastDistanceThreshold: 2 + lastDecompose: 0 + lastSprite: {fileID: 0} + lastRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + lastOffset: {x: -99999, y: -99999} + lastPixelsPerUnit: 0 + lastFlipX: 0 + lastFlipY: 0 + editorCache: [] --- !u!1 &7929422519883802246 GameObject: m_ObjectHideFlags: 0 @@ -32,7 +186,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 7929422520673851209} - m_RootOrder: 0 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &7929422519883802244 SpriteRenderer: @@ -81,7 +235,7 @@ SpriteRenderer: m_Size: {x: 0.64, y: 0.64} m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 - m_WasSpriteAssigned: 1 + m_WasSpriteAssigned: 0 m_MaskInteraction: 0 m_SpriteSortPoint: 0 --- !u!60 &9094326343171681927 @@ -180,9 +334,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 7929422520673851209} - - component: {fileID: 7929422520673851208} - - component: {fileID: 4571872096250432618} - - component: {fileID: 1604891790409609302} - component: {fileID: -4411442180840688308} m_Layer: 0 m_Name: ActorBody @@ -202,132 +353,12 @@ Transform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: + - {fileID: 7516402502875270591} - {fileID: 7929422519883802245} - {fileID: 4090857286061458930} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!212 &7929422520673851208 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7929422520673851210} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: -2115984483 - m_SortingLayer: 22 - m_SortingOrder: 0 - m_Sprite: {fileID: 21300000, guid: e6887bc2f64df4d4b91bd2d0ad0ffd98, type: 3} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_FlipX: 0 - m_FlipY: 0 - m_DrawMode: 0 - m_Size: {x: 1.5058824, y: 1.5058824} - m_AdaptiveModeThreshold: 0.5 - m_SpriteTileMode: 0 - m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 - m_SpriteSortPoint: 0 ---- !u!60 &4571872096250432618 -PolygonCollider2D: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7929422520673851210} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0, y: 0} - m_SpriteTilingProperty: - border: {x: 0, y: 0, z: 0, w: 0} - pivot: {x: 0.5, y: 0.5} - oldSize: {x: 1.5058824, y: 1.5058824} - newSize: {x: 1.5058824, y: 1.5058824} - adaptiveTilingThreshold: 0.5 - drawMode: 0 - adaptiveTiling: 0 - m_AutoTiling: 0 - m_Points: - m_Paths: - - - {x: -0.11176471, y: -0.5117647} - - {x: 0.1, y: -0.5117647} - - {x: 0.20588236, y: -0.44117647} - - {x: 0.3, y: -0.052941177} - - {x: 0.2882353, y: 0.12352941} - - {x: 0.21764706, y: 0.20588236} - - {x: -0.04117647, y: 0.24117647} - - {x: -0.19411765, y: 0.21764706} - - {x: -0.2764706, y: 0.15882353} - - {x: -0.3, y: -0.07647059} - - {x: -0.21764706, y: -0.41764706} - - {x: -0.17058824, y: -0.4882353} ---- !u!114 &1604891790409609302 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7929422520673851210} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8c55c83d4c4dd1145ad5fbbab3c3df36, type: 3} - m_Name: - m_EditorClassIdentifier: - AlphaTolerance: 19 - DistanceThreshold: 2 - Scale: 1 - Decompose: 0 - RunInPlayMode: 1 - UseCache: 0 - lastAlphaTolerance: 19 - lastScale: 1 - lastDistanceThreshold: 2 - lastDecompose: 0 - lastSprite: {fileID: 21300000, guid: e6887bc2f64df4d4b91bd2d0ad0ffd98, type: 3} - lastRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 128 - height: 128 - lastOffset: {x: 64, y: 64} - lastPixelsPerUnit: 85 - lastFlipX: 0 - lastFlipY: 0 - editorCache: [] --- !u!114 &-4411442180840688308 MonoBehaviour: m_ObjectHideFlags: 0 @@ -343,7 +374,7 @@ MonoBehaviour: actorID: 0 bodyType: Male isSelected: 0 - bodyRenderer: {fileID: 7929422520673851208} + bodyRenderer: {fileID: 5996161745621340017} headRenderer: {fileID: 7929422519883802244} appendageRenderer: {fileID: 4251726083449519904} --- !u!1 &9122292209377678227 @@ -378,7 +409,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 7929422520673851209} - m_RootOrder: 1 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &4251726083449519904 SpriteRenderer: @@ -424,7 +455,7 @@ SpriteRenderer: m_FlipX: 0 m_FlipY: 0 m_DrawMode: 0 - m_Size: {x: 0.64, y: 0.64} + m_Size: {x: 1.3837838, y: 1.3837838} m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 @@ -448,7 +479,7 @@ PolygonCollider2D: border: {x: 0, y: 0, z: 0, w: 0} pivot: {x: 0.5, y: 0.5} oldSize: {x: 1.3837838, y: 1.3837838} - newSize: {x: 0.64, y: 0.64} + newSize: {x: 1.3837838, y: 1.3837838} adaptiveTilingThreshold: 0.5 drawMode: 0 adaptiveTiling: 0 diff --git a/Assets/Resources/Prefabs/KeyframeSlider.prefab b/Assets/Resources/Prefabs/KeyframeSlider.prefab index d4aff3a6..ef4fd057 100644 --- a/Assets/Resources/Prefabs/KeyframeSlider.prefab +++ b/Assets/Resources/Prefabs/KeyframeSlider.prefab @@ -239,7 +239,7 @@ MonoBehaviour: type: 3} handleImage: {fileID: 1135382459109805448} soundIcon: {fileID: 3845252506739069817} - maxGhosts: 4 + maxGhosts: 50 actorID: 0 keyframeID: 0 --- !u!1 &8359461402257861397 diff --git a/Assets/Resources/Prefabs/RaceDialogPrefabs.meta b/Assets/Resources/Prefabs/RaceDialogPrefabs.meta new file mode 100644 index 00000000..d757b0ff --- /dev/null +++ b/Assets/Resources/Prefabs/RaceDialogPrefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8bf51215edca6c14b9721bb7f8cdfee0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/RaceDialogPrefabs/GraphicPath.prefab b/Assets/Resources/Prefabs/RaceDialogPrefabs/GraphicPath.prefab new file mode 100644 index 00000000..faf9cb8d --- /dev/null +++ b/Assets/Resources/Prefabs/RaceDialogPrefabs/GraphicPath.prefab @@ -0,0 +1,278 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3650911576013355421 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3650911576013355420} + - component: {fileID: 3650911576013355422} + - component: {fileID: 3650911576013355423} + m_Layer: 5 + m_Name: GraphicPath + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3650911576013355420 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3650911576013355421} + 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: + - {fileID: 3650911576026333926} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3650911576013355422 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3650911576013355421} + m_CullTransparentMesh: 0 +--- !u!114 &3650911576013355423 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3650911576013355421} + 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_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Direction +--- !u!1 &3650911576026333927 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3650911576026333926} + - component: {fileID: 3650911576026333931} + - component: {fileID: 3650911576026333928} + - component: {fileID: 3650911576026333929} + m_Layer: 5 + m_Name: FilepathButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3650911576026333926 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3650911576026333927} + 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: + - {fileID: 3650911576829993044} + m_Father: {fileID: 3650911576013355420} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 37.5, y: 0} + m_SizeDelta: {x: -75, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3650911576026333931 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3650911576026333927} + m_CullTransparentMesh: 0 +--- !u!114 &3650911576026333928 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3650911576026333927} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &3650911576026333929 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3650911576026333927} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 3650911576026333928} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &3650911576829993045 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3650911576829993044} + - component: {fileID: 3650911576829993046} + - component: {fileID: 3650911576829993047} + m_Layer: 5 + m_Name: FilepathLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3650911576829993044 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3650911576829993045} + 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: 3650911576026333926} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3650911576829993046 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3650911576829993045} + m_CullTransparentMesh: 0 +--- !u!114 &3650911576829993047 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3650911576829993045} + 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_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Invalid path! diff --git a/Assets/Resources/Prefabs/RaceDialogPrefabs/GraphicPath.prefab.meta b/Assets/Resources/Prefabs/RaceDialogPrefabs/GraphicPath.prefab.meta new file mode 100644 index 00000000..bf849919 --- /dev/null +++ b/Assets/Resources/Prefabs/RaceDialogPrefabs/GraphicPath.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 482589a60f2731a408fce45fffd494e8 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/RaceDialogPrefabs/HeadOffset.prefab b/Assets/Resources/Prefabs/RaceDialogPrefabs/HeadOffset.prefab new file mode 100644 index 00000000..9ef9c691 --- /dev/null +++ b/Assets/Resources/Prefabs/RaceDialogPrefabs/HeadOffset.prefab @@ -0,0 +1,704 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3071630745649861165 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3071630745649861164} + - component: {fileID: 3071630745649861170} + - component: {fileID: 3071630745649861171} + m_Layer: 5 + m_Name: OffsetZLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3071630745649861164 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630745649861165} + 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: 3071630746837807550} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 190, y: 0} + m_SizeDelta: {x: 15, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3071630745649861170 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630745649861165} + m_CullTransparentMesh: 0 +--- !u!114 &3071630745649861171 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630745649861165} + 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_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Z +--- !u!1 &3071630745821452579 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3071630745821452578} + - component: {fileID: 3071630745821452576} + - component: {fileID: 3071630745821452577} + m_Layer: 5 + m_Name: OffsetXLabel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3071630745821452578 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630745821452579} + 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: 3071630746837807550} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 90, y: 0} + m_SizeDelta: {x: 15, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3071630745821452576 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630745821452579} + m_CullTransparentMesh: 0 +--- !u!114 &3071630745821452577 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630745821452579} + 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_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: X +--- !u!1 &3071630746061326384 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3071630746061326391} + - component: {fileID: 3071630746061326389} + - component: {fileID: 3071630746061326390} + - component: {fileID: 3071630746061326388} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3071630746061326391 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630746061326384} + 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: 3071630746703747585} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3071630746061326389 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630746061326384} + m_CullTransparentMesh: 0 +--- !u!114 &3071630746061326390 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630746061326384} + 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_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 5 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 0.000 +--- !u!114 &3071630746061326388 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630746061326384} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1f3886223a697384abc8109a51c855e2, type: 3} + m_Name: + m_EditorClassIdentifier: + valiationType: 2 +--- !u!1 &3071630746303525761 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3071630746303525760} + - component: {fileID: 3071630746303525766} + - component: {fileID: 3071630746303525767} + - component: {fileID: 3071630746303525765} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3071630746303525760 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630746303525761} + 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: 3071630746573739360} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3071630746303525766 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630746303525761} + m_CullTransparentMesh: 0 +--- !u!114 &3071630746303525767 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630746303525761} + 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_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 5 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 0.000 +--- !u!114 &3071630746303525765 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630746303525761} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1f3886223a697384abc8109a51c855e2, type: 3} + m_Name: + m_EditorClassIdentifier: + valiationType: 2 +--- !u!1 &3071630746573739361 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3071630746573739360} + - component: {fileID: 3071630746573739365} + - component: {fileID: 3071630746573739366} + - component: {fileID: 3071630746573739367} + m_Layer: 5 + m_Name: OffsetZField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3071630746573739360 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630746573739361} + 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: + - {fileID: 3071630746303525760} + m_Father: {fileID: 3071630746837807550} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 230, y: 0} + m_SizeDelta: {x: 60, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3071630746573739365 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630746573739361} + m_CullTransparentMesh: 0 +--- !u!114 &3071630746573739366 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630746573739361} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &3071630746573739367 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630746573739361} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 3071630746573739366} + m_TextComponent: {fileID: 3071630746303525767} + m_Placeholder: {fileID: 0} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: 0.000 + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_ShouldActivateOnSelect: 1 +--- !u!1 &3071630746703747586 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3071630746703747585} + - component: {fileID: 3071630746703747590} + - component: {fileID: 3071630746703747591} + - component: {fileID: 3071630746703747584} + m_Layer: 5 + m_Name: OffsetXField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3071630746703747585 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630746703747586} + 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: + - {fileID: 3071630746061326391} + m_Father: {fileID: 3071630746837807550} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 135, y: 0} + m_SizeDelta: {x: 60, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3071630746703747590 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630746703747586} + m_CullTransparentMesh: 0 +--- !u!114 &3071630746703747591 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630746703747586} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &3071630746703747584 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630746703747586} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 3071630746703747591} + m_TextComponent: {fileID: 3071630746061326390} + m_Placeholder: {fileID: 0} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: 0.000 + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_ShouldActivateOnSelect: 1 +--- !u!1 &3071630746837807551 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3071630746837807550} + - component: {fileID: 3071630746837807548} + - component: {fileID: 3071630746837807549} + m_Layer: 5 + m_Name: HeadOffsetEastText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3071630746837807550 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630746837807551} + 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: + - {fileID: 3071630745821452578} + - {fileID: 3071630746703747585} + - {fileID: 3071630745649861164} + - {fileID: 3071630746573739360} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3071630746837807548 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630746837807551} + m_CullTransparentMesh: 0 +--- !u!114 &3071630746837807549 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3071630746837807551} + 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_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: East diff --git a/Assets/Resources/Prefabs/RaceDialogPrefabs/HeadOffset.prefab.meta b/Assets/Resources/Prefabs/RaceDialogPrefabs/HeadOffset.prefab.meta new file mode 100644 index 00000000..680b8f8b --- /dev/null +++ b/Assets/Resources/Prefabs/RaceDialogPrefabs/HeadOffset.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 71c176a0c2f37d54ebb0e6e0eeac87fe +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/RaceDialogPrefabs/SectionTitleText.prefab b/Assets/Resources/Prefabs/RaceDialogPrefabs/SectionTitleText.prefab new file mode 100644 index 00000000..922f2126 --- /dev/null +++ b/Assets/Resources/Prefabs/RaceDialogPrefabs/SectionTitleText.prefab @@ -0,0 +1,80 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &9036089379332243138 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9036089379332243139} + - component: {fileID: 9036089379332243149} + - component: {fileID: 9036089379332243148} + m_Layer: 5 + m_Name: HeadGraphics + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &9036089379332243139 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9036089379332243138} + 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: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9036089379332243149 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9036089379332243138} + m_CullTransparentMesh: 0 +--- !u!114 &9036089379332243148 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9036089379332243138} + 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_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Head graphics diff --git a/Assets/Resources/Prefabs/RaceDialogPrefabs/SectionTitleText.prefab.meta b/Assets/Resources/Prefabs/RaceDialogPrefabs/SectionTitleText.prefab.meta new file mode 100644 index 00000000..96756d14 --- /dev/null +++ b/Assets/Resources/Prefabs/RaceDialogPrefabs/SectionTitleText.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ef73d82afc9a43b4f9abaf66b028cf3e +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/RaceDialogPrefabs/Spacer.prefab b/Assets/Resources/Prefabs/RaceDialogPrefabs/Spacer.prefab new file mode 100644 index 00000000..5e8f962a --- /dev/null +++ b/Assets/Resources/Prefabs/RaceDialogPrefabs/Spacer.prefab @@ -0,0 +1,46 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4818351340094933448 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4818351340094933455} + - component: {fileID: 4818351340094933454} + m_Layer: 5 + m_Name: Spacer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4818351340094933455 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4818351340094933448} + 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: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4818351340094933454 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4818351340094933448} + m_CullTransparentMesh: 0 diff --git a/Assets/Resources/Prefabs/RaceDialogPrefabs/Spacer.prefab.meta b/Assets/Resources/Prefabs/RaceDialogPrefabs/Spacer.prefab.meta new file mode 100644 index 00000000..d8ad2e7f --- /dev/null +++ b/Assets/Resources/Prefabs/RaceDialogPrefabs/Spacer.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 35dcf79abaeca054099d00068a50fba7 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Textures/Humanlike.meta b/Assets/Resources/Textures/Humanlike.meta index 3fe3d429..c6b7be46 100644 --- a/Assets/Resources/Textures/Humanlike.meta +++ b/Assets/Resources/Textures/Humanlike.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: f7e96e067b4391340aedef235fb20744 +guid: 065becec37025d54fbfd40678f17810b folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Textures/Humanlike/Appendages/Appendage3.png b/Assets/Resources/Textures/Humanlike/Appendages/Appendage3.png new file mode 100644 index 0000000000000000000000000000000000000000..7fce445ed273a8a7a4543738d631eee3b85f96d2 GIT binary patch literal 10502 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 aYkYVawAoHzhy@ tags; [XmlIgnore] public ActorGender gender; - [XmlIgnore] public string raceDef; + [XmlIgnore] private AlienRaceDef alienRaceDef; public BodyTypeOffset bodyTypeOffset = new BodyTypeOffset(); public bool initiator = false; @@ -37,9 +37,24 @@ namespace RimWorldAnimationStudio public bool ShouldSerializeisFucking() { return isFucking; } public bool ShouldSerializeisFucked() { return isFucked; } + public AlienRaceDef GetAlienRaceDef() + { + if (alienRaceDef == null) + { alienRaceDef = AlienRaceDefs.GetNamed("Human"); } + + return alienRaceDef; + } + + public void SetAlienRaceDef(string alienRaceDefName) + { + AlienRaceDef alienRaceDef = AlienRaceDefs.GetNamed(alienRaceDefName); + + if (alienRaceDef != null) + { this.alienRaceDef = alienRaceDef; } + } + public void ValidateData() { - defNames = defNames.Intersect(Tags.defNames.Concat(CustomTags.defNames))?.ToList(); bodyDefTypes = bodyDefTypes.Intersect(Tags.bodyDefTypes.Concat(CustomTags.bodyDefTypes))?.ToList(); requiredGenitals = requiredGenitals.Intersect(Tags.bodyParts.Concat(CustomTags.bodyParts))?.ToList(); } diff --git a/Assets/Scripts/AnimationComponents/AlienRaceDef.cs b/Assets/Scripts/AnimationComponents/AlienRaceDef.cs new file mode 100644 index 00000000..eb408de1 --- /dev/null +++ b/Assets/Scripts/AnimationComponents/AlienRaceDef.cs @@ -0,0 +1,210 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using UnityEngine; + +namespace RimWorldAnimationStudio +{ + public class AlienRaceDef + { + public string defName; + public bool isHumanoid = true; + public float scale = 1f; + + public List bodyTypeGraphics = new List(); + public MultiDirectionalGraphic headGraphics = new MultiDirectionalGraphic(); + + public AlienRaceDef() + { + + } + + public AlienRaceDef(string defName) + { + this.defName = defName; + } + + public Sprite GetHeadGraphic(CardinalDirection facing) + { + if (HasValidHeadGraphicPath(facing) == false) + { return null; } + + switch (facing) + { + case CardinalDirection.North: return headGraphics.northGraphic.sprite; + case CardinalDirection.East: return headGraphics.eastGraphic.sprite; + case CardinalDirection.South: return headGraphics.southGraphic.sprite; + default: return headGraphics.eastGraphic.sprite; + } + } + + public Sprite GetBodyTypeGraphic(CardinalDirection facing, string bodyType = "None") + { + if (HasValidBodyTypeGraphicPath(facing, bodyType) == false) + { return null; } + + MultiDirectionalGraphic bodyTypeGraphic = bodyTypeGraphics.FirstOrDefault(x => x.bodyType == bodyType); + + if (bodyTypeGraphic == null) + { + bodyTypeGraphic = new MultiDirectionalGraphic(bodyType); + bodyTypeGraphics.Add(bodyTypeGraphic); + } + + switch (facing) + { + case CardinalDirection.North: return bodyTypeGraphic.northGraphic.sprite; + case CardinalDirection.East: return bodyTypeGraphic.eastGraphic.sprite; + case CardinalDirection.South: return bodyTypeGraphic.southGraphic.sprite; + default: return bodyTypeGraphic.eastGraphic.sprite; + } + } + + public string GetHeadGraphicPath(CardinalDirection facing) + { + if (HasValidHeadGraphicPath(facing) == false) + { return "Invalid file path"; } + + switch (facing) + { + case CardinalDirection.North: return headGraphics.northGraphic.path; + case CardinalDirection.East: return headGraphics.eastGraphic.path; + case CardinalDirection.South: return headGraphics.southGraphic.path; + default: return headGraphics.eastGraphic.path; + } + } + + public string GetBodyTypeGraphicPath(CardinalDirection facing, string bodyType = "None") + { + if (HasValidBodyTypeGraphicPath(facing, bodyType) == false) + { return "Invalid file path"; } + + MultiDirectionalGraphic bodyTypeGraphic = bodyTypeGraphics.FirstOrDefault(x => x.bodyType == bodyType); + + if (bodyTypeGraphic == null) + { + bodyTypeGraphic = new MultiDirectionalGraphic(bodyType); + bodyTypeGraphics.Add(bodyTypeGraphic); + } + + switch (facing) + { + case CardinalDirection.North: return bodyTypeGraphic.northGraphic.path; + case CardinalDirection.East: return bodyTypeGraphic.eastGraphic.path; + case CardinalDirection.South: return bodyTypeGraphic.southGraphic.path; + default: return bodyTypeGraphic.eastGraphic.path; + } + } + + public void SetHeadGraphicPath(string path, CardinalDirection facing) + { + if (path == null || path.Any() == false || File.Exists(path) == false || Path.GetExtension(path) != ".png") + { path = "Invalid file path"; } + + switch (facing) + { + case CardinalDirection.North: + headGraphics.northGraphic.path = path; + headGraphics.northGraphic.sprite = LoadSprite(path); break; + case CardinalDirection.East: + headGraphics.eastGraphic.path = path; + headGraphics.eastGraphic.sprite = LoadSprite(path); break; + case CardinalDirection.South: + headGraphics.southGraphic.path = path; + headGraphics.southGraphic.sprite = LoadSprite(path); break; + default: + headGraphics.eastGraphic.path = path; + headGraphics.eastGraphic.sprite = LoadSprite(path); break; + } + } + + public void SetBodyTypeGraphicPath(string path, CardinalDirection facing, string bodyType = "None") + { + if (path == null || path.Any() == false || File.Exists(path) == false || Path.GetExtension(path) != ".png") + { path = "Invalid file path"; } + + MultiDirectionalGraphic bodyTypeGraphic = bodyTypeGraphics.FirstOrDefault(x => x.bodyType == bodyType); + + if (bodyTypeGraphic == null) + { + bodyTypeGraphic = new MultiDirectionalGraphic(bodyType); + bodyTypeGraphics.Add(bodyTypeGraphic); + } + + switch (facing) + { + case CardinalDirection.North: + bodyTypeGraphic.northGraphic.path = path; + bodyTypeGraphic.northGraphic.sprite = LoadSprite(path); break; + case CardinalDirection.East: + bodyTypeGraphic.eastGraphic.path = path; + bodyTypeGraphic.eastGraphic.sprite = LoadSprite(path); break; + case CardinalDirection.South: + bodyTypeGraphic.southGraphic.path = path; + bodyTypeGraphic.southGraphic.sprite = LoadSprite(path); break; + default: + bodyTypeGraphic.eastGraphic.path = path; + bodyTypeGraphic.eastGraphic.sprite = LoadSprite(path); break; + } + } + + public bool HasValidHeadGraphicPath(CardinalDirection facing) + { + string path; + + switch (facing) + { + case CardinalDirection.North: path = headGraphics.northGraphic.path; break; + case CardinalDirection.East: path = headGraphics.eastGraphic.path; break; + case CardinalDirection.South: path = headGraphics.southGraphic.path; break; + default: path = headGraphics.eastGraphic.path; break; + } + + if (path == null || path.Any() == false || File.Exists(path) == false || Path.GetExtension(path) != ".png") return false; + + return true; + } + + public bool HasValidBodyTypeGraphicPath(CardinalDirection facing, string bodyType = "None") + { + MultiDirectionalGraphic bodyTypeGraphic = bodyTypeGraphics.FirstOrDefault(x => x.bodyType == bodyType); + + if (bodyTypeGraphic == null) + { + bodyTypeGraphic = new MultiDirectionalGraphic(bodyType); + bodyTypeGraphics.Add(bodyTypeGraphic); + } + + string path; + + switch (facing) + { + case CardinalDirection.North: path = bodyTypeGraphic.northGraphic.path; break; + case CardinalDirection.East: path = bodyTypeGraphic.eastGraphic.path; break; + case CardinalDirection.South: path = bodyTypeGraphic.southGraphic.path; break; + default: path = bodyTypeGraphic.eastGraphic.path; break; + } + + if (path == null || path.Any() == false || File.Exists(path) == false || Path.GetExtension(path) != ".png") return false; + + return true; + } + + public Sprite LoadSprite(string path) + { + if (path == null || path.Any() == false || File.Exists(path) == false || Path.GetExtension(path) != ".png") return null; + + byte[] pngBytes = File.ReadAllBytes(path); + + Texture2D tex = new Texture2D(2, 2); + tex.LoadImage(pngBytes); + + Sprite sprite = Sprite.Create(tex, new Rect(0.0f, 0.0f, tex.width, tex.height), new Vector2(0.5f, 0.5f), 85.0f); + + return sprite; + } + } +} diff --git a/Assets/Scripts/AnimationComponents/AlienRaceDef.cs.meta b/Assets/Scripts/AnimationComponents/AlienRaceDef.cs.meta new file mode 100644 index 00000000..9c11ddbe --- /dev/null +++ b/Assets/Scripts/AnimationComponents/AlienRaceDef.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5b8a2db320a85494c882518c143b73f7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/AnimationComponents/AlienRaceOffset.cs b/Assets/Scripts/AnimationComponents/AlienRaceOffset.cs index a1f2009c..72e8c0a7 100644 --- a/Assets/Scripts/AnimationComponents/AlienRaceOffset.cs +++ b/Assets/Scripts/AnimationComponents/AlienRaceOffset.cs @@ -1,7 +1,10 @@ -using UnityEngine; +using System; +using System.Collections.Generic; +using UnityEngine; namespace RimWorldAnimationStudio { + [Serializable] public class AlienRaceOffset { public string defName; diff --git a/Assets/Scripts/AnimationComponents/MultiDirectionalGraphic.cs b/Assets/Scripts/AnimationComponents/MultiDirectionalGraphic.cs new file mode 100644 index 00000000..a1870cd0 --- /dev/null +++ b/Assets/Scripts/AnimationComponents/MultiDirectionalGraphic.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using UnityEngine; + +namespace RimWorldAnimationStudio +{ + [Serializable] + public class MultiDirectionalGraphic + { + public string bodyType = "None"; + public DirectionalGraphic northGraphic = new DirectionalGraphic(); + public DirectionalGraphic eastGraphic = new DirectionalGraphic(); + public DirectionalGraphic southGraphic = new DirectionalGraphic(); + + public MultiDirectionalGraphic() { } + + public MultiDirectionalGraphic(string bodyType) + { + this.bodyType = bodyType; + } + } +} diff --git a/Assets/Scripts/AnimationComponents/MultiDirectionalGraphic.cs.meta b/Assets/Scripts/AnimationComponents/MultiDirectionalGraphic.cs.meta new file mode 100644 index 00000000..60658c8d --- /dev/null +++ b/Assets/Scripts/AnimationComponents/MultiDirectionalGraphic.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 86cb79b8d4c053f4a981ed17b86ae9bb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/DirectionalGraphic.cs b/Assets/Scripts/DirectionalGraphic.cs new file mode 100644 index 00000000..3df04ca6 --- /dev/null +++ b/Assets/Scripts/DirectionalGraphic.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Xml.Serialization; +using UnityEngine; + +namespace RimWorldAnimationStudio +{ + public class DirectionalGraphic + { + public string path = "Invalid file path"; + [XmlIgnore] public Sprite sprite = null; + } +} diff --git a/Assets/Scripts/DirectionalGraphic.cs.meta b/Assets/Scripts/DirectionalGraphic.cs.meta new file mode 100644 index 00000000..2f0a334e --- /dev/null +++ b/Assets/Scripts/DirectionalGraphic.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7eb64887148d9f44793b32cf5393c7ad +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/GUI/ActorBody.cs b/Assets/Scripts/GUI/ActorBody.cs index 0750555a..3c0ab0cc 100644 --- a/Assets/Scripts/GUI/ActorBody.cs +++ b/Assets/Scripts/GUI/ActorBody.cs @@ -36,7 +36,7 @@ namespace RimWorldAnimationStudio public void OnPointerClick(PointerEventData eventData) { - if (eventData.pointerCurrentRaycast.gameObject.GetComponent() == null) + if (eventData.pointerCurrentRaycast.gameObject.GetComponent()) { return; } Activate(); @@ -61,7 +61,7 @@ namespace RimWorldAnimationStudio else if (Workspace.actorManipulationMode == ActorManipulationMode.Rotate) { - float angle = Vector2.SignedAngle(Vector2.down, (Vector2)mousePosition - (Vector2)transform.position); + float angle = -Vector2.SignedAngle(Vector2.down, (Vector2)mousePosition - (Vector2)transform.position); keyframe.bodyAngle = angle; } diff --git a/Assets/Scripts/GUI/ActorBodyPart.cs b/Assets/Scripts/GUI/ActorBodyPart.cs index 1f09434e..9b46668a 100644 --- a/Assets/Scripts/GUI/ActorBodyPart.cs +++ b/Assets/Scripts/GUI/ActorBodyPart.cs @@ -55,7 +55,7 @@ namespace RimWorldAnimationStudio else if (Workspace.actorManipulationMode == ActorManipulationMode.Rotate) { - float angle = Vector2.SignedAngle(Vector2.down, (Vector2)mousePosition - (Vector2)transform.position); + float angle = -Vector2.SignedAngle(Vector2.down, (Vector2)mousePosition - (Vector2)transform.position); keyframe.headAngle = angle; } diff --git a/Assets/Scripts/GUI/ActorCard.cs b/Assets/Scripts/GUI/ActorCard.cs index 48dd5189..15e6734c 100644 --- a/Assets/Scripts/GUI/ActorCard.cs +++ b/Assets/Scripts/GUI/ActorCard.cs @@ -14,9 +14,6 @@ namespace RimWorldAnimationStudio public InputField bodyOffsetZField; public Toggle initiatorToggle; - private int actorID = -1; - private bool isDirty = false; - public void Initialize() { Actor actor = Workspace.animationDef.actors[Workspace.actorID]; @@ -45,7 +42,7 @@ namespace RimWorldAnimationStudio public void OnValueChanged() { - if (Workspace.animationDef == null || isDirty) return; + if (Workspace.animationDef == null) return; Actor actor = Workspace.animationDef.actors[Workspace.actorID]; @@ -68,66 +65,28 @@ namespace RimWorldAnimationStudio Workspace.Instance.RecordEvent("Actor body type offset data"); } - /*public void OpenSelectBodyPartsDialog() - { - if (Workspace.animationDef == null) return; - - Actor actor = Workspace.animationDef.actors[Workspace.actorID]; - var dialog = Resources.FindObjectsOfTypeAll(typeof(SelectBodyPartsDialog)) as SelectBodyPartsDialog[]; - - if (dialog != null) - { dialog[0].Initialize(actor); dialog[0].Pop(); } - } - - public void OpenSelectDefNamesDialog() - { - if (Workspace.animationDef == null) return; - - Actor actor = Workspace.animationDef.actors[Workspace.actorID]; - var dialog = Resources.FindObjectsOfTypeAll(typeof(SelectDefNamesDialog)) as SelectDefNamesDialog[]; - - if (dialog != null) - { dialog[0].Initialize(actor); dialog[0].Pop(); } - } - - public void OpenSelectBodyDefTypesDialog() - { - if (Workspace.animationDef == null) return; - - Actor actor = Workspace.animationDef.actors[Workspace.actorID]; - var dialog = Resources.FindObjectsOfTypeAll(typeof(SelectBodyDefTypesDialog)) as SelectBodyDefTypesDialog[]; - - if (dialog != null) - { dialog[0].Initialize(actor); dialog[0].Pop(); } - }*/ - public void Update() { if (Workspace.animationDef == null) return; - if (actorID != Workspace.actorID) - { - isDirty = true; + if (Workspace.actorID >= AnimationController.Instance.actorBodies.GetComponentsInChildren().Count()) + { Debug.Log("Waiting for actors to initialize..."); return; } - if (Workspace.actorID >= AnimationController.Instance.actorBodies.GetComponentsInChildren().Count()) - { Debug.Log("Waiting for actors to initialize..."); return; } + Actor actor = Workspace.animationDef.actors[Workspace.actorID]; + ActorBody actorBody = AnimationController.Instance.actorBodies.GetComponentsInChildren()[Workspace.actorID]; - Actor actor = Workspace.animationDef.actors[Workspace.actorID]; - ActorBody actorBody = AnimationController.Instance.actorBodies.GetComponentsInChildren()[Workspace.actorID]; - - string bodyType = actorBody.bodyType; - bodyType = bodyType == null || bodyType == "" ? "Male" : bodyType; + string bodyType = actorBody.bodyType; + bodyType = bodyType == null || bodyType == "" ? "Male" : bodyType; - bodyTypeDropdown.value = bodyTypeDropdown.options.IndexOf(bodyTypeDropdown.options.First(x => x.text == bodyType)); - bodyOffsetXField.text = actor.bodyTypeOffset.GetOffset(bodyType).x.ToString(); - bodyOffsetZField.text = actor.bodyTypeOffset.GetOffset(bodyType).z.ToString(); + bodyTypeDropdown.value = bodyTypeDropdown.options.IndexOf(bodyTypeDropdown.options.First(x => x.text == bodyType)); - initiatorToggle.isOn = actor.initiator; + if (bodyOffsetXField.isFocused == false) + { bodyOffsetXField.text = actor.bodyTypeOffset.GetOffset(bodyType).x.ToString(); } - actorID = Workspace.actorID; + if (bodyOffsetZField.isFocused == false) + { bodyOffsetZField.text = actor.bodyTypeOffset.GetOffset(bodyType).z.ToString(); } - isDirty = false; - } + initiatorToggle.isOn = actor.initiator; } } } diff --git a/Assets/Scripts/GUI/DialogBoxes/DialogBox.cs b/Assets/Scripts/GUI/DialogBoxes/DialogBox.cs index 731c9dc7..fa03d267 100644 --- a/Assets/Scripts/GUI/DialogBoxes/DialogBox.cs +++ b/Assets/Scripts/GUI/DialogBoxes/DialogBox.cs @@ -54,6 +54,18 @@ namespace RimWorldAnimationStudio Initialize(true); } + public void AddCustomRace(InputField field) + { + if (field?.text == null || field.text == "") + { return; } + + AlienRaceDefs.AddDef(new AlienRaceDef(field.text)); + + ApplicationManager.Instance.SaveAlienRaceDefs(); + + Initialize(true); + } + public virtual void Initialize(bool addedNewTag = false) { } } } diff --git a/Assets/Scripts/GUI/DialogBoxes/RaceSettingsDialog.cs b/Assets/Scripts/GUI/DialogBoxes/RaceSettingsDialog.cs new file mode 100644 index 00000000..f84ba8c9 --- /dev/null +++ b/Assets/Scripts/GUI/DialogBoxes/RaceSettingsDialog.cs @@ -0,0 +1,127 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using UnityEngine; +using UnityEngine.UI; +using SFB; +using System.IO; + +namespace RimWorldAnimationStudio +{ + public class RaceSettingsDialog : DialogBox + { + public Dropdown raceSelectDropdown; + public Transform raceSettingsWindow; + public Toggle isHumanoidToggle; + + public override void Initialize(bool addedNewTag = false) + { + Reset(); + + string alienRaceDefName = raceSelectDropdown.value < raceSelectDropdown.options.Count ? raceSelectDropdown.options[raceSelectDropdown.value].text : "Human"; + if (alienRaceDefName == null || alienRaceDefName == "") alienRaceDefName = "Human"; + + AlienRaceDef alienRaceDef = AlienRaceDefs.GetNamed(alienRaceDefName); + if (alienRaceDef == null) return; + + isHumanoidToggle.isOn = alienRaceDef.isHumanoid; + + Text bodyGraphicsTitle = AddCloneObjectToParent(raceSettingsWindow, 2).GetComponent(); + bodyGraphicsTitle.text = "Body graphic filepaths"; + + foreach (string bodyType in Tags.bodyTypes) + { + string _bodyType = alienRaceDef.isHumanoid ? bodyType : "None"; + + if (alienRaceDef.isHumanoid) + { + Text bodyTypeTitle = AddCloneObjectToParent(raceSettingsWindow, 2).GetComponent(); + bodyTypeTitle.text = bodyType; + } + + for (int i = 2; i >= 0; i--) + { + CardinalDirection facing = (CardinalDirection)i; + + GameObject filepath = AddCloneObjectToParent(raceSettingsWindow, 0); + filepath.GetComponent().text = facing.ToString(); + filepath.transform.Find("FilepathButton").GetComponent