diff --git a/Assets/Content/Data/DefaultPrefabObjects.asset b/Assets/Content/Data/DefaultPrefabObjects.asset deleted file mode 100644 index d4b71d598d..0000000000 --- a/Assets/Content/Data/DefaultPrefabObjects.asset +++ /dev/null @@ -1,159 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3ad70174b079c2f4ebc7931d3dd1af6f, type: 3} - m_Name: DefaultPrefabObjects - m_EditorClassIdentifier: - _prefabs: - - {fileID: 6020083413388562179, guid: dfcd83503e242c843a6bc43cc5040fc9, type: 3} - - {fileID: 5177941338532333075, guid: 6deac385bf663034fa7d8dece88c07bb, type: 3} - - {fileID: 7875182825432581152, guid: ad573dedc3cb2d74fa42bedc463ffd75, type: 3} - - {fileID: 1962741444460096580, guid: 14b8b7b37cbe54a44a994f9d927bf213, type: 3} - - {fileID: 562230263738288595, guid: 06a27ffa07c1c754c9590607a5a80030, type: 3} - - {fileID: 562230263738288595, guid: 59f05e8a3a1d4b94eb5222aed605e260, type: 3} - - {fileID: 8203177977882359099, guid: 6ab4ce7059d374a4498481e1385c222e, type: 3} - - {fileID: 6636680625000353110, guid: cc5383d385556f443b2a7d3202f2b2c1, type: 3} - - {fileID: 3227132888119106738, guid: 7bbb74a7ffc8cae44baa886de43c586b, type: 3} - - {fileID: 1871071288925904272, guid: add4d1bc2d874d94782d6b8c912af5e2, type: 3} - - {fileID: 8532088199163376958, guid: df85b75fd341a244c8364ebb9c4fcfef, type: 3} - - {fileID: 8532088199163376958, guid: c19eccca279beee4186432a03257a7b9, type: 3} - - {fileID: 6115335805774105745, guid: bf177f8bab26bc84b87fd9a971004418, type: 3} - - {fileID: 6699414010407460003, guid: f1aeab0a35c29314a8a3f823de9815c1, type: 3} - - {fileID: 4692070367735979832, guid: 8725b7f8f45d28a4ba6063318904cc8a, type: 3} - - {fileID: 6270372984438359393, guid: f549f4153ef612c4586c46ea280e0e94, type: 3} - - {fileID: 3346295071430447723, guid: 1a2f912be4bc1b948a2b22ffde517cdc, type: 3} - - {fileID: 1606100486293266847, guid: 7f49c948ec182a648ab280a22038752a, type: 3} - - {fileID: 7923090970201565529, guid: 991fc7d67bda7d247b13ec8498953bc0, type: 3} - - {fileID: 2527334834019670621, guid: 236b51ddc6f9aa94ca92579082370c06, type: 3} - - {fileID: 4067691560622095404, guid: 4635651592391df41b6b2413afdb76c3, type: 3} - - {fileID: 8681604604373809337, guid: 5fa15d6fdef93dc4e80d798cefe8be0b, type: 3} - - {fileID: 8663352389375050187, guid: 317ec7dcff3b11d4eae3a47929200b93, type: 3} - - {fileID: 8657890218937463745, guid: 4b790b4ffedbe564dab49f896d71eaa6, type: 3} - - {fileID: 7421556062366613563, guid: d7d68992cbd3cda45bb11a35a1490dc3, type: 3} - - {fileID: 3546473533537016869, guid: 9b9f6bd470226a74b903e74dbe9e423a, type: 3} - - {fileID: -1921154974467191097, guid: 1ef3c21a685ec2d4e9f0876719839d5f, type: 3} - - {fileID: 7942135432533076774, guid: 84a5596b28f449e49bb34741abf89d30, type: 3} - - {fileID: 7942135432533076774, guid: 96f34e849ae8c5640a9343b5ef370179, type: 3} - - {fileID: 7942135432533076774, guid: d25b39d1e2379b64cba47629530ada78, type: 3} - - {fileID: -4994790824565799921, guid: a28267798293970468ab30803632a3f7, type: 3} - - {fileID: 7823849392942818498, guid: 854451834f026fb4f860bf0e977a104c, type: 3} - - {fileID: 7564222845035831833, guid: 3b33b5cf16a677a4e85a110679cde32a, type: 3} - - {fileID: -752502555905215929, guid: 11a2276338ebc64429dfc565b491e437, type: 3} - - {fileID: -5633820156739102180, guid: 4c966398d6624164c910cd29c1faa980, type: 3} - - {fileID: -7828078595381397262, guid: 50dd6be959d44844ab1abf8a3f2adb01, type: 3} - - {fileID: -7828078595381397262, guid: d07b5fba3896ff448855d6e54356c365, type: 3} - - {fileID: -2900075557854325373, guid: 6c2559c2017ada740b245951a23c2e1d, type: 3} - - {fileID: -2900075557854325373, guid: 45d13347efae0f54882e0e56dd770bb1, type: 3} - - {fileID: -2900075557854325373, guid: 9682b163cae64f74a93b6e84ce84ae5b, type: 3} - - {fileID: -2900075557854325373, guid: abcc60752234e584d8d98c9dec03e7cc, type: 3} - - {fileID: -2900075557854325373, guid: b9c224febb4233f4e912745553097652, type: 3} - - {fileID: -2900075557854325373, guid: f2493b5478dd8e946ba98861f533362e, type: 3} - - {fileID: -7727686409064562107, guid: 92d3eb280886ba74cb1e19f4e01669a7, type: 3} - - {fileID: -7727686409064562107, guid: 2b932aed8c9bdb54da3d5a0274fe9927, type: 3} - - {fileID: -7727686409064562107, guid: cc48c05d209320541af6b8785c1eec62, type: 3} - - {fileID: -7727686409064562107, guid: 370739b7068119941b61a0c1474657e3, type: 3} - - {fileID: -7727686409064562107, guid: 998af0a1729ef9649ae6cd1bb3f50b51, type: 3} - - {fileID: -7727686409064562107, guid: 9f1f481cfc054374dbed94aa620ab4f6, type: 3} - - {fileID: -7727686409064562107, guid: 8cb996c23d77f3c44b887fdec07520f4, type: 3} - - {fileID: -7727686409064562107, guid: 14ef62e89f3613c4b9964b369e01c5f9, type: 3} - - {fileID: -7727686409064562107, guid: 693d4d98b3a090b458d23261f6c77d94, type: 3} - - {fileID: -7727686409064562107, guid: 05582ec649a27b64c85729877d9e344d, type: 3} - - {fileID: -7727686409064562107, guid: d211f90919bc28a4e8def76cb07197ba, type: 3} - - {fileID: 3206407796921847736, guid: 3335d001fdfff824aa859b98f2fe564e, type: 3} - - {fileID: 4302234173120300195, guid: 313c7a6f7eaaf4f4cb80cbe0fe77005d, type: 3} - - {fileID: 9154675693299657064, guid: af039f84b4a245049b5b62799af01384, type: 3} - - {fileID: 2930813178971533500, guid: 1c3eed1ea37ecc1448e41270cdc63486, type: 3} - - {fileID: 1019513474262773944, guid: 06c946c7c639138488b814e4448b82e4, type: 3} - - {fileID: 1871071288925904272, guid: 23a169aefca62c4418b6efec13df595e, type: 3} - - {fileID: 1871071288925904272, guid: 7c6bebf2e12702d48abd76acad4d1272, type: 3} - - {fileID: 1871071288925904272, guid: b7976a98a25be4543ba45f1d5e26c072, type: 3} - - {fileID: 1871071288925904272, guid: 93faf7e7a5c67b9478c57a0d03340256, type: 3} - - {fileID: 1871071288925904272, guid: 6f2976f635940684da7f7f4ed7855a8d, type: 3} - - {fileID: 1871071288925904272, guid: cc1b7e8558e50594089a64af537ff781, type: 3} - - {fileID: 3258417366846669140, guid: fa1909e0d40b4cf408ff599df7a2043f, type: 3} - - {fileID: 3258417366846669140, guid: 330d85a67a5891145bd8037dde90f37b, type: 3} - - {fileID: 3258417366846669140, guid: dd3ce5340ed4aba4babae7020f737084, type: 3} - - {fileID: 4819234911439508660, guid: 11f824c472e04854e95065dda095e8f4, type: 3} - - {fileID: 6348062478285535548, guid: 1d2cf546d53e3fe4c9103007427aaec7, type: 3} - - {fileID: 8767567404870203102, guid: 404443f7c306fc8469698745624fa3bf, type: 3} - - {fileID: 1491149956516498634, guid: b044d7bdb55405046a9055726a779eb1, type: 3} - - {fileID: 4037338737721612837, guid: f88a398ad3d01454f955de9c337d9b99, type: 3} - - {fileID: 1773710978803455870, guid: 4cb99cf2fee96f944abbacc51b0b701c, type: 3} - - {fileID: -1308347259443233487, guid: 821d0946be816bb42a0eed24631d57ee, type: 3} - - {fileID: 3815592008771065855, guid: 8686fbdb413e33b4395a775c4f2ba990, type: 3} - - {fileID: -7727686409064562107, guid: de6f06ad18d50134295959f438ba9c5d, type: 3} - - {fileID: -7727686409064562107, guid: 251dc2a5fbda518429c8205c3b62165f, type: 3} - - {fileID: -7727686409064562107, guid: adc07a7f0fee8304691f45a201509b13, type: 3} - - {fileID: -7727686409064562107, guid: 48efd00c91c310e4bb965d025c63b3ba, type: 3} - - {fileID: -7727686409064562107, guid: 12a989ad41a83a3468d1ae9aff9628d3, type: 3} - - {fileID: -7828078595381397262, guid: 98ce0a84deb394b4bbd18f31f368317c, type: 3} - - {fileID: -7828078595381397262, guid: 66f6206faf2f7fb4a993d935c83fc239, type: 3} - - {fileID: 8532088199163376958, guid: 06b6be83779804245b7f6411fe07b851, type: 3} - - {fileID: 8532088199163376958, guid: 432a4ad70e41e5c4f8f913f76fe0e66c, type: 3} - - {fileID: 8532088199163376958, guid: 7369bb998a4b0cd4c97d39094a5ad53b, type: 3} - - {fileID: 8532088199163376958, guid: 36a988cf24e1dc243815f12b504bd26c, type: 3} - - {fileID: 8532088199163376958, guid: 0dc65741e07717347bf929a5cb47a810, type: 3} - - {fileID: 8532088199163376958, guid: 10191cb6340d65a47998ce9f74202907, type: 3} - - {fileID: 8532088199163376958, guid: 35dfc7c3f708a5b48a206b4a44e7ab49, type: 3} - - {fileID: 8532088199163376958, guid: 7f5954f009d06b2439ca637b43920440, type: 3} - - {fileID: 8532088199163376958, guid: cc54bc74b2f4c2349b1f84b501b0a091, type: 3} - - {fileID: 8532088199163376958, guid: ecaf79b0a74bdb443a350e88daa94a66, type: 3} - - {fileID: 8532088199163376958, guid: 242a937784a622f4f8a6e6d097e0737c, type: 3} - - {fileID: 8532088199163376958, guid: 037a2810833b4da4ba507e535165f4db, type: 3} - - {fileID: 8532088199163376958, guid: eea05d13801552e46b6083adad76e601, type: 3} - - {fileID: 8532088199163376958, guid: 7579883b8dd8801448a176adace4860b, type: 3} - - {fileID: 8532088199163376958, guid: 071581df025e1ba49a8a75eb39611ff6, type: 3} - - {fileID: 8532088199163376958, guid: 39d7bbf54eb0dce4abbf62871a684dd0, type: 3} - - {fileID: 8532088199163376958, guid: 1e304f9a331c2ba419514ef8afb8a13c, type: 3} - - {fileID: 8532088199163376958, guid: 9c5418cbebef419429574992d3e296a3, type: 3} - - {fileID: 8532088199163376958, guid: d75ff9a3ac207a84487ec1ee73a676fc, type: 3} - - {fileID: 8532088199163376958, guid: bc710fc0859f40c4d91bc874a4914fd5, type: 3} - - {fileID: 8532088199163376958, guid: 7077b8ec0e44b664eb3b76e65d40185e, type: 3} - - {fileID: 8532088199163376958, guid: 2bc6f6a968d5ba04c919ba56d0ccdab4, type: 3} - - {fileID: 6244957436306937818, guid: 4d48472d06930bd42a15897e6a1794ac, type: 3} - - {fileID: 5716146803221059512, guid: ebddb1721dcbe36499e4d093e5a7ff09, type: 3} - - {fileID: 8635336608555116780, guid: 6caa99f8281726e40a793826d5c047db, type: 3} - - {fileID: 9015187684533357890, guid: 5e8a02c5ce0073644ac01bdb55d72a70, type: 3} - - {fileID: -2900402353996906960, guid: b5be0a52925e2674193d081d2deb68cb, type: 3} - - {fileID: 885347571389710399, guid: 162e188d33a82b440a239f20901c716a, type: 3} - - {fileID: 881130758709618923, guid: 2332a158259900e4f8a237fa8daff266, type: 3} - - {fileID: 7958861831329766982, guid: d8b0c8d1ddcdeb24d9763054c103c9fe, type: 3} - - {fileID: 7958861831329766982, guid: 79260483ae5d3e04fa272e092b49abac, type: 3} - - {fileID: 7958861831329766982, guid: ff95abc9c2b779340a1b50f1a128a934, type: 3} - - {fileID: 7958861831329766982, guid: 2a63163a4db141744a802f3ff67087db, type: 3} - - {fileID: 2090837846029440516, guid: 3520c433beff78a478401074d2ca95a3, type: 3} - - {fileID: 7958861831329766982, guid: d9aabfd5d726a7f499b8e360d919eba4, type: 3} - - {fileID: 4819234911439508660, guid: 1ae18785d74e9fa4699b6f6de889c243, type: 3} - - {fileID: 6294647206769462932, guid: 7becfab153276864f9fc7636a839d837, type: 3} - - {fileID: 1602098408367427586, guid: 9c8363ee7f934bd4b8ee5a2e30da1269, type: 3} - - {fileID: 4052990814619214022, guid: 772da386eb7b01745913050fee544c32, type: 3} - - {fileID: 7970185317444620997, guid: 781dd9024aaa53444bc3deeaa9708fbb, type: 3} - - {fileID: 261983550380735922, guid: 411b513efc8f06a40aecfc47d0c5fc5a, type: 3} - - {fileID: 6999522401175031449, guid: 9b8a1328991fc2846bc55a3d9a82e5c0, type: 3} - - {fileID: 1330758276423851772, guid: 0ef9cea3bb74e6c4788f77e711f92d4d, type: 3} - - {fileID: -7180308641962958576, guid: 501391c27a7f94c4d8c937f00a9ceb9f, type: 3} - - {fileID: 4004765049813284735, guid: df4cf328d472de046bcbc073cbda2868, type: 3} - - {fileID: -3925594391440011444, guid: 75680e6a1df5ff547bdb5b8f116f766b, type: 3} - - {fileID: 866363096200871384, guid: 7a47e5b68d8bab647b3f99ee3af524c7, type: 3} - - {fileID: 3209584612858697896, guid: 6873d7cf62d6ebc42966423161b799f1, type: 3} - - {fileID: -5137155404558150896, guid: 5ecf13819099b014eb5f731155540586, type: 3} - - {fileID: 5717048605554116485, guid: 61201f10ccc2856459a9de99d9cdc52e, type: 3} - - {fileID: -7729870638209327267, guid: 49f2097d4710d114a89821d9164dfce2, type: 3} - - {fileID: 1765407722070337561, guid: f490a74616c067c4f83995017e10b420, type: 3} - - {fileID: 9128312206289091394, guid: 4e6899916bc8fd742a07f32b3a04de12, type: 3} - - {fileID: 8532088199163376958, guid: e4281cb43d1443d4388737777fdd98d8, type: 3} - - {fileID: 5324793517250654531, guid: dceb056e41b5c634f9933423de8e075c, type: 3} - - {fileID: 1240758849326779666, guid: 92d6696a323ef66448190e8e9d69fd22, type: 3} - - {fileID: 2598941691222954334, guid: 177428b73bad0fb4a89d1a64b85629bf, type: 3} - - {fileID: 5958074810027370513, guid: 56ac854f77351fa46b6a17fbb1cf45d9, type: 3} - - {fileID: 540660282800273587, guid: a7c35693adae32f43b4d7fe2eb8b091b, type: 3} - - {fileID: 6810177589324280848, guid: 56b1aff2041026242bed0f064dee56bb, type: 3} - - {fileID: 3258417366846669140, guid: 264ea51d92067c14ebc6633999afac78, type: 3} diff --git a/Assets/Content/Scenes/Boot.unity b/Assets/Content/Scenes/Boot.unity index 83dcde03e3..56bc19b5f4 100644 --- a/Assets/Content/Scenes/Boot.unity +++ b/Assets/Content/Scenes/Boot.unity @@ -225,7 +225,7 @@ MonoBehaviour: _objectPool: {fileID: 0} _persistence: 0 _logging: {fileID: 0} - _spawnablePrefabs: {fileID: 11400000, guid: 59af76506e3115f479c03aedaf5de785, type: 2} + _spawnablePrefabs: {fileID: 11400000, guid: 44b859ef8fa90fe4389e6da31fa16075, type: 2} --- !u!114 &340427414 MonoBehaviour: m_ObjectHideFlags: 0 @@ -238,6 +238,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 57ce8bbb58966cb45a7140f32da5327a, type: 3} m_Name: m_EditorClassIdentifier: + _enableGlobalScenes: 1 _startInOffline: 1 _offlineScene: Assets/Content/Scenes/Boot.unity _onlineScene: Assets/Content/Scenes/Game.unity @@ -274,6 +275,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: _authenticator: {fileID: 0} + _remoteClientTimeout: 2 + _remoteClientTimeoutDuration: 60 + _syncTypeRate: 0.1 SpawnPacking: Position: 0 Rotation: 0 @@ -301,7 +305,6 @@ MonoBehaviour: _maximumFrameTicks: 3 _tickRate: 120 _pingInterval: 1 - _timingInterval: 2 _physicsMode: 0 --- !u!114 &340427418 MonoBehaviour: @@ -316,6 +319,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: Transport: {fileID: 340427415} + _intermediateLayer: {fileID: 0} _latencySimulator: _enabled: 0 _simulateHost: 1 diff --git a/Assets/Content/Scenes/Game.unity b/Assets/Content/Scenes/Game.unity index 5841c87e4b..7b86a0c55e 100644 --- a/Assets/Content/Scenes/Game.unity +++ b/Assets/Content/Scenes/Game.unity @@ -657,7 +657,7 @@ MonoBehaviour: _addedNetworkObject: {fileID: 661652618} _networkObjectCache: {fileID: 661652618} _humanPrefab: - - {fileID: 8336170331735268562, guid: 1c3eed1ea37ecc1448e41270cdc63486, type: 3} + - {fileID: 5283895024578974260, guid: 1c3eed1ea37ecc1448e41270cdc63486, type: 3} _spawnPoint: {fileID: 1544788595} _hasSpawnedInitialPlayers: 0 --- !u!114 &661652618 @@ -1288,7 +1288,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4468402021075485018, guid: cc5383d385556f443b2a7d3202f2b2c1, type: 3} propertyPath: m_AnchoredPosition.y - value: -230.00006 + value: -230 objectReference: {fileID: 0} - target: {fileID: 4468402022117316798, guid: cc5383d385556f443b2a7d3202f2b2c1, type: 3} propertyPath: m_AnchorMax.x diff --git a/Assets/Content/WorldObjects/Entities/Humanoids/Ghost.prefab b/Assets/Content/WorldObjects/Entities/Humanoids/Ghost.prefab index d2d9790fac..c891b5f69f 100644 --- a/Assets/Content/WorldObjects/Entities/Humanoids/Ghost.prefab +++ b/Assets/Content/WorldObjects/Entities/Humanoids/Ghost.prefab @@ -279,6 +279,7 @@ MonoBehaviour: m_EditorClassIdentifier: k__BackingField: 0 k__BackingField: 0 + k__BackingField: {fileID: 0} _networkBehaviours: - {fileID: 3280694038082445949} - {fileID: 6740096083906303264} @@ -286,15 +287,20 @@ MonoBehaviour: - {fileID: -3766456295137581405} k__BackingField: {fileID: 0} k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: 0, y: 0, z: 0, w: 0} + LocalScale: {x: 0, y: 0, z: 0} _isNetworked: 1 _isGlobal: 0 + _initializeOrder: 0 _defaultDespawnType: 0 NetworkObserver: {fileID: 0} - k__BackingField: -1 + k__BackingField: 90 + k__BackingField: 0 _scenePathHash: 0 k__BackingField: 0 k__BackingField: 9723184679420334987 - _sceneNetworkObjects: [] --- !u!114 &3280694038082445949 MonoBehaviour: m_ObjectHideFlags: 0 @@ -310,6 +316,7 @@ MonoBehaviour: _componentIndexCache: 0 _addedNetworkObject: {fileID: 3227132888119106738} _networkObjectCache: {fileID: 3227132888119106738} + _componentConfiguration: 0 _synchronizeParent: 0 _packing: Position: 1 @@ -319,8 +326,10 @@ MonoBehaviour: _extrapolation: 2 _enableTeleport: 0 _teleportThreshold: 1 + _scaleThreshold: 1 _clientAuthoritative: 1 _sendToOwner: 1 + _enableNetworkLod: 1 _interval: 1 _synchronizePosition: 1 _positionSnapping: @@ -372,7 +381,7 @@ MonoBehaviour: _componentIndexCache: 1 _addedNetworkObject: {fileID: 3227132888119106738} _networkObjectCache: {fileID: 3227132888119106738} - _mind: {fileID: 1256239026443271520, guid: 06a27ffa07c1c754c9590607a5a80030, type: 3} + _mind: {fileID: 0} --- !u!114 &-824690604824484445 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/Content/WorldObjects/Entities/Humanoids/Human/Human.prefab b/Assets/Content/WorldObjects/Entities/Humanoids/Human/Human.prefab index 9bb7f75ccc..b09f06fc6e 100644 --- a/Assets/Content/WorldObjects/Entities/Humanoids/Human/Human.prefab +++ b/Assets/Content/WorldObjects/Entities/Humanoids/Human/Human.prefab @@ -13,7 +13,7 @@ GameObject: - component: {fileID: 8626656600768578774} - component: {fileID: 1524200455027456264} m_Layer: 0 - m_Name: Foot Right + m_Name: ShoeRight m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -150,18 +150,24 @@ MonoBehaviour: m_EditorClassIdentifier: k__BackingField: 1 k__BackingField: 11 + k__BackingField: {fileID: 0} _networkBehaviours: [] k__BackingField: {fileID: 2930813178971533500} k__BackingField: [] + SerializedTransformProperties: + Position: {x: -1.415503, y: 0.90301704, z: 2.807138} + Rotation: {x: -0.00000008146034, y: -0, z: -0, w: 1} + LocalScale: {x: 1, y: 1, z: 1} _isNetworked: 1 _isGlobal: 0 + _initializeOrder: 0 _defaultDespawnType: 0 NetworkObserver: {fileID: 0} - k__BackingField: -1 + k__BackingField: 65535 + k__BackingField: 0 _scenePathHash: 0 k__BackingField: 0 k__BackingField: 0 - _sceneNetworkObjects: [] --- !u!114 &1524200455027456264 MonoBehaviour: m_ObjectHideFlags: 0 @@ -227,8 +233,9 @@ GameObject: m_Component: - component: {fileID: 8674961287379602231} - component: {fileID: 7584683726852713205} - m_Layer: 0 - m_Name: Jumpsuit Container + - component: {fileID: 6464823695533890811} + m_Layer: 12 + m_Name: JumpsuitContainer m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -247,7 +254,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 6806139853968569792} - m_RootOrder: 1 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &7584683726852713205 MonoBehaviour: @@ -261,11 +268,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 30 + _componentIndexCache: 24 _addedNetworkObject: {fileID: 2930813178971533500} _networkObjectCache: {fileID: 2930813178971533500} _automaticContainerSetUp: 1 - ContainerInteractive: {fileID: 976666287367385554} + ContainerInteractive: {fileID: 0} ContainerItemDisplay: {fileID: 0} ContainerUi: {fileID: 0} _attachmentOffset: {x: 0, y: 0, z: 0} @@ -275,7 +282,7 @@ MonoBehaviour: _initialized: 1 _maxDistance: 5 _isOpenable: 0 - _isInteractive: 1 + _isInteractive: 0 _hasUi: 0 _hasCustomInteraction: 0 _hasCustomDisplay: 0 @@ -287,6 +294,18 @@ MonoBehaviour: _hideItems: 1 _type: 512 _startFilter: {fileID: 11400000, guid: e20dd91071e7873499da1d5e34c68657, type: 2} +--- !u!114 &6464823695533890811 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 187737247729814717} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a19f823e20acab740ba5150747863eb9, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &378853208810803035 GameObject: m_ObjectHideFlags: 0 @@ -368,9 +387,10 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 5748561531554055639} + - component: {fileID: 6956777571749741975} - component: {fileID: 8304794297218136879} - m_Layer: 0 - m_Name: Human Leg Right + m_Layer: 12 + m_Name: HumanLegRight m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -389,8 +409,28 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 498654123859477456} - m_RootOrder: 11 + m_RootOrder: 10 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6956777571749741975 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 446286587578563252} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d25aaf3a871b3d1438c1a27c2c6b57c6, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 17 + _addedNetworkObject: {fileID: 2930813178971533500} + _networkObjectCache: {fileID: 2930813178971533500} + _parentBodyPart: {fileID: 5839020956740199093} + _skinnedMeshRenderer: {fileID: 8304794297218136879} + _bodyPartItem: {fileID: 5774385816057912484, guid: 983acf51173ef60479e35c5e35946162, type: 3} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 7885778496726064405} --- !u!137 &8304794297218136879 SkinnedMeshRenderer: m_ObjectHideFlags: 0 @@ -866,8 +906,9 @@ GameObject: m_Component: - component: {fileID: 4205348396957217158} - component: {fileID: 1202753384528456214} - m_Layer: 0 - m_Name: Glass Container + - component: {fileID: 2473749656216021537} + m_Layer: 12 + m_Name: GlassContainer m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -886,7 +927,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 444995378988440430} - m_RootOrder: 1 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1202753384528456214 MonoBehaviour: @@ -900,11 +941,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 27 + _componentIndexCache: 19 _addedNetworkObject: {fileID: 2930813178971533500} _networkObjectCache: {fileID: 2930813178971533500} _automaticContainerSetUp: 1 - ContainerInteractive: {fileID: 397698445884480565} + ContainerInteractive: {fileID: 0} ContainerItemDisplay: {fileID: 0} ContainerUi: {fileID: 0} _attachmentOffset: {x: 0, y: 0, z: 0} @@ -914,7 +955,7 @@ MonoBehaviour: _initialized: 1 _maxDistance: 5 _isOpenable: 0 - _isInteractive: 1 + _isInteractive: 0 _hasUi: 0 _hasCustomInteraction: 0 _hasCustomDisplay: 0 @@ -926,6 +967,18 @@ MonoBehaviour: _hideItems: 1 _type: 64 _startFilter: {fileID: 11400000, guid: 6911308eec315764c80156a4e8169054, type: 2} +--- !u!114 &2473749656216021537 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 920609821296400987} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a19f823e20acab740ba5150747863eb9, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &972284602524422540 GameObject: m_ObjectHideFlags: 0 @@ -939,7 +992,7 @@ GameObject: - component: {fileID: 6233962219268866637} - component: {fileID: 8149984355783769363} m_Layer: 0 - m_Name: Hand Left + m_Name: GloveLeft m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -1076,18 +1129,24 @@ MonoBehaviour: m_EditorClassIdentifier: k__BackingField: 1 k__BackingField: 8 + k__BackingField: {fileID: 0} _networkBehaviours: [] k__BackingField: {fileID: 2930813178971533500} k__BackingField: [] + SerializedTransformProperties: + Position: {x: -1.415503, y: 0.90301704, z: 2.807138} + Rotation: {x: -0.00000008146034, y: -0, z: -0, w: 1} + LocalScale: {x: 1, y: 1, z: 1} _isNetworked: 1 _isGlobal: 0 + _initializeOrder: 0 _defaultDespawnType: 0 NetworkObserver: {fileID: 0} - k__BackingField: -1 + k__BackingField: 65535 + k__BackingField: 0 _scenePathHash: 0 k__BackingField: 0 k__BackingField: 0 - _sceneNetworkObjects: [] --- !u!114 &8149984355783769363 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1512,9 +1571,10 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 6313390061406284947} - - component: {fileID: 3355837623697654740} - component: {fileID: 528052100901114241} - m_Layer: 0 + - component: {fileID: 3355837623697654740} + - component: {fileID: 4589992195458900568} + m_Layer: 12 m_Name: Human Ear Right m_TagString: Untagged m_Icon: {fileID: 0} @@ -1536,6 +1596,44 @@ Transform: m_Father: {fileID: 6507540603877295949} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &528052100901114241 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1262029209169744174} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 35 + _addedNetworkObject: {fileID: 2930813178971533500} + _networkObjectCache: {fileID: 2930813178971533500} + _automaticContainerSetUp: 1 + ContainerInteractive: {fileID: 0} + ContainerItemDisplay: {fileID: 0} + ContainerUi: {fileID: 0} + _attachmentOffset: {x: 0, y: 0, z: 0} + _onlyStoreWhenOpen: 0 + _openWhenContainerViewed: 0 + _attachItems: 1 + _initialized: 1 + _maxDistance: 5 + _isOpenable: 0 + _isInteractive: 0 + _hasUi: 0 + _hasCustomInteraction: 0 + _hasCustomDisplay: 0 + _displays: [] + _numberDisplay: 0 + _displayAsSlotInUI: 1 + _containerName: ear right + _size: {x: 1, y: 1} + _hideItems: 1 + _type: 16384 + _startFilter: {fileID: 11400000, guid: c478b931770d21244b442d55735833fd, type: 2} --- !u!137 &3355837623697654740 SkinnedMeshRenderer: m_ObjectHideFlags: 0 @@ -1639,7 +1737,7 @@ SkinnedMeshRenderer: m_Center: {x: 0.09472753, y: 0.56400466, z: -0.027345065} m_Extent: {x: 0.0518577, y: 0.043226123, z: 0.021118972} m_DirtyAABB: 0 ---- !u!114 &528052100901114241 +--- !u!114 &4589992195458900568 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1648,35 +1746,9 @@ MonoBehaviour: m_GameObject: {fileID: 1262029209169744174} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} + m_Script: {fileID: 11500000, guid: a19f823e20acab740ba5150747863eb9, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 31 - _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - _automaticContainerSetUp: 1 - ContainerInteractive: {fileID: 2265465745196413833} - ContainerItemDisplay: {fileID: 0} - ContainerUi: {fileID: 0} - _attachmentOffset: {x: 0, y: 0, z: 0} - _onlyStoreWhenOpen: 0 - _openWhenContainerViewed: 0 - _attachItems: 1 - _initialized: 1 - _maxDistance: 5 - _isOpenable: 0 - _isInteractive: 1 - _hasUi: 0 - _hasCustomInteraction: 0 - _hasCustomDisplay: 0 - _displays: [] - _numberDisplay: 0 - _displayAsSlotInUI: 1 - _containerName: ear right - _size: {x: 1, y: 1} - _hideItems: 1 - _type: 16384 - _startFilter: {fileID: 11400000, guid: c478b931770d21244b442d55735833fd, type: 2} --- !u!1 &1394360371059337826 GameObject: m_ObjectHideFlags: 0 @@ -1686,7 +1758,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 6307282637357716550} - m_Layer: 0 + - component: {fileID: 3758014577139489731} + m_Layer: 12 m_Name: chest m_TagString: Untagged m_Icon: {fileID: 0} @@ -1711,6 +1784,19 @@ Transform: m_Father: {fileID: 1084986635934123439} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &3758014577139489731 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1394360371059337826} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 0.27500942, y: 0.37684795, z: 0.2108456} + m_Center: {x: 0.0026957395, y: -0.06362429, z: -0.011373441} --- !u!1 &1430059919118232172 GameObject: m_ObjectHideFlags: 0 @@ -1785,7 +1871,7 @@ GameObject: m_Component: - component: {fileID: 4856542740340688858} m_Layer: 0 - m_Name: Hands + m_Name: Gloves m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -1808,6 +1894,89 @@ Transform: m_Father: {fileID: 1870850359086752095} m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1593509929285526539 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1822146851148749094} + - component: {fileID: 8818216694137164997} + - component: {fileID: 2927641952084649467} + m_Layer: 12 + m_Name: GloveContainerRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1822146851148749094 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1593509929285526539} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8125343414912825193} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8818216694137164997 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1593509929285526539} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 37 + _addedNetworkObject: {fileID: 2930813178971533500} + _networkObjectCache: {fileID: 2930813178971533500} + _automaticContainerSetUp: 1 + ContainerInteractive: {fileID: 0} + ContainerItemDisplay: {fileID: 0} + ContainerUi: {fileID: 0} + _attachmentOffset: {x: 0, y: 0, z: 0} + _onlyStoreWhenOpen: 0 + _openWhenContainerViewed: 0 + _attachItems: 1 + _initialized: 1 + _maxDistance: 5 + _isOpenable: 0 + _isInteractive: 0 + _hasUi: 0 + _hasCustomInteraction: 0 + _hasCustomDisplay: 0 + _displays: [] + _numberDisplay: 0 + _displayAsSlotInUI: 1 + _containerName: Glove right + _size: {x: 1, y: 1} + _hideItems: 1 + _type: 4096 + _startFilter: {fileID: 11400000, guid: edc47f5d8d1fc924eb6ca994e8590358, type: 2} +--- !u!114 &2927641952084649467 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1593509929285526539} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a19f823e20acab740ba5150747863eb9, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &1594377383810549907 GameObject: m_ObjectHideFlags: 0 @@ -1821,7 +1990,7 @@ GameObject: - component: {fileID: 6911900315559804093} - component: {fileID: 706420925057494135} m_Layer: 0 - m_Name: Foot Left + m_Name: ShoeLeft m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -1958,18 +2127,24 @@ MonoBehaviour: m_EditorClassIdentifier: k__BackingField: 1 k__BackingField: 10 + k__BackingField: {fileID: 0} _networkBehaviours: [] k__BackingField: {fileID: 2930813178971533500} k__BackingField: [] + SerializedTransformProperties: + Position: {x: -1.415503, y: 0.90301704, z: 2.807138} + Rotation: {x: -0.00000008146034, y: -0, z: -0, w: 1} + LocalScale: {x: 1, y: 1, z: 1} _isNetworked: 1 _isGlobal: 0 + _initializeOrder: 0 _defaultDespawnType: 0 NetworkObserver: {fileID: 0} - k__BackingField: -1 + k__BackingField: 65535 + k__BackingField: 0 _scenePathHash: 0 k__BackingField: 0 k__BackingField: 0 - _sceneNetworkObjects: [] --- !u!114 &706420925057494135 MonoBehaviour: m_ObjectHideFlags: 0 @@ -2127,9 +2302,11 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 6794743043753417455} - - component: {fileID: 8793278027620475813} - component: {fileID: 2306112832503890745} - m_Layer: 0 + - component: {fileID: 4041160852756243419} + - component: {fileID: 8793278027620475813} + - component: {fileID: 2463725901607846913} + m_Layer: 12 m_Name: Human Foot Right m_TagString: Untagged m_Icon: {fileID: 0} @@ -2151,6 +2328,64 @@ Transform: m_Father: {fileID: 246847927985657418} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2306112832503890745 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1704470385696637362} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 25 + _addedNetworkObject: {fileID: 2930813178971533500} + _networkObjectCache: {fileID: 2930813178971533500} + _automaticContainerSetUp: 1 + ContainerInteractive: {fileID: 0} + ContainerItemDisplay: {fileID: 0} + ContainerUi: {fileID: 0} + _attachmentOffset: {x: 0, y: 0, z: 0} + _onlyStoreWhenOpen: 0 + _openWhenContainerViewed: 0 + _attachItems: 1 + _initialized: 1 + _maxDistance: 5 + _isOpenable: 0 + _isInteractive: 0 + _hasUi: 0 + _hasCustomInteraction: 0 + _hasCustomDisplay: 0 + _displays: [] + _numberDisplay: 0 + _displayAsSlotInUI: 1 + _containerName: right foot + _size: {x: 1, y: 1} + _hideItems: 1 + _type: 32 + _startFilter: {fileID: 11400000, guid: d74fb2aa53e712741bf3146b73dce225, type: 2} +--- !u!114 &4041160852756243419 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1704470385696637362} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 87fb11738474538428e7ab7a2732a1bb, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 26 + _addedNetworkObject: {fileID: 2930813178971533500} + _networkObjectCache: {fileID: 2930813178971533500} + _parentBodyPart: {fileID: 6956777571749741975} + _skinnedMeshRenderer: {fileID: 8793278027620475813} + _bodyPartItem: {fileID: 5774385816057912484, guid: 4d59bb658831172479995d721f8cbd6c, type: 3} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 5307304765832513536} --- !u!137 &8793278027620475813 SkinnedMeshRenderer: m_ObjectHideFlags: 0 @@ -2254,7 +2489,7 @@ SkinnedMeshRenderer: m_Center: {x: 0.17963311, y: -0.7893654, z: 0.044157505} m_Extent: {x: 0.09916339, y: 0.120364726, z: 0.11577308} m_DirtyAABB: 0 ---- !u!114 &2306112832503890745 +--- !u!114 &2463725901607846913 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2263,35 +2498,9 @@ MonoBehaviour: m_GameObject: {fileID: 1704470385696637362} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} + m_Script: {fileID: 11500000, guid: a19f823e20acab740ba5150747863eb9, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 33 - _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - _automaticContainerSetUp: 1 - ContainerInteractive: {fileID: 3301312253177779075} - ContainerItemDisplay: {fileID: 0} - ContainerUi: {fileID: 0} - _attachmentOffset: {x: 0, y: 0, z: 0} - _onlyStoreWhenOpen: 0 - _openWhenContainerViewed: 0 - _attachItems: 1 - _initialized: 1 - _maxDistance: 5 - _isOpenable: 0 - _isInteractive: 1 - _hasUi: 0 - _hasCustomInteraction: 0 - _hasCustomDisplay: 0 - _displays: [] - _numberDisplay: 0 - _displayAsSlotInUI: 1 - _containerName: right foot - _size: {x: 1, y: 1} - _hideItems: 1 - _type: 32 - _startFilter: {fileID: 11400000, guid: d74fb2aa53e712741bf3146b73dce225, type: 2} --- !u!1 &1718925025091415045 GameObject: m_ObjectHideFlags: 0 @@ -2302,8 +2511,9 @@ GameObject: m_Component: - component: {fileID: 4531842478586200051} - component: {fileID: 5460457101901443602} - m_Layer: 0 - m_Name: Bag Container + - component: {fileID: 5879062789428407815} + m_Layer: 12 + m_Name: BagContainer m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -2322,7 +2532,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 6806139853968569792} - m_RootOrder: 0 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &5460457101901443602 MonoBehaviour: @@ -2336,11 +2546,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 29 + _componentIndexCache: 23 _addedNetworkObject: {fileID: 2930813178971533500} _networkObjectCache: {fileID: 2930813178971533500} _automaticContainerSetUp: 1 - ContainerInteractive: {fileID: 4559920193704007786} + ContainerInteractive: {fileID: 0} ContainerItemDisplay: {fileID: 0} ContainerUi: {fileID: 0} _attachmentOffset: {x: 0, y: 0, z: 0} @@ -2350,7 +2560,7 @@ MonoBehaviour: _initialized: 1 _maxDistance: 5 _isOpenable: 0 - _isInteractive: 1 + _isInteractive: 0 _hasUi: 0 _hasCustomInteraction: 0 _hasCustomDisplay: 0 @@ -2362,6 +2572,18 @@ MonoBehaviour: _hideItems: 1 _type: 4 _startFilter: {fileID: 11400000, guid: 31e1b0f02b43b0e4eab3b32f728ebe87, type: 2} +--- !u!114 &5879062789428407815 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1718925025091415045} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a19f823e20acab740ba5150747863eb9, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &1720895395443369560 GameObject: m_ObjectHideFlags: 0 @@ -2465,9 +2687,10 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 4161278733561394789} + - component: {fileID: 6206108594876145282} - component: {fileID: 1037560153012890605} - m_Layer: 0 - m_Name: Human Leg Left + m_Layer: 12 + m_Name: HumanLegLeft m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -2486,8 +2709,28 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 498654123859477456} - m_RootOrder: 10 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6206108594876145282 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1809420363039335133} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d25aaf3a871b3d1438c1a27c2c6b57c6, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 16 + _addedNetworkObject: {fileID: 2930813178971533500} + _networkObjectCache: {fileID: 2930813178971533500} + _parentBodyPart: {fileID: 5839020956740199093} + _skinnedMeshRenderer: {fileID: 1037560153012890605} + _bodyPartItem: {fileID: 5774385816057912484, guid: 2d0913074150cca43b88c90ec658aacb, type: 3} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 3498391959947423981} --- !u!137 &1037560153012890605 SkinnedMeshRenderer: m_ObjectHideFlags: 0 @@ -2768,9 +3011,10 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 4502847908403178062} + - component: {fileID: 465916857022110443} - component: {fileID: 949421968142360378} - m_Layer: 0 - m_Name: Human Arm Left + m_Layer: 12 + m_Name: HumanArmLeft m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -2789,8 +3033,28 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 498654123859477456} - m_RootOrder: 8 + m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &465916857022110443 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2119839903865359034} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d25aaf3a871b3d1438c1a27c2c6b57c6, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 14 + _addedNetworkObject: {fileID: 2930813178971533500} + _networkObjectCache: {fileID: 2930813178971533500} + _parentBodyPart: {fileID: 5839020956740199093} + _skinnedMeshRenderer: {fileID: 949421968142360378} + _bodyPartItem: {fileID: 5774385816057912484, guid: 9659c4cc7bea07c4ba38b492f407ef7f, type: 3} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 4061536191967800809} --- !u!137 &949421968142360378 SkinnedMeshRenderer: m_ObjectHideFlags: 0 @@ -2936,7 +3200,7 @@ GameObject: m_Component: - component: {fileID: 754194221811462458} m_Layer: 0 - m_Name: Feet + m_Name: Shoes m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -3110,18 +3374,24 @@ MonoBehaviour: m_EditorClassIdentifier: k__BackingField: 1 k__BackingField: 3 + k__BackingField: {fileID: 0} _networkBehaviours: [] k__BackingField: {fileID: 2930813178971533500} k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: -0.00000008146034, y: -0, z: -0, w: 1} + LocalScale: {x: 1, y: 1, z: 1} _isNetworked: 1 _isGlobal: 0 + _initializeOrder: 0 _defaultDespawnType: 0 NetworkObserver: {fileID: 0} - k__BackingField: -1 + k__BackingField: 65535 + k__BackingField: 0 _scenePathHash: 0 k__BackingField: 0 k__BackingField: 0 - _sceneNetworkObjects: [] --- !u!114 &6053071042394239261 MonoBehaviour: m_ObjectHideFlags: 0 @@ -3281,7 +3551,7 @@ GameObject: - component: {fileID: 9136871507229749843} - component: {fileID: 5095774171039425627} m_Layer: 0 - m_Name: Underwear Bottom + m_Name: UnderwearBottom m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -3413,9 +3683,10 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 5970252886068655664} + - component: {fileID: 1082974716090020341} - component: {fileID: 6840993320086561213} - m_Layer: 0 - m_Name: Human Arm Right + m_Layer: 12 + m_Name: HumanArmRight m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -3434,8 +3705,28 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 498654123859477456} - m_RootOrder: 9 + m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1082974716090020341 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2673109151141559659} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d25aaf3a871b3d1438c1a27c2c6b57c6, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 15 + _addedNetworkObject: {fileID: 2930813178971533500} + _networkObjectCache: {fileID: 2930813178971533500} + _parentBodyPart: {fileID: 5839020956740199093} + _skinnedMeshRenderer: {fileID: 6840993320086561213} + _bodyPartItem: {fileID: 5774385816057912484, guid: 2f664501d8d74774c9427f7fb6d50ae6, type: 3} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 7865012682319576541} --- !u!137 &6840993320086561213 SkinnedMeshRenderer: m_ObjectHideFlags: 0 @@ -3611,7 +3902,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2561159763559213326} - m_Layer: 0 + - component: {fileID: 2660167717358018512} + m_Layer: 12 m_Name: hand_l m_TagString: Untagged m_Icon: {fileID: 0} @@ -3638,6 +3930,19 @@ Transform: m_Father: {fileID: 2089153385561551699} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &2660167717358018512 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3021086107100169162} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 0.1790439, y: 0.18800841, z: 0.119040824} + m_Center: {x: -0.010873358, y: 0.07971907, z: 0.00045323643} --- !u!1 &3146009794794091675 GameObject: m_ObjectHideFlags: 0 @@ -3647,7 +3952,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1267633661366518328} - m_Layer: 0 + - component: {fileID: 7865012682319576541} + m_Layer: 12 m_Name: forearm_r m_TagString: Untagged m_Icon: {fileID: 0} @@ -3671,6 +3977,20 @@ Transform: m_Father: {fileID: 9053177843097342720} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!136 &7865012682319576541 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3146009794794091675} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + m_Radius: 0.06908912 + m_Height: 0.3977172 + m_Direction: 1 + m_Center: {x: 0.013205467, y: 0.010005115, z: 8.5735113e-10} --- !u!1 &3210240554036165302 GameObject: m_ObjectHideFlags: 0 @@ -3830,7 +4150,7 @@ GameObject: - component: {fileID: 1527032890679831709} - component: {fileID: 5708275212759495835} m_Layer: 0 - m_Name: Ear Right + m_Name: EarWearRight m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -3967,18 +4287,24 @@ MonoBehaviour: m_EditorClassIdentifier: k__BackingField: 1 k__BackingField: 7 + k__BackingField: {fileID: 0} _networkBehaviours: [] k__BackingField: {fileID: 2930813178971533500} k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: -0.00000008146034, y: -0, z: -0, w: 1} + LocalScale: {x: 1, y: 1, z: 1} _isNetworked: 1 _isGlobal: 0 + _initializeOrder: 0 _defaultDespawnType: 0 NetworkObserver: {fileID: 0} - k__BackingField: -1 + k__BackingField: 65535 + k__BackingField: 0 _scenePathHash: 0 k__BackingField: 0 k__BackingField: 0 - _sceneNetworkObjects: [] --- !u!114 &5708275212759495835 MonoBehaviour: m_ObjectHideFlags: 0 @@ -4005,7 +4331,7 @@ GameObject: - component: {fileID: 8067289659534850981} - component: {fileID: 1421316668394371100} m_Layer: 0 - m_Name: Hand Right + m_Name: GloveRight m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -4142,18 +4468,24 @@ MonoBehaviour: m_EditorClassIdentifier: k__BackingField: 1 k__BackingField: 9 + k__BackingField: {fileID: 0} _networkBehaviours: [] k__BackingField: {fileID: 2930813178971533500} k__BackingField: [] + SerializedTransformProperties: + Position: {x: -1.415503, y: 0.90301704, z: 2.807138} + Rotation: {x: -0.00000008146034, y: -0, z: -0, w: 1} + LocalScale: {x: 1, y: 1, z: 1} _isNetworked: 1 _isGlobal: 0 + _initializeOrder: 0 _defaultDespawnType: 0 NetworkObserver: {fileID: 0} - k__BackingField: -1 + k__BackingField: 65535 + k__BackingField: 0 _scenePathHash: 0 k__BackingField: 0 k__BackingField: 0 - _sceneNetworkObjects: [] --- !u!114 &1421316668394371100 MonoBehaviour: m_ObjectHideFlags: 0 @@ -4445,7 +4777,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 5329309212035021020} - m_Layer: 0 + - component: {fileID: 7885778496726064405} + m_Layer: 12 m_Name: thigh_r m_TagString: Untagged m_Icon: {fileID: 0} @@ -4468,6 +4801,19 @@ Transform: m_Father: {fileID: 2312129763742525980} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &7885778496726064405 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3786064091942543194} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 0.10848094, y: 0.3344841, z: 0.15546888} + m_Center: {x: -0.0038723757, y: 0.21477114, z: -0.015854869} --- !u!1 &3810427294442222514 GameObject: m_ObjectHideFlags: 0 @@ -4509,9 +4855,10 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 4928814663996923680} - - component: {fileID: 2147027262095140353} - component: {fileID: 745316812857141604} - m_Layer: 0 + - component: {fileID: 2147027262095140353} + - component: {fileID: 5652140381906186787} + m_Layer: 12 m_Name: Human Ear Left m_TagString: Untagged m_Icon: {fileID: 0} @@ -4533,6 +4880,44 @@ Transform: m_Father: {fileID: 6507540603877295949} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &745316812857141604 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3891135453932731479} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 36 + _addedNetworkObject: {fileID: 2930813178971533500} + _networkObjectCache: {fileID: 2930813178971533500} + _automaticContainerSetUp: 1 + ContainerInteractive: {fileID: 0} + ContainerItemDisplay: {fileID: 0} + ContainerUi: {fileID: 0} + _attachmentOffset: {x: 0, y: 0, z: 0} + _onlyStoreWhenOpen: 0 + _openWhenContainerViewed: 0 + _attachItems: 1 + _initialized: 1 + _maxDistance: 5 + _isOpenable: 0 + _isInteractive: 0 + _hasUi: 0 + _hasCustomInteraction: 0 + _hasCustomDisplay: 0 + _displays: [] + _numberDisplay: 0 + _displayAsSlotInUI: 1 + _containerName: ear left + _size: {x: 1, y: 1} + _hideItems: 1 + _type: 8192 + _startFilter: {fileID: 11400000, guid: f28df533f0deb1f489ddbd81d25cb947, type: 2} --- !u!137 &2147027262095140353 SkinnedMeshRenderer: m_ObjectHideFlags: 0 @@ -4636,7 +5021,7 @@ SkinnedMeshRenderer: m_Center: {x: -0.094726965, y: 0.56400454, z: -0.027348448} m_Extent: {x: 0.05185746, y: 0.043226242, z: 0.021120895} m_DirtyAABB: 0 ---- !u!114 &745316812857141604 +--- !u!114 &5652140381906186787 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -4645,35 +5030,9 @@ MonoBehaviour: m_GameObject: {fileID: 3891135453932731479} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} + m_Script: {fileID: 11500000, guid: a19f823e20acab740ba5150747863eb9, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 32 - _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - _automaticContainerSetUp: 1 - ContainerInteractive: {fileID: 1223547382117504491} - ContainerItemDisplay: {fileID: 0} - ContainerUi: {fileID: 0} - _attachmentOffset: {x: 0, y: 0, z: 0} - _onlyStoreWhenOpen: 0 - _openWhenContainerViewed: 0 - _attachItems: 1 - _initialized: 1 - _maxDistance: 5 - _isOpenable: 0 - _isInteractive: 1 - _hasUi: 0 - _hasCustomInteraction: 0 - _hasCustomDisplay: 0 - _displays: [] - _numberDisplay: 0 - _displayAsSlotInUI: 1 - _containerName: ear left - _size: {x: 1, y: 1} - _hideItems: 1 - _type: 8192 - _startFilter: {fileID: 11400000, guid: f28df533f0deb1f489ddbd81d25cb947, type: 2} --- !u!1 &3947384978600332797 GameObject: m_ObjectHideFlags: 0 @@ -4721,7 +5080,7 @@ GameObject: - component: {fileID: 7534105608452820685} - component: {fileID: 4251283191739647136} m_Layer: 0 - m_Name: Ear Left + m_Name: EarWearLeft m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -4858,18 +5217,24 @@ MonoBehaviour: m_EditorClassIdentifier: k__BackingField: 1 k__BackingField: 6 + k__BackingField: {fileID: 0} _networkBehaviours: [] k__BackingField: {fileID: 2930813178971533500} k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: -0.00000008146034, y: -0, z: -0, w: 1} + LocalScale: {x: 1, y: 1, z: 1} _isNetworked: 1 _isGlobal: 0 + _initializeOrder: 0 _defaultDespawnType: 0 NetworkObserver: {fileID: 0} - k__BackingField: -1 + k__BackingField: 65535 + k__BackingField: 0 _scenePathHash: 0 k__BackingField: 0 k__BackingField: 0 - _sceneNetworkObjects: [] --- !u!114 &4251283191739647136 MonoBehaviour: m_ObjectHideFlags: 0 @@ -4892,7 +5257,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 851636886438930025} - m_Layer: 0 + - component: {fileID: 2829801289424663116} + m_Layer: 12 m_Name: foot_l m_TagString: Untagged m_Icon: {fileID: 0} @@ -4915,6 +5281,19 @@ Transform: m_Father: {fileID: 2964619601704216767} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!135 &2829801289424663116 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4209142530063844385} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.1 + m_Center: {x: 0, y: 0, z: 0} --- !u!1 &4222004075332326187 GameObject: m_ObjectHideFlags: 0 @@ -5090,7 +5469,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 4983652985280326632} - m_Layer: 0 + - component: {fileID: 495117578137499362} + m_Layer: 12 m_Name: hand_r m_TagString: Untagged m_Icon: {fileID: 0} @@ -5117,6 +5497,19 @@ Transform: m_Father: {fileID: 1267633661366518328} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &495117578137499362 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4363807679330425325} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 0.21967961, y: 0.22613916, z: 0.13197084} + m_Center: {x: 0.018823538, y: 0.09387697, z: -0.014226358} --- !u!1 &4491579062591798593 GameObject: m_ObjectHideFlags: 0 @@ -5127,7 +5520,7 @@ GameObject: m_Component: - component: {fileID: 6758726119420805372} - component: {fileID: 4512872139536266348} - m_Layer: 0 + m_Layer: 12 m_Name: Human Ear Gore Left m_TagString: Untagged m_Icon: {fileID: 0} @@ -5147,7 +5540,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 498654123859477456} - m_RootOrder: 5 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!137 &4512872139536266348 SkinnedMeshRenderer: @@ -5261,8 +5654,9 @@ GameObject: m_Component: - component: {fileID: 444995378988440430} - component: {fileID: 270151793522417329} - m_Layer: 0 - m_Name: Human Head + - component: {fileID: 3338140507791060534} + m_Layer: 12 + m_Name: HumanHead m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -5280,9 +5674,12 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 1520629747557640359} - {fileID: 6428232270065938407} - {fileID: 4205348396957217158} - {fileID: 5555873607778352576} + - {fileID: 7641444464932994032} + - {fileID: 6507540603877295949} m_Father: {fileID: 498654123859477456} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -5389,6 +5786,27 @@ SkinnedMeshRenderer: m_Center: {x: 0.0000001937151, y: 0.598488, z: -0.025634572} m_Extent: {x: 0.10535494, y: 0.15681435, z: 0.13710809} m_DirtyAABB: 0 +--- !u!114 &3338140507791060534 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4586892454499637632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: de75930610499f24788224d6b0e10d6b, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 12 + _addedNetworkObject: {fileID: 2930813178971533500} + _networkObjectCache: {fileID: 2930813178971533500} + _parentBodyPart: {fileID: 5839020956740199093} + _skinnedMeshRenderer: {fileID: 270151793522417329} + _bodyPartItem: {fileID: 5774385816057912484, guid: 9ac7c2cd12db800479e566335ff7440b, type: 3} + _internalBodyParts: {fileID: 3070344760670726098} + _bodyCollider: {fileID: 4933536203666300704} + brain: {fileID: 4827024419444716214} --- !u!1 &4806492444777318490 GameObject: m_ObjectHideFlags: 0 @@ -5430,7 +5848,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 555318022889464296} - m_Layer: 0 + - component: {fileID: 3498391959947423981} + m_Layer: 12 m_Name: thigh_l m_TagString: Untagged m_Icon: {fileID: 0} @@ -5453,6 +5872,19 @@ Transform: m_Father: {fileID: 2312129763742525980} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &3498391959947423981 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4866882200861722142} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 0.11855765, y: 0.30347887, z: 0.14599887} + m_Center: {x: 0.004949685, y: 0.23400812, z: -0.013775028} --- !u!1 &4928151919399013932 GameObject: m_ObjectHideFlags: 0 @@ -5463,7 +5895,7 @@ GameObject: m_Component: - component: {fileID: 5069499873217858568} - component: {fileID: 1912639710788903869} - m_Layer: 0 + m_Layer: 12 m_Name: Human Eye Gore Right m_TagString: Untagged m_Icon: {fileID: 0} @@ -5483,7 +5915,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 498654123859477456} - m_RootOrder: 4 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!137 &1912639710788903869 SkinnedMeshRenderer: @@ -5600,7 +6032,7 @@ GameObject: - component: {fileID: 8410791339138828931} - component: {fileID: 6299264923820670093} m_Layer: 0 - m_Name: Eyes + m_Name: Glasses m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -5737,18 +6169,24 @@ MonoBehaviour: m_EditorClassIdentifier: k__BackingField: 1 k__BackingField: 5 + k__BackingField: {fileID: 0} _networkBehaviours: [] k__BackingField: {fileID: 2930813178971533500} k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: -0.00000008146034, y: -0, z: -0, w: 1} + LocalScale: {x: 1, y: 1, z: 1} _isNetworked: 1 _isGlobal: 0 + _initializeOrder: 0 _defaultDespawnType: 0 NetworkObserver: {fileID: 0} - k__BackingField: -1 + k__BackingField: 65535 + k__BackingField: 0 _scenePathHash: 0 k__BackingField: 0 k__BackingField: 0 - _sceneNetworkObjects: [] --- !u!114 &6299264923820670093 MonoBehaviour: m_ObjectHideFlags: 0 @@ -5771,9 +6209,11 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 7251559707078277041} - - component: {fileID: 7063966259298033300} - component: {fileID: 6549211580931091111} - m_Layer: 0 + - component: {fileID: 2329251983725585613} + - component: {fileID: 7063966259298033300} + - component: {fileID: 5407114594000503892} + m_Layer: 12 m_Name: Human Foot Left m_TagString: Untagged m_Icon: {fileID: 0} @@ -5795,42 +6235,100 @@ Transform: m_Father: {fileID: 246847927985657418} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &7063966259298033300 -SkinnedMeshRenderer: +--- !u!114 &6549211580931091111 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5248849393312167067} m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: cf191327ca9118c4483ccb0d22b33910, type: 2} - - {fileID: 2100000, guid: 1f8078dee7dfc354ebc752f6c3c8e0db, type: 2} - 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: 3 - m_MinimumChartSize: 4 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 27 + _addedNetworkObject: {fileID: 2930813178971533500} + _networkObjectCache: {fileID: 2930813178971533500} + _automaticContainerSetUp: 1 + ContainerInteractive: {fileID: 0} + ContainerItemDisplay: {fileID: 0} + ContainerUi: {fileID: 0} + _attachmentOffset: {x: 0, y: 0, z: 0} + _onlyStoreWhenOpen: 0 + _openWhenContainerViewed: 0 + _attachItems: 1 + _initialized: 1 + _maxDistance: 5 + _isOpenable: 0 + _isInteractive: 0 + _hasUi: 0 + _hasCustomInteraction: 0 + _hasCustomDisplay: 0 + _displays: [] + _numberDisplay: 0 + _displayAsSlotInUI: 1 + _containerName: left foot + _size: {x: 1, y: 1} + _hideItems: 1 + _type: 16 + _startFilter: {fileID: 11400000, guid: 3ff74273cf0d21d489aee138d842de56, type: 2} +--- !u!114 &2329251983725585613 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5248849393312167067} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 87fb11738474538428e7ab7a2732a1bb, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 28 + _addedNetworkObject: {fileID: 2930813178971533500} + _networkObjectCache: {fileID: 2930813178971533500} + _parentBodyPart: {fileID: 6206108594876145282} + _skinnedMeshRenderer: {fileID: 7063966259298033300} + _bodyPartItem: {fileID: 5774385816057912484, guid: 60890cc80962a7e44b97b4ba3b0518e3, type: 3} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 2829801289424663116} +--- !u!137 &7063966259298033300 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5248849393312167067} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: cf191327ca9118c4483ccb0d22b33910, type: 2} + - {fileID: 2100000, guid: 1f8078dee7dfc354ebc752f6c3c8e0db, type: 2} + 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: 3 + m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} @@ -5898,7 +6396,7 @@ SkinnedMeshRenderer: m_Center: {x: -0.17963418, y: -0.78936565, z: 0.044150636} m_Extent: {x: 0.09916148, y: 0.120364964, z: 0.115775436} m_DirtyAABB: 0 ---- !u!114 &6549211580931091111 +--- !u!114 &5407114594000503892 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -5907,35 +6405,9 @@ MonoBehaviour: m_GameObject: {fileID: 5248849393312167067} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} + m_Script: {fileID: 11500000, guid: a19f823e20acab740ba5150747863eb9, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 34 - _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - _automaticContainerSetUp: 1 - ContainerInteractive: {fileID: 6606944209543214874} - ContainerItemDisplay: {fileID: 0} - ContainerUi: {fileID: 0} - _attachmentOffset: {x: 0, y: 0, z: 0} - _onlyStoreWhenOpen: 0 - _openWhenContainerViewed: 0 - _attachItems: 1 - _initialized: 1 - _maxDistance: 5 - _isOpenable: 0 - _isInteractive: 1 - _hasUi: 0 - _hasCustomInteraction: 0 - _hasCustomDisplay: 0 - _displays: [] - _numberDisplay: 0 - _displayAsSlotInUI: 1 - _containerName: left foot - _size: {x: 1, y: 1} - _hideItems: 1 - _type: 16 - _startFilter: {fileID: 11400000, guid: 3ff74273cf0d21d489aee138d842de56, type: 2} --- !u!1 &5259835642244508253 GameObject: m_ObjectHideFlags: 0 @@ -6070,6 +6542,37 @@ SkinnedMeshRenderer: m_Center: {x: -0.020237856, y: 0.20278543, z: 0.069133} m_Extent: {x: 0.04377369, y: 0.03938824, z: 0.0213273} m_DirtyAABB: 0 +--- !u!1 &5299992164951989202 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 658316473173035848} + m_Layer: 0 + m_Name: IDHold + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &658316473173035848 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5299992164951989202} + m_LocalRotation: {x: -0.048257828, y: -0.000008294293, z: -0.0000004007311, w: 0.99883497} + m_LocalPosition: {x: 0.164, y: 0.07200022, z: -0.014999993} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2312129763742525980} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &5479548291615498498 GameObject: m_ObjectHideFlags: 0 @@ -6079,7 +6582,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 3824984762086596364} - m_Layer: 0 + - component: {fileID: 5307304765832513536} + m_Layer: 12 m_Name: foot_r m_TagString: Untagged m_Icon: {fileID: 0} @@ -6102,6 +6606,19 @@ Transform: m_Father: {fileID: 2398135412670540063} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!135 &5307304765832513536 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5479548291615498498} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.1 + m_Center: {x: 0, y: 0, z: 0} --- !u!1 &5567247887993701947 GameObject: m_ObjectHideFlags: 0 @@ -6142,7 +6659,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 246847927985657418} - m_Layer: 0 + m_Layer: 12 m_Name: Feet m_TagString: Untagged m_Icon: {fileID: 0} @@ -6164,7 +6681,7 @@ Transform: - {fileID: 6794743043753417455} - {fileID: 7251559707078277041} m_Father: {fileID: 498654123859477456} - m_RootOrder: 13 + m_RootOrder: 11 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &5666357367613415611 GameObject: @@ -6176,8 +6693,9 @@ GameObject: m_Component: - component: {fileID: 6428232270065938407} - component: {fileID: 6689112149766062617} - m_Layer: 0 - m_Name: Head Container + - component: {fileID: 3004210447099283147} + m_Layer: 12 + m_Name: HatContainer m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -6196,7 +6714,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 444995378988440430} - m_RootOrder: 0 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &6689112149766062617 MonoBehaviour: @@ -6210,11 +6728,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 26 + _componentIndexCache: 18 _addedNetworkObject: {fileID: 2930813178971533500} _networkObjectCache: {fileID: 2930813178971533500} _automaticContainerSetUp: 1 - ContainerInteractive: {fileID: 4947016969258934535} + ContainerInteractive: {fileID: 0} ContainerItemDisplay: {fileID: 0} ContainerUi: {fileID: 0} _attachmentOffset: {x: 0, y: 0, z: 0} @@ -6224,7 +6742,7 @@ MonoBehaviour: _initialized: 1 _maxDistance: 5 _isOpenable: 0 - _isInteractive: 1 + _isInteractive: 0 _hasUi: 0 _hasCustomInteraction: 0 _hasCustomDisplay: 0 @@ -6236,6 +6754,18 @@ MonoBehaviour: _hideItems: 1 _type: 256 _startFilter: {fileID: 11400000, guid: ad2c0b41755eba048b20fd9028d9d24c, type: 2} +--- !u!114 &3004210447099283147 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5666357367613415611} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a19f823e20acab740ba5150747863eb9, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &5732361403333295780 GameObject: m_ObjectHideFlags: 0 @@ -6246,7 +6776,7 @@ GameObject: m_Component: - component: {fileID: 6525079246486181739} m_Layer: 0 - m_Name: Head + m_Name: HeadWear m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -6470,6 +7000,103 @@ Transform: m_Father: {fileID: 2403132919681660608} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6085384583962521207 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7641444464932994032} + - component: {fileID: 3070344760670726098} + - component: {fileID: 3233671775632793904} + - component: {fileID: 3892332330287071515} + m_Layer: 12 + m_Name: HeadContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7641444464932994032 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6085384583962521207} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6175974718718660371} + m_Father: {fileID: 444995378988440430} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &3070344760670726098 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6085384583962521207} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 21 + _addedNetworkObject: {fileID: 2930813178971533500} + _networkObjectCache: {fileID: 2930813178971533500} + _automaticContainerSetUp: 1 + ContainerInteractive: {fileID: 0} + ContainerItemDisplay: {fileID: 0} + ContainerUi: {fileID: 0} + _attachmentOffset: {x: 0, y: 0, z: 0} + _onlyStoreWhenOpen: 0 + _openWhenContainerViewed: 0 + _attachItems: 1 + _initialized: 1 + _maxDistance: 5 + _isOpenable: 0 + _isInteractive: 0 + _hasUi: 0 + _hasCustomInteraction: 0 + _hasCustomDisplay: 0 + _displays: [] + _numberDisplay: 0 + _displayAsSlotInUI: 0 + _containerName: container + _size: {x: 1, y: 1} + _hideItems: 1 + _type: 0 + _startFilter: {fileID: 0} +--- !u!114 &3233671775632793904 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6085384583962521207} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a19f823e20acab740ba5150747863eb9, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &3892332330287071515 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6085384583962521207} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5850fb45d3e88334e84d794383f68e50, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &6156442624279794332 GameObject: m_ObjectHideFlags: 0 @@ -6620,18 +7247,24 @@ MonoBehaviour: m_EditorClassIdentifier: k__BackingField: 1 k__BackingField: 1 + k__BackingField: {fileID: 0} _networkBehaviours: [] k__BackingField: {fileID: 2930813178971533500} k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0.9402349, z: 0.03605596} + Rotation: {x: -0.00000008146034, y: -0, z: -0, w: 1} + LocalScale: {x: 1, y: 1, z: 1} _isNetworked: 1 _isGlobal: 0 + _initializeOrder: 0 _defaultDespawnType: 0 NetworkObserver: {fileID: 0} - k__BackingField: -1 + k__BackingField: 65535 + k__BackingField: 0 _scenePathHash: 0 k__BackingField: 0 k__BackingField: 0 - _sceneNetworkObjects: [] --- !u!114 &5174669343730670165 MonoBehaviour: m_ObjectHideFlags: 0 @@ -6654,7 +7287,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2089153385561551699} - m_Layer: 0 + - component: {fileID: 4061536191967800809} + m_Layer: 12 m_Name: forearm_l m_TagString: Untagged m_Icon: {fileID: 0} @@ -6678,6 +7312,20 @@ Transform: m_Father: {fileID: 8040713312746122184} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!136 &4061536191967800809 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6200983958115876081} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + m_Radius: 0.0663891 + m_Height: 0.3878733 + m_Direction: 1 + m_Center: {x: 0.00517793, y: 0.0052832696, z: 3.081886e-10} --- !u!1 &6238267535831980016 GameObject: m_ObjectHideFlags: 0 @@ -6688,7 +7336,7 @@ GameObject: m_Component: - component: {fileID: 1988314526152979523} - component: {fileID: 3022107536332115539} - m_Layer: 0 + m_Layer: 12 m_Name: Human Eye Gore Left m_TagString: Untagged m_Icon: {fileID: 0} @@ -6708,7 +7356,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 498654123859477456} - m_RootOrder: 3 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!137 &3022107536332115539 SkinnedMeshRenderer: @@ -6887,33 +7535,21 @@ GameObject: - component: {fileID: 2930813178971533500} - component: {fileID: 7255324433810104430} - component: {fileID: 5113695969261828376} + - component: {fileID: 6991070794830036728} - component: {fileID: 1252106768682846670} - component: {fileID: 3812744165389046210} - component: {fileID: 6706577840954258383} - - component: {fileID: 8336170331735268562} - component: {fileID: 5293420320943344825} - component: {fileID: 3788807725072305327} - component: {fileID: 571479044043330787} - component: {fileID: 5857269694861021747} - - component: {fileID: 3043704831697070745} - - component: {fileID: 5429108461815527728} - component: {fileID: 2150560678942863610} - component: {fileID: 7934531206375951864} - component: {fileID: 1089183168752255729} - - component: {fileID: 6991070794830036728} - - component: {fileID: 4947016969258934535} - - component: {fileID: 397698445884480565} - - component: {fileID: 7822392346892910685} - component: {fileID: 6258404136566216916} - - component: {fileID: 4559920193704007786} - - component: {fileID: 976666287367385554} - - component: {fileID: 5196104545104171939} - - component: {fileID: 4965805398881751774} - - component: {fileID: 1223547382117504491} - - component: {fileID: 2265465745196413833} - - component: {fileID: 3301312253177779075} - - component: {fileID: 6606944209543214874} - - component: {fileID: 300689357194200928} + - component: {fileID: 3771845344306968317} + - component: {fileID: 5283895024578974260} + - component: {fileID: 5164211669966765644} m_Layer: 11 m_Name: Human m_TagString: Untagged @@ -6956,48 +7592,47 @@ MonoBehaviour: m_EditorClassIdentifier: k__BackingField: 0 k__BackingField: 0 + k__BackingField: {fileID: 0} _networkBehaviours: - {fileID: 7255324433810104430} - {fileID: 5113695969261828376} - - {fileID: 8336170331735268562} - {fileID: 5293420320943344825} - {fileID: 3788807725072305327} - {fileID: 571479044043330787} - {fileID: 5857269694861021747} - - {fileID: 3043704831697070745} - - {fileID: 5429108461815527728} - {fileID: 2150560678942863610} - {fileID: 7934531206375951864} - {fileID: 1089183168752255729} - - {fileID: 4947016969258934535} - - {fileID: 397698445884480565} - - {fileID: 7822392346892910685} - {fileID: 6258404136566216916} - - {fileID: 4559920193704007786} - - {fileID: 976666287367385554} - - {fileID: 5196104545104171939} - - {fileID: 4965805398881751774} - - {fileID: 1223547382117504491} - - {fileID: 2265465745196413833} - - {fileID: 3301312253177779075} - - {fileID: 6606944209543214874} - - {fileID: 300689357194200928} - - {fileID: 1082206991310670826} + - {fileID: 3771845344306968317} + - {fileID: 5283895024578974260} + - {fileID: 3338140507791060534} + - {fileID: 5839020956740199093} + - {fileID: 465916857022110443} + - {fileID: 1082974716090020341} + - {fileID: 6206108594876145282} + - {fileID: 6956777571749741975} - {fileID: 6689112149766062617} - {fileID: 1202753384528456214} - {fileID: 3028215939049344471} + - {fileID: 3070344760670726098} + - {fileID: 1082206991310670826} - {fileID: 5460457101901443602} - {fileID: 7584683726852713205} - - {fileID: 528052100901114241} - - {fileID: 745316812857141604} - {fileID: 2306112832503890745} + - {fileID: 4041160852756243419} - {fileID: 6549211580931091111} - - {fileID: 7951212175384182717} - - {fileID: 8320963098858079385} - - {fileID: 4140518851396729342} - - {fileID: 4854640730944196939} - - {fileID: 7144090709710962679} - - {fileID: 4555203962178419925} + - {fileID: 2329251983725585613} + - {fileID: 2124807441123396136} + - {fileID: 2877804502633151377} + - {fileID: 5948957322531814959} + - {fileID: 9049119147086013476} + - {fileID: 8825455644555575778} + - {fileID: 7572883762844705701} + - {fileID: 528052100901114241} + - {fileID: 745316812857141604} + - {fileID: 8818216694137164997} + - {fileID: 2032574427462071784} k__BackingField: {fileID: 0} k__BackingField: - {fileID: 4138789318277530234} @@ -7011,15 +7646,21 @@ MonoBehaviour: - {fileID: 8067289659534850981} - {fileID: 6911900315559804093} - {fileID: 8626656600768578774} + - {fileID: 5382335363686172928} + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: 0, y: 0, z: 0, w: 1} + LocalScale: {x: 1, y: 1, z: 1} _isNetworked: 1 _isGlobal: 0 + _initializeOrder: 0 _defaultDespawnType: 0 NetworkObserver: {fileID: 0} k__BackingField: 3 + k__BackingField: 0 _scenePathHash: 0 k__BackingField: 0 k__BackingField: 9708241745505264445 - _sceneNetworkObjects: [] --- !u!114 &7255324433810104430 MonoBehaviour: m_ObjectHideFlags: 0 @@ -7035,6 +7676,7 @@ MonoBehaviour: _componentIndexCache: 0 _addedNetworkObject: {fileID: 2930813178971533500} _networkObjectCache: {fileID: 2930813178971533500} + _componentConfiguration: 0 _synchronizeParent: 0 _packing: Position: 0 @@ -7044,8 +7686,10 @@ MonoBehaviour: _extrapolation: 2 _enableTeleport: 1 _teleportThreshold: 1 + _scaleThreshold: 1 _clientAuthoritative: 1 _sendToOwner: 1 + _enableNetworkLod: 1 _interval: 1 _synchronizePosition: 1 _positionSnapping: @@ -7083,17 +7727,32 @@ MonoBehaviour: _interpolation: 2 _clientAuthoritative: 1 _sendToOwner: 0 ---- !u!95 &1252106768682846670 -Animator: - serializedVersion: 4 +--- !u!114 &6991070794830036728 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6415765038646171405} m_Enabled: 1 - m_Avatar: {fileID: 0} - m_Controller: {fileID: 9100000, guid: a1ac53162579a7d47aed8500b36be080, type: 2} + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c71fd7f855ec523429999fc4e14a1928, type: 3} + m_Name: + m_EditorClassIdentifier: + _overrideType: 1 + _updateHostVisibility: 1 + _observerConditions: [] +--- !u!95 &1252106768682846670 +Animator: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6415765038646171405} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: a1ac53162579a7d47aed8500b36be080, type: 2} m_CullingMode: 0 m_UpdateMode: 0 m_ApplyRootMotion: 0 @@ -7136,22 +7795,6 @@ MonoBehaviour: _movementController: {fileID: 571479044043330787} _animator: {fileID: 1252106768682846670} _lerpMultiplier: 2.4 ---- !u!114 &8336170331735268562 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6415765038646171405} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 67a464fdf1254e188dcb2729033a7718, type: 3} - m_Name: - m_EditorClassIdentifier: - _componentIndexCache: 2 - _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - _mind: {fileID: 0} --- !u!114 &5293420320943344825 MonoBehaviour: m_ObjectHideFlags: 0 @@ -7164,12 +7807,12 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 3c0362743a29c3f4bb97acacf5ad39f1, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 3 + _componentIndexCache: 2 _addedNetworkObject: {fileID: 2930813178971533500} _networkObjectCache: {fileID: 2930813178971533500} _selectionMask: serializedVersion: 2 - m_Bits: 1043 + m_Bits: 7187 --- !u!114 &3788807725072305327 MonoBehaviour: m_ObjectHideFlags: 0 @@ -7182,11 +7825,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 6d49f6aa9fbc08542855c3ce2be467ea, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 4 + _componentIndexCache: 3 _addedNetworkObject: {fileID: 2930813178971533500} _networkObjectCache: {fileID: 2930813178971533500} _player: {fileID: 571479044043330787} - _entity: {fileID: 8336170331735268562} + _entity: {fileID: 5283895024578974260} _currentStamina: 100 --- !u!114 &571479044043330787 MonoBehaviour: @@ -7200,16 +7843,17 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 318cd55c1238afd41875e5eb60b62493, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 5 + _componentIndexCache: 4 _addedNetworkObject: {fileID: 2930813178971533500} _networkObjectCache: {fileID: 2930813178971533500} - _entity: {fileID: 8336170331735268562} + _entity: {fileID: 5283895024578974260} _movementSpeed: 5 _lerpMultiplier: 2 _rotationLerpMultiplier: 6 _movementTarget: {fileID: 282733360052666326} _characterController: {fileID: 3812744165389046210} _staminaController: {fileID: 3788807725072305327} + _feetController: {fileID: 5164211669966765644} --- !u!114 &5857269694861021747 MonoBehaviour: m_ObjectHideFlags: 0 @@ -7222,46 +7866,10 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: dba8acd5c6a2f1c438c5d3b65c03ebc2, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 6 + _componentIndexCache: 5 _addedNetworkObject: {fileID: 2930813178971533500} _networkObjectCache: {fileID: 2930813178971533500} Ghost: {fileID: 2798955099631966591, guid: 7bbb74a7ffc8cae44baa886de43c586b, type: 3} ---- !u!114 &3043704831697070745 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6415765038646171405} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3c75d17834848bb4f83ee6e730a65519, type: 3} - m_Name: - m_EditorClassIdentifier: - _componentIndexCache: 7 - _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - _openState: 0 - OverrideOpenIcon: {fileID: 0} - attachedContainer: {fileID: 0} ---- !u!114 &5429108461815527728 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6415765038646171405} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3c75d17834848bb4f83ee6e730a65519, type: 3} - m_Name: - m_EditorClassIdentifier: - _componentIndexCache: 8 - _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - _openState: 0 - OverrideOpenIcon: {fileID: 0} - attachedContainer: {fileID: 0} --- !u!114 &2150560678942863610 MonoBehaviour: m_ObjectHideFlags: 0 @@ -7274,12 +7882,12 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 8ace7b9d7c75cbb4ca57c876f0b3b644, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 9 + _componentIndexCache: 6 _addedNetworkObject: {fileID: 2930813178971533500} _networkObjectCache: {fileID: 2930813178971533500} PlayerHands: - - {fileID: 4854640730944196939} - - {fileID: 4555203962178419925} + - {fileID: 7572883762844705701} + - {fileID: 5948957322531814959} _selectedColor: {r: 1, g: 1, b: 1, a: 0.8627451} _defaultColor: {r: 1, g: 1, b: 1, a: 0.45490196} _selectedHand: {fileID: 0} @@ -7295,7 +7903,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da620d1cfa3d9fd49b22c28e910884f0, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 10 + _componentIndexCache: 7 _addedNetworkObject: {fileID: 2930813178971533500} _networkObjectCache: {fileID: 2930813178971533500} inventory: {fileID: 1089183168752255729} @@ -7311,81 +7919,12 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a734a88f440905f4cb00aa24f8deb2fd, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 11 + _componentIndexCache: 8 _addedNetworkObject: {fileID: 2930813178971533500} _networkObjectCache: {fileID: 2930813178971533500} containerViewer: {fileID: 7934531206375951864} - Body: {fileID: 8336170331735268562} + Body: {fileID: 5283895024578974260} Hands: {fileID: 2150560678942863610} ---- !u!114 &6991070794830036728 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6415765038646171405} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c71fd7f855ec523429999fc4e14a1928, type: 3} - m_Name: - m_EditorClassIdentifier: - _overrideType: 1 - _updateHostVisibility: 1 - _observerConditions: [] ---- !u!114 &4947016969258934535 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6415765038646171405} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3c75d17834848bb4f83ee6e730a65519, type: 3} - m_Name: - m_EditorClassIdentifier: - _componentIndexCache: 12 - _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - _openState: 0 - OverrideOpenIcon: {fileID: 0} - attachedContainer: {fileID: 6689112149766062617} ---- !u!114 &397698445884480565 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6415765038646171405} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3c75d17834848bb4f83ee6e730a65519, type: 3} - m_Name: - m_EditorClassIdentifier: - _componentIndexCache: 13 - _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - _openState: 0 - OverrideOpenIcon: {fileID: 0} - attachedContainer: {fileID: 1202753384528456214} ---- !u!114 &7822392346892910685 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6415765038646171405} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3c75d17834848bb4f83ee6e730a65519, type: 3} - m_Name: - m_EditorClassIdentifier: - _componentIndexCache: 14 - _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - _openState: 0 - OverrideOpenIcon: {fileID: 0} - attachedContainer: {fileID: 3028215939049344471} --- !u!114 &6258404136566216916 MonoBehaviour: m_ObjectHideFlags: 0 @@ -7398,11 +7937,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 4a156dec7da2f53419befce71ba9bcff, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 15 + _componentIndexCache: 9 _addedNetworkObject: {fileID: 2930813178971533500} _networkObjectCache: {fileID: 2930813178971533500} _inventory: {fileID: 1089183168752255729} ---- !u!114 &4559920193704007786 +--- !u!114 &3771845344306968317 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -7411,124 +7950,16 @@ MonoBehaviour: m_GameObject: {fileID: 6415765038646171405} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3c75d17834848bb4f83ee6e730a65519, type: 3} + m_Script: {fileID: 11500000, guid: 81823982a1f0a0a4b8b5b6c5915d1083, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 16 - _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - _openState: 0 - OverrideOpenIcon: {fileID: 0} - attachedContainer: {fileID: 5460457101901443602} ---- !u!114 &976666287367385554 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6415765038646171405} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3c75d17834848bb4f83ee6e730a65519, type: 3} - m_Name: - m_EditorClassIdentifier: - _componentIndexCache: 17 - _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - _openState: 0 - OverrideOpenIcon: {fileID: 0} - attachedContainer: {fileID: 7584683726852713205} ---- !u!114 &5196104545104171939 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6415765038646171405} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3c75d17834848bb4f83ee6e730a65519, type: 3} - m_Name: - m_EditorClassIdentifier: - _componentIndexCache: 18 - _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - _openState: 0 - OverrideOpenIcon: {fileID: 0} - attachedContainer: {fileID: 7951212175384182717} ---- !u!114 &4965805398881751774 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6415765038646171405} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3c75d17834848bb4f83ee6e730a65519, type: 3} - m_Name: - m_EditorClassIdentifier: - _componentIndexCache: 19 - _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - _openState: 0 - OverrideOpenIcon: {fileID: 0} - attachedContainer: {fileID: 8320963098858079385} ---- !u!114 &1223547382117504491 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6415765038646171405} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3c75d17834848bb4f83ee6e730a65519, type: 3} - m_Name: - m_EditorClassIdentifier: - _componentIndexCache: 20 - _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - _openState: 0 - OverrideOpenIcon: {fileID: 0} - attachedContainer: {fileID: 745316812857141604} ---- !u!114 &2265465745196413833 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6415765038646171405} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3c75d17834848bb4f83ee6e730a65519, type: 3} - m_Name: - m_EditorClassIdentifier: - _componentIndexCache: 21 - _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - _openState: 0 - OverrideOpenIcon: {fileID: 0} - attachedContainer: {fileID: 528052100901114241} ---- !u!114 &3301312253177779075 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6415765038646171405} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3c75d17834848bb4f83ee6e730a65519, type: 3} - m_Name: - m_EditorClassIdentifier: - _componentIndexCache: 22 + _componentIndexCache: 10 _addedNetworkObject: {fileID: 2930813178971533500} _networkObjectCache: {fileID: 2930813178971533500} - _openState: 0 - OverrideOpenIcon: {fileID: 0} - attachedContainer: {fileID: 2306112832503890745} ---- !u!114 &6606944209543214874 + attackParticleEffect: {fileID: 7714517724079113232, guid: 17b0d9163e9cdf14aa557557e7d9d76b, type: 3} + attackType: 4 + damageAmount: 10 +--- !u!114 &5283895024578974260 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -7537,16 +7968,15 @@ MonoBehaviour: m_GameObject: {fileID: 6415765038646171405} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3c75d17834848bb4f83ee6e730a65519, type: 3} + m_Script: {fileID: 11500000, guid: 78a180b5cc7241c081c14b68e054c850, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 23 + _componentIndexCache: 11 _addedNetworkObject: {fileID: 2930813178971533500} _networkObjectCache: {fileID: 2930813178971533500} - _openState: 0 - OverrideOpenIcon: {fileID: 0} - attachedContainer: {fileID: 6549211580931091111} ---- !u!114 &300689357194200928 + _mind: {fileID: 0} + Ghost: {fileID: 2798955099631966591, guid: 7bbb74a7ffc8cae44baa886de43c586b, type: 3} +--- !u!114 &5164211669966765644 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -7555,15 +7985,13 @@ MonoBehaviour: m_GameObject: {fileID: 6415765038646171405} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3c75d17834848bb4f83ee6e730a65519, type: 3} + m_Script: {fileID: 11500000, guid: 8a01db53685baa84d8ca938524f2638f, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 24 + _componentIndexCache: 255 _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - _openState: 0 - OverrideOpenIcon: {fileID: 0} - attachedContainer: {fileID: 1082206991310670826} + _networkObjectCache: {fileID: 0} + _feetHealthFactor: 1 --- !u!1 &6418095482179841189 GameObject: m_ObjectHideFlags: 0 @@ -7604,9 +8032,10 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 6806139853968569792} + - component: {fileID: 5839020956740199093} - component: {fileID: 4652682359255614497} - m_Layer: 0 - m_Name: Human Torso + m_Layer: 12 + m_Name: HumanTorso m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -7624,11 +8053,32 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 4169942637441476752} - {fileID: 4531842478586200051} - {fileID: 8674961287379602231} m_Father: {fileID: 498654123859477456} - m_RootOrder: 7 + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5839020956740199093 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6497759491280381115} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d25aaf3a871b3d1438c1a27c2c6b57c6, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 13 + _addedNetworkObject: {fileID: 2930813178971533500} + _networkObjectCache: {fileID: 2930813178971533500} + _parentBodyPart: {fileID: 0} + _skinnedMeshRenderer: {fileID: 4652682359255614497} + _bodyPartItem: {fileID: 5774385816057912484, guid: 885d5a9c5776fd64ab1cf595e0cfd9d8, type: 3} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 3758014577139489731} --- !u!137 &4652682359255614497 SkinnedMeshRenderer: m_ObjectHideFlags: 0 @@ -7773,7 +8223,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 4376142534935647200} - m_Layer: 0 + m_Layer: 12 m_Name: Hands m_TagString: Untagged m_Icon: {fileID: 0} @@ -7795,7 +8245,7 @@ Transform: - {fileID: 8125343414912825193} - {fileID: 4106946874534760221} m_Father: {fileID: 498654123859477456} - m_RootOrder: 14 + m_RootOrder: 12 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &6697434752520298150 GameObject: @@ -7974,7 +8424,7 @@ GameObject: - component: {fileID: 8597866665138281237} - component: {fileID: 2901963028592262164} m_Layer: 0 - m_Name: Underwear Top + m_Name: UnderwearTop m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -8106,7 +8556,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 9089863125375551091} - m_Layer: 0 + - component: {fileID: 4933536203666300704} + m_Layer: 12 m_Name: head m_TagString: Untagged m_Icon: {fileID: 0} @@ -8128,6 +8579,19 @@ Transform: m_Father: {fileID: 5539079144479387355} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!135 &4933536203666300704 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7117039680706093616} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.15901591 + m_Center: {x: 4.4850273e-11, y: 0.10075087, z: 0.015286901} --- !u!1 &7346838480958185366 GameObject: m_ObjectHideFlags: 0 @@ -8138,8 +8602,8 @@ GameObject: m_Component: - component: {fileID: 1520629747557640359} - component: {fileID: 3358737676406594101} - m_Layer: 0 - m_Name: Human Eyes + m_Layer: 12 + m_Name: HumanEyes m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -8152,13 +8616,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7346838480958185366} - m_LocalRotation: {x: -0.00000008146034, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 1.4351748, z: 0.045653485} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 498654123859477456} - m_RootOrder: 2 + m_Father: {fileID: 444995378988440430} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!137 &3358737676406594101 SkinnedMeshRenderer: @@ -8307,7 +8771,7 @@ GameObject: - component: {fileID: 2091115627957921416} - component: {fileID: 113844057537055301} m_Layer: 0 - m_Name: Face + m_Name: Mask m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -8444,18 +8908,24 @@ MonoBehaviour: m_EditorClassIdentifier: k__BackingField: 1 k__BackingField: 4 + k__BackingField: {fileID: 0} _networkBehaviours: [] k__BackingField: {fileID: 2930813178971533500} k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: -0.00000008146034, y: -0, z: -0, w: 1} + LocalScale: {x: 1, y: 1, z: 1} _isNetworked: 1 _isGlobal: 0 + _initializeOrder: 0 _defaultDespawnType: 0 NetworkObserver: {fileID: 0} - k__BackingField: -1 + k__BackingField: 65535 + k__BackingField: 0 _scenePathHash: 0 k__BackingField: 0 k__BackingField: 0 - _sceneNetworkObjects: [] --- !u!114 &113844057537055301 MonoBehaviour: m_ObjectHideFlags: 0 @@ -8478,7 +8948,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 6507540603877295949} - m_Layer: 0 + m_Layer: 12 m_Name: Ears m_TagString: Untagged m_Icon: {fileID: 0} @@ -8492,15 +8962,15 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7474862859407008586} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalRotation: {x: 0.00000008146034, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -1.4351748, z: -0.04565372} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 6313390061406284947} - {fileID: 4928814663996923680} - m_Father: {fileID: 498654123859477456} - m_RootOrder: 12 + m_Father: {fileID: 444995378988440430} + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &7528059133581162048 GameObject: @@ -8511,7 +8981,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 498654123859477456} - m_Layer: 0 + m_Layer: 12 m_Name: 01 Body m_TagString: Untagged m_Icon: {fileID: 0} @@ -8532,7 +9002,6 @@ Transform: m_Children: - {fileID: 7799443497831185722} - {fileID: 444995378988440430} - - {fileID: 1520629747557640359} - {fileID: 1988314526152979523} - {fileID: 5069499873217858568} - {fileID: 6758726119420805372} @@ -8542,7 +9011,6 @@ Transform: - {fileID: 5970252886068655664} - {fileID: 4161278733561394789} - {fileID: 5748561531554055639} - - {fileID: 6507540603877295949} - {fileID: 246847927985657418} - {fileID: 4376142534935647200} m_Father: {fileID: 5927494552340417975} @@ -8953,9 +9421,13 @@ GameObject: m_Component: - component: {fileID: 8125343414912825193} - component: {fileID: 2879367628846680322} - - component: {fileID: 7951212175384182717} - m_Layer: 0 - m_Name: Human Hand Right + - component: {fileID: 2124807441123396136} + - component: {fileID: 2877804502633151377} + - component: {fileID: 5948957322531814959} + - component: {fileID: 3114280644682490816} + - component: {fileID: 4140257108267273893} + m_Layer: 12 + m_Name: HumanHandRight m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -8972,7 +9444,8 @@ Transform: m_LocalPosition: {x: 0.65835714, y: 1.1670547, z: 0.050554566} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 1822146851148749094} m_Father: {fileID: 4376142534935647200} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -9079,7 +9552,28 @@ SkinnedMeshRenderer: m_Center: {x: 0.6599275, y: 0.33121663, z: 0.013122633} m_Extent: {x: 0.13212344, y: 0.08707075, z: 0.11776911} m_DirtyAABB: 0 ---- !u!114 &7951212175384182717 +--- !u!114 &2124807441123396136 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8222677626908822405} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 83a3281d5348d93498a0d8d0e3b7751d, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 29 + _addedNetworkObject: {fileID: 2930813178971533500} + _networkObjectCache: {fileID: 2930813178971533500} + _parentBodyPart: {fileID: 1082974716090020341} + _skinnedMeshRenderer: {fileID: 2879367628846680322} + _bodyPartItem: {fileID: 5774385816057912484, guid: c19eccca279beee4186432a03257a7b9, type: 3} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 495117578137499362} + _hand: {fileID: 5948957322531814959} +--- !u!114 &2877804502633151377 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -9091,11 +9585,131 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 35 + _componentIndexCache: 30 + _addedNetworkObject: {fileID: 2930813178971533500} + _networkObjectCache: {fileID: 2930813178971533500} + _automaticContainerSetUp: 0 + ContainerInteractive: {fileID: 0} + ContainerItemDisplay: {fileID: 0} + ContainerUi: {fileID: 0} + _attachmentOffset: {x: 0, y: 0, z: 0} + _onlyStoreWhenOpen: 0 + _openWhenContainerViewed: 0 + _attachItems: 1 + _initialized: 0 + _maxDistance: 5 + _isOpenable: 0 + _isInteractive: 0 + _hasUi: 0 + _hasCustomInteraction: 0 + _hasCustomDisplay: 1 + _displays: + - {fileID: 6653541696833174003} + _numberDisplay: 1 + _displayAsSlotInUI: 1 + _containerName: right hand + _size: {x: 1, y: 1} + _hideItems: 0 + _type: 2 + _startFilter: {fileID: 0} +--- !u!114 &5948957322531814959 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8222677626908822405} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e60c09e136263a44eb7996c9a5dc742a, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 31 + _addedNetworkObject: {fileID: 2930813178971533500} + _networkObjectCache: {fileID: 2930813178971533500} + Container: {fileID: 2877804502633151377} + _range: + Horizontal: 1.5 + Vertical: 2 + _pickupIcon: {fileID: 21300000, guid: 2db953f2ae8f41d4e9842d9144a9e396, type: 2} + _interactionOrigin: {fileID: 6653541696833174003} + HandsController: {fileID: 2150560678942863610} +--- !u!114 &3114280644682490816 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8222677626908822405} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25610b7ef51d43c7bc0bd2bc58036e61, type: 3} + m_Name: + m_EditorClassIdentifier: + attachedContainer: {fileID: 2877804502633151377} + Mirrored: 0 +--- !u!114 &4140257108267273893 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8222677626908822405} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76995bdf538c155469a296a7b56f57f5, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &8320002649115381438 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2751191426841567755} + - component: {fileID: 2032574427462071784} + - component: {fileID: 1738019030909692378} + m_Layer: 12 + m_Name: GloveContainerLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2751191426841567755 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8320002649115381438} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4106946874534760221} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2032574427462071784 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8320002649115381438} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 38 _addedNetworkObject: {fileID: 2930813178971533500} _networkObjectCache: {fileID: 2930813178971533500} _automaticContainerSetUp: 1 - ContainerInteractive: {fileID: 5196104545104171939} + ContainerInteractive: {fileID: 0} ContainerItemDisplay: {fileID: 0} ContainerUi: {fileID: 0} _attachmentOffset: {x: 0, y: 0, z: 0} @@ -9105,18 +9719,30 @@ MonoBehaviour: _initialized: 1 _maxDistance: 5 _isOpenable: 0 - _isInteractive: 1 + _isInteractive: 0 _hasUi: 0 _hasCustomInteraction: 0 _hasCustomDisplay: 0 _displays: [] _numberDisplay: 0 _displayAsSlotInUI: 1 - _containerName: Glove right + _containerName: Glove left _size: {x: 1, y: 1} _hideItems: 1 - _type: 4096 - _startFilter: {fileID: 11400000, guid: edc47f5d8d1fc924eb6ca994e8590358, type: 2} + _type: 2048 + _startFilter: {fileID: 11400000, guid: 36efdbb409cb0324d8b49d7d85fccffc, type: 2} +--- !u!114 &1738019030909692378 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8320002649115381438} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a19f823e20acab740ba5150747863eb9, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &8327591943400095719 GameObject: m_ObjectHideFlags: 0 @@ -9159,8 +9785,8 @@ GameObject: m_Component: - component: {fileID: 7799443497831185722} - component: {fileID: 6459807397474569680} - m_Layer: 0 - m_Name: Human COMPLETE + m_Layer: 12 + m_Name: HumanComplete m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -9346,7 +9972,7 @@ Transform: - {fileID: 1084986635934123439} - {fileID: 555318022889464296} - {fileID: 5329309212035021020} - - {fileID: 4169942637441476752} + - {fileID: 658316473173035848} m_Father: {fileID: 8356004225170572391} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -9375,13 +10001,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8606613593399740242} - m_LocalRotation: {x: -0.048257828, y: -0.000008294293, z: -0.00000040073064, w: 0.99883497} - m_LocalPosition: {x: 0.164, y: 0.072, z: -0.015} + m_LocalRotation: {x: -0.000000037748936, y: -6.431098e-13, z: -6.431099e-13, w: 1} + m_LocalPosition: {x: 0.16399975, y: -0.033746596, z: -0.030805452} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 2312129763742525980} - m_RootOrder: 3 + m_Father: {fileID: 6806139853968569792} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1082206991310670826 MonoBehaviour: @@ -9395,11 +10021,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 25 + _componentIndexCache: 22 _addedNetworkObject: {fileID: 2930813178971533500} _networkObjectCache: {fileID: 2930813178971533500} _automaticContainerSetUp: 0 - ContainerInteractive: {fileID: 300689357194200928} + ContainerInteractive: {fileID: 0} ContainerItemDisplay: {fileID: 7489720702399317162} ContainerUi: {fileID: 0} _attachmentOffset: {x: 0, y: 0, z: 0} @@ -9409,12 +10035,12 @@ MonoBehaviour: _initialized: 1 _maxDistance: 5 _isOpenable: 0 - _isInteractive: 1 + _isInteractive: 0 _hasUi: 0 _hasCustomInteraction: 0 _hasCustomDisplay: 1 _displays: - - {fileID: 4169942637441476752} + - {fileID: 658316473173035848} _numberDisplay: 1 _displayAsSlotInUI: 1 _containerName: ID container @@ -9643,7 +10269,7 @@ GameObject: m_Component: - component: {fileID: 3696211021867152838} - component: {fileID: 1325118169618504031} - m_Layer: 0 + m_Layer: 12 m_Name: Human Ear Gore Right m_TagString: Untagged m_Icon: {fileID: 0} @@ -9663,7 +10289,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 498654123859477456} - m_RootOrder: 6 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!137 &1325118169618504031 SkinnedMeshRenderer: @@ -9912,8 +10538,9 @@ GameObject: m_Component: - component: {fileID: 5555873607778352576} - component: {fileID: 3028215939049344471} - m_Layer: 0 - m_Name: Mask Container + - component: {fileID: 4893657071321563839} + m_Layer: 12 + m_Name: MaskContainer m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -9932,7 +10559,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 444995378988440430} - m_RootOrder: 2 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &3028215939049344471 MonoBehaviour: @@ -9946,11 +10573,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 28 + _componentIndexCache: 20 _addedNetworkObject: {fileID: 2930813178971533500} _networkObjectCache: {fileID: 2930813178971533500} _automaticContainerSetUp: 1 - ContainerInteractive: {fileID: 7822392346892910685} + ContainerInteractive: {fileID: 0} ContainerItemDisplay: {fileID: 0} ContainerUi: {fileID: 0} _attachmentOffset: {x: 0, y: 0, z: 0} @@ -9960,7 +10587,7 @@ MonoBehaviour: _initialized: 1 _maxDistance: 5 _isOpenable: 0 - _isInteractive: 1 + _isInteractive: 0 _hasUi: 0 _hasCustomInteraction: 0 _hasCustomDisplay: 0 @@ -9972,6 +10599,18 @@ MonoBehaviour: _hideItems: 1 _type: 128 _startFilter: {fileID: 11400000, guid: f32533b63cf79514f860eab451fb0cb6, type: 2} +--- !u!114 &4893657071321563839 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8885684213893680689} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a19f823e20acab740ba5150747863eb9, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &8915899267794646267 GameObject: m_ObjectHideFlags: 0 @@ -9981,9 +10620,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1342008326084027676} - - component: {fileID: 4140518851396729342} - - component: {fileID: 8300769832796282301} - - component: {fileID: 4854640730944196939} m_Layer: 0 m_Name: hold.l m_TagString: Untagged @@ -10006,81 +10642,6 @@ Transform: m_Father: {fileID: 2561159763559213326} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &4140518851396729342 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8915899267794646267} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} - m_Name: - m_EditorClassIdentifier: - _componentIndexCache: 37 - _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - _automaticContainerSetUp: 0 - ContainerInteractive: {fileID: 0} - ContainerItemDisplay: {fileID: 0} - ContainerUi: {fileID: 0} - _attachmentOffset: {x: 0, y: 0, z: 0} - _onlyStoreWhenOpen: 0 - _openWhenContainerViewed: 0 - _attachItems: 1 - _initialized: 1 - _maxDistance: 5 - _isOpenable: 0 - _isInteractive: 1 - _hasUi: 0 - _hasCustomInteraction: 0 - _hasCustomDisplay: 1 - _displays: - - {fileID: 1342008326084027676} - _numberDisplay: 1 - _displayAsSlotInUI: 1 - _containerName: left hand - _size: {x: 1, y: 1} - _hideItems: 0 - _type: 2 - _startFilter: {fileID: 0} ---- !u!114 &8300769832796282301 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8915899267794646267} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 25610b7ef51d43c7bc0bd2bc58036e61, type: 3} - m_Name: - m_EditorClassIdentifier: - attachedContainer: {fileID: 4140518851396729342} - Mirrored: 1 ---- !u!114 &4854640730944196939 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8915899267794646267} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e60c09e136263a44eb7996c9a5dc742a, type: 3} - m_Name: - m_EditorClassIdentifier: - _componentIndexCache: 38 - _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - Container: {fileID: 4140518851396729342} - _range: - Horizontal: 1.5 - Vertical: 2 - _pickupIcon: {fileID: 21300000, guid: d1f34343e08a14e48a856e409c355f32, type: 3} - _interactionOrigin: {fileID: 1342008326084027676} - HandsController: {fileID: 2150560678942863610} --- !u!1 &8935913803077858714 GameObject: m_ObjectHideFlags: 0 @@ -10232,18 +10793,24 @@ MonoBehaviour: m_EditorClassIdentifier: k__BackingField: 1 k__BackingField: 2 + k__BackingField: {fileID: 0} _networkBehaviours: [] k__BackingField: {fileID: 2930813178971533500} k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0.9402349, z: 0.03605596} + Rotation: {x: -0.00000008146034, y: -0, z: -0, w: 1} + LocalScale: {x: 1, y: 1, z: 1} _isNetworked: 1 _isGlobal: 0 + _initializeOrder: 0 _defaultDespawnType: 0 NetworkObserver: {fileID: 0} - k__BackingField: -1 + k__BackingField: 65535 + k__BackingField: 0 _scenePathHash: 0 k__BackingField: 0 k__BackingField: 0 - _sceneNetworkObjects: [] --- !u!114 &1621818506458342007 MonoBehaviour: m_ObjectHideFlags: 0 @@ -10300,9 +10867,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 6653541696833174003} - - component: {fileID: 7144090709710962679} - - component: {fileID: 8735509741792839302} - - component: {fileID: 4555203962178419925} m_Layer: 0 m_Name: hold.r m_TagString: Untagged @@ -10325,81 +10889,6 @@ Transform: m_Father: {fileID: 4983652985280326632} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: -6.07, y: 89.771, z: -88.092} ---- !u!114 &7144090709710962679 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9064888651365615274} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} - m_Name: - m_EditorClassIdentifier: - _componentIndexCache: 39 - _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - _automaticContainerSetUp: 0 - ContainerInteractive: {fileID: 0} - ContainerItemDisplay: {fileID: 0} - ContainerUi: {fileID: 0} - _attachmentOffset: {x: 0, y: 0, z: 0} - _onlyStoreWhenOpen: 0 - _openWhenContainerViewed: 0 - _attachItems: 1 - _initialized: 1 - _maxDistance: 5 - _isOpenable: 0 - _isInteractive: 1 - _hasUi: 0 - _hasCustomInteraction: 0 - _hasCustomDisplay: 1 - _displays: - - {fileID: 6653541696833174003} - _numberDisplay: 1 - _displayAsSlotInUI: 1 - _containerName: right hand - _size: {x: 1, y: 1} - _hideItems: 0 - _type: 2 - _startFilter: {fileID: 0} ---- !u!114 &8735509741792839302 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9064888651365615274} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 25610b7ef51d43c7bc0bd2bc58036e61, type: 3} - m_Name: - m_EditorClassIdentifier: - attachedContainer: {fileID: 7144090709710962679} - Mirrored: 0 ---- !u!114 &4555203962178419925 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9064888651365615274} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e60c09e136263a44eb7996c9a5dc742a, type: 3} - m_Name: - m_EditorClassIdentifier: - _componentIndexCache: 40 - _addedNetworkObject: {fileID: 2930813178971533500} - _networkObjectCache: {fileID: 2930813178971533500} - Container: {fileID: 7144090709710962679} - _range: - Horizontal: 1.5 - Vertical: 2 - _pickupIcon: {fileID: 21300000, guid: 2db953f2ae8f41d4e9842d9144a9e396, type: 2} - _interactionOrigin: {fileID: 6653541696833174003} - HandsController: {fileID: 2150560678942863610} --- !u!1 &9131769810566877388 GameObject: m_ObjectHideFlags: 0 @@ -10474,9 +10963,13 @@ GameObject: m_Component: - component: {fileID: 4106946874534760221} - component: {fileID: 6217532572249875957} - - component: {fileID: 8320963098858079385} - m_Layer: 0 - m_Name: Human Hand Left + - component: {fileID: 9049119147086013476} + - component: {fileID: 8825455644555575778} + - component: {fileID: 4181552281325083619} + - component: {fileID: 7572883762844705701} + - component: {fileID: 5377253027743065077} + m_Layer: 12 + m_Name: HumanHandLeft m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -10493,7 +10986,8 @@ Transform: m_LocalPosition: {x: -0.65835714, y: 1.1670547, z: 0.050554566} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 2751191426841567755} m_Father: {fileID: 4376142534935647200} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -10600,7 +11094,28 @@ SkinnedMeshRenderer: m_Center: {x: -0.6599268, y: 0.3312164, z: 0.013102621} m_Extent: {x: 0.13212243, y: 0.08707071, z: 0.1177676} m_DirtyAABB: 0 ---- !u!114 &8320963098858079385 +--- !u!114 &9049119147086013476 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9182038362482206685} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 83a3281d5348d93498a0d8d0e3b7751d, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 32 + _addedNetworkObject: {fileID: 2930813178971533500} + _networkObjectCache: {fileID: 2930813178971533500} + _parentBodyPart: {fileID: 465916857022110443} + _skinnedMeshRenderer: {fileID: 6217532572249875957} + _bodyPartItem: {fileID: 5774385816057912484, guid: df85b75fd341a244c8364ebb9c4fcfef, type: 3} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 2660167717358018512} + _hand: {fileID: 7572883762844705701} +--- !u!114 &8825455644555575778 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -10612,29 +11127,210 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 36 + _componentIndexCache: 33 _addedNetworkObject: {fileID: 2930813178971533500} _networkObjectCache: {fileID: 2930813178971533500} - _automaticContainerSetUp: 1 - ContainerInteractive: {fileID: 4965805398881751774} + _automaticContainerSetUp: 0 + ContainerInteractive: {fileID: 0} ContainerItemDisplay: {fileID: 0} ContainerUi: {fileID: 0} _attachmentOffset: {x: 0, y: 0, z: 0} _onlyStoreWhenOpen: 0 _openWhenContainerViewed: 0 _attachItems: 1 - _initialized: 1 + _initialized: 0 _maxDistance: 5 _isOpenable: 0 - _isInteractive: 1 + _isInteractive: 0 _hasUi: 0 _hasCustomInteraction: 0 - _hasCustomDisplay: 0 - _displays: [] + _hasCustomDisplay: 1 + _displays: + - {fileID: 1342008326084027676} _numberDisplay: 0 _displayAsSlotInUI: 1 - _containerName: Glove left + _containerName: left hand _size: {x: 1, y: 1} - _hideItems: 1 - _type: 2048 - _startFilter: {fileID: 11400000, guid: 36efdbb409cb0324d8b49d7d85fccffc, type: 2} + _hideItems: 0 + _type: 2 + _startFilter: {fileID: 0} +--- !u!114 &4181552281325083619 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9182038362482206685} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25610b7ef51d43c7bc0bd2bc58036e61, type: 3} + m_Name: + m_EditorClassIdentifier: + attachedContainer: {fileID: 8825455644555575778} + Mirrored: 1 +--- !u!114 &7572883762844705701 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9182038362482206685} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e60c09e136263a44eb7996c9a5dc742a, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 34 + _addedNetworkObject: {fileID: 2930813178971533500} + _networkObjectCache: {fileID: 2930813178971533500} + Container: {fileID: 8825455644555575778} + _range: + Horizontal: 1.5 + Vertical: 2 + _pickupIcon: {fileID: 21300000, guid: d1f34343e08a14e48a856e409c355f32, type: 3} + _interactionOrigin: {fileID: 1342008326084027676} + HandsController: {fileID: 2150560678942863610} +--- !u!114 &5377253027743065077 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9182038362482206685} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76995bdf538c155469a296a7b56f57f5, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &4384804525801143358 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 7641444464932994032} + m_Modifications: + - target: {fileID: 5774385816057912484, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_Name + value: HumanBrainItem + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8532088199163376958, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: k__BackingField + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8532088199163376958, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: k__BackingField + value: 41 + objectReference: {fileID: 0} + - target: {fileID: 8532088199163376958, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: k__BackingField + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 8532088199163376958, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: k__BackingField + value: + objectReference: {fileID: 2930813178971533500} + - target: {fileID: 8532088199163376958, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: SerializedTransformProperties.Rotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8532088199163376958, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: SerializedTransformProperties.Rotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8532088199163376958, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: SerializedTransformProperties.Rotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8532088199163376958, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: SerializedTransformProperties.Rotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8532088199163376958, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: SerializedTransformProperties.LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8532088199163376958, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: SerializedTransformProperties.LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8532088199163376958, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: SerializedTransformProperties.LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 9092168884592295084, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} +--- !u!114 &4827024419444716214 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 9089668530437459592, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + m_PrefabInstance: {fileID: 4384804525801143358} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d1046a032bc197247b9aab3d1812b254, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &5382335363686172928 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8532088199163376958, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + m_PrefabInstance: {fileID: 4384804525801143358} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 26b716c41e9b56b4baafaf13a523ba2e, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &6175974718718660371 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + m_PrefabInstance: {fileID: 4384804525801143358} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Content/WorldObjects/Entities/Humanoids/Human/HumanBodyParts/HumanHandLeft.prefab b/Assets/Content/WorldObjects/Entities/Humanoids/Human/HumanBodyParts/HumanHandLeft.prefab index 7469d01f2c..f24b9b8880 100644 --- a/Assets/Content/WorldObjects/Entities/Humanoids/Human/HumanBodyParts/HumanHandLeft.prefab +++ b/Assets/Content/WorldObjects/Entities/Humanoids/Human/HumanBodyParts/HumanHandLeft.prefab @@ -130,6 +130,9 @@ GameObject: - component: {fileID: 7854195103374356208} - component: {fileID: 7244337257717968850} - component: {fileID: 6047619831351193847} + - component: {fileID: 787567626965563974} + - component: {fileID: 9217642514011775196} + - component: {fileID: 2681293810503783247} m_Layer: 10 m_Name: HumanHandLeft m_TagString: Untagged @@ -169,6 +172,7 @@ MonoBehaviour: _componentIndexCache: 0 _addedNetworkObject: {fileID: 8532088199163376958} _networkObjectCache: {fileID: 8532088199163376958} + _componentConfiguration: 0 _synchronizeParent: 0 _packing: Position: 0 @@ -178,8 +182,10 @@ MonoBehaviour: _extrapolation: 2 _enableTeleport: 0 _teleportThreshold: 1 + _scaleThreshold: 1 _clientAuthoritative: 1 _sendToOwner: 1 + _enableNetworkLod: 1 _interval: 1 _synchronizePosition: 1 _positionSnapping: @@ -210,22 +216,29 @@ MonoBehaviour: m_EditorClassIdentifier: k__BackingField: 0 k__BackingField: 0 + k__BackingField: {fileID: 0} _networkBehaviours: - {fileID: 6576413314991157836} - {fileID: 949826828486068756} - {fileID: 7854195103374356208} - {fileID: 6047619831351193847} + - {fileID: 9217642514011775196} k__BackingField: {fileID: 0} k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: 0, y: 0, z: 0, w: 1} + LocalScale: {x: 1, y: 1, z: 1} _isNetworked: 1 _isGlobal: 0 + _initializeOrder: 0 _defaultDespawnType: 0 NetworkObserver: {fileID: 0} k__BackingField: 0 + k__BackingField: 0 _scenePathHash: 0 k__BackingField: 0 k__BackingField: 63366572448909465 - _sceneNetworkObjects: [] --- !u!114 &949826828486068756 MonoBehaviour: m_ObjectHideFlags: 0 @@ -242,12 +255,12 @@ MonoBehaviour: _addedNetworkObject: {fileID: 8532088199163376958} _networkObjectCache: {fileID: 8532088199163376958} Container: {fileID: 7854195103374356208} - range: + _range: Horizontal: 1.5 Vertical: 2 - pickupIcon: {fileID: 0} - interactionOrigin: {fileID: 8087437400747043343} - handsController: {fileID: 0} + _pickupIcon: {fileID: 0} + _interactionOrigin: {fileID: 0} + HandsController: {fileID: 0} --- !u!114 &7854195103374356208 MonoBehaviour: m_ObjectHideFlags: 0 @@ -266,6 +279,7 @@ MonoBehaviour: _automaticContainerSetUp: 1 ContainerInteractive: {fileID: 6047619831351193847} ContainerItemDisplay: {fileID: 0} + inventory: {fileID: 0} ContainerUi: {fileID: 0} _attachmentOffset: {x: 0, y: 0, z: 0} _onlyStoreWhenOpen: 0 @@ -324,3 +338,56 @@ MonoBehaviour: _openState: 0 OverrideOpenIcon: {fileID: 0} attachedContainer: {fileID: 7854195103374356208} +--- !u!54 &787567626965563974 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &9217642514011775196 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cf76e303c1b57ae4ebbf08dab5bbddc2, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 4 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _name: hand left + _weight: 1 + _size: {x: 1, y: 1} + _startingTraits: [] + _rigidbody: {fileID: 787567626965563974} + Prefab: {fileID: 5774385816057912484} + AttachmentPoint: {fileID: 8087437400747043343, guid: df85b75fd341a244c8364ebb9c4fcfef, type: 3} + AttachmentPointAlt: {fileID: 8087437400747043343, guid: df85b75fd341a244c8364ebb9c4fcfef, type: 3} +--- !u!64 &2681293810503783247 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: 779107774233065848, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} diff --git a/Assets/Content/WorldObjects/Entities/Humanoids/Human/HumanBodyParts/HumanHandRight.prefab b/Assets/Content/WorldObjects/Entities/Humanoids/Human/HumanBodyParts/HumanHandRight.prefab index f7fd70880b..64abd3e29b 100644 --- a/Assets/Content/WorldObjects/Entities/Humanoids/Human/HumanBodyParts/HumanHandRight.prefab +++ b/Assets/Content/WorldObjects/Entities/Humanoids/Human/HumanBodyParts/HumanHandRight.prefab @@ -130,6 +130,9 @@ GameObject: - component: {fileID: 7230142737511069205} - component: {fileID: 3402973173329997909} - component: {fileID: 17826520120412619} + - component: {fileID: 1500947923134038856} + - component: {fileID: 2597824146249477698} + - component: {fileID: 6623222218013486614} m_Layer: 10 m_Name: HumanHandRight m_TagString: Untagged @@ -169,6 +172,7 @@ MonoBehaviour: _componentIndexCache: 0 _addedNetworkObject: {fileID: 8532088199163376958} _networkObjectCache: {fileID: 8532088199163376958} + _componentConfiguration: 0 _synchronizeParent: 0 _packing: Position: 0 @@ -178,8 +182,10 @@ MonoBehaviour: _extrapolation: 2 _enableTeleport: 0 _teleportThreshold: 1 + _scaleThreshold: 1 _clientAuthoritative: 1 _sendToOwner: 1 + _enableNetworkLod: 1 _interval: 1 _synchronizePosition: 1 _positionSnapping: @@ -210,22 +216,29 @@ MonoBehaviour: m_EditorClassIdentifier: k__BackingField: 0 k__BackingField: 0 + k__BackingField: {fileID: 0} _networkBehaviours: - {fileID: 6576413314991157836} - {fileID: -5392502220935940654} - {fileID: 7230142737511069205} - {fileID: 17826520120412619} + - {fileID: 2597824146249477698} k__BackingField: {fileID: 0} k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: 0, y: 0, z: 0, w: 1} + LocalScale: {x: 1, y: 1, z: 1} _isNetworked: 1 _isGlobal: 0 + _initializeOrder: 0 _defaultDespawnType: 0 NetworkObserver: {fileID: 0} - k__BackingField: 137 + k__BackingField: 138 + k__BackingField: 0 _scenePathHash: 0 k__BackingField: 0 k__BackingField: 18047090012426851201 - _sceneNetworkObjects: [] --- !u!114 &-5392502220935940654 MonoBehaviour: m_ObjectHideFlags: 0 @@ -244,6 +257,7 @@ MonoBehaviour: _automaticContainerSetUp: 1 ContainerInteractive: {fileID: 17826520120412619} ContainerItemDisplay: {fileID: 0} + inventory: {fileID: 0} ContainerUi: {fileID: 0} _attachmentOffset: {x: 0, y: 0, z: 0} _onlyStoreWhenOpen: 0 @@ -280,12 +294,12 @@ MonoBehaviour: _addedNetworkObject: {fileID: 8532088199163376958} _networkObjectCache: {fileID: 8532088199163376958} Container: {fileID: -5392502220935940654} - range: + _range: Horizontal: 1.5 Vertical: 2 - pickupIcon: {fileID: 0} - interactionOrigin: {fileID: 7596600830642500397} - handsController: {fileID: 0} + _pickupIcon: {fileID: 0} + _interactionOrigin: {fileID: 0} + HandsController: {fileID: 0} --- !u!95 &3402973173329997909 Animator: serializedVersion: 4 @@ -324,3 +338,56 @@ MonoBehaviour: _openState: 0 OverrideOpenIcon: {fileID: 0} attachedContainer: {fileID: -5392502220935940654} +--- !u!54 &1500947923134038856 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &2597824146249477698 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cf76e303c1b57ae4ebbf08dab5bbddc2, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 4 + _addedNetworkObject: {fileID: 8532088199163376958, guid: c19eccca279beee4186432a03257a7b9, type: 3} + _networkObjectCache: {fileID: 8532088199163376958} + _name: right hand + _weight: 1 + _size: {x: 1, y: 1} + _startingTraits: [] + _rigidbody: {fileID: 1500947923134038856} + Prefab: {fileID: 5774385816057912484} + AttachmentPoint: {fileID: 8087437400747043343, guid: c19eccca279beee4186432a03257a7b9, type: 3} + AttachmentPointAlt: {fileID: 0} +--- !u!64 &6623222218013486614 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: 7778332084892924709, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanArmLeftItem.prefab b/Assets/Content/WorldObjects/Items/BodyParts/HumanArmLeftItem.prefab new file mode 100644 index 0000000000..39950a71d2 --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanArmLeftItem.prefab @@ -0,0 +1,308 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2957167503393607793 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5000622523273975387} + - component: {fileID: 7588121404962905848} + - component: {fileID: 9092168884592295084} + - component: {fileID: 1810788163902625152} + m_Layer: 0 + m_Name: ArmLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5000622523273975387 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7588121404962905848 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Mesh: {fileID: 6930368532989859695, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!23 &9092168884592295084 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: cf191327ca9118c4483ccb0d22b33910, type: 2} + - {fileID: 2100000, guid: 1f8078dee7dfc354ebc752f6c3c8e0db, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!64 &1810788163902625152 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: 6930368532989859695, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!1 &4030553588348042605 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8087437400747043343} + m_Layer: 10 + m_Name: AttachmentPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8087437400747043343 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4030553588348042605} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5774385816057912484 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7596600830642500397} + - component: {fileID: 3362323121630547519} + - component: {fileID: 6576413314991157836} + - component: {fileID: 8532088199163376958} + - component: {fileID: 103478066480505861} + - component: {fileID: 4573624672319889210} + m_Layer: 10 + m_Name: HumanArmLeftItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7596600830642500397 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5000622523273975387} + - {fileID: 8087437400747043343} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &3362323121630547519 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 3 +--- !u!114 &6576413314991157836 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a2836e36774ca1c4bbbee976e17b649c, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 0 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _componentConfiguration: 0 + _synchronizeParent: 0 + _packing: + Position: 0 + Rotation: 0 + Scale: 0 + _interpolation: 1 + _extrapolation: 2 + _enableTeleport: 0 + _teleportThreshold: 1 + _scaleThreshold: 1 + _clientAuthoritative: 1 + _sendToOwner: 1 + _enableNetworkLod: 1 + _interval: 1 + _synchronizePosition: 1 + _positionSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeRotation: 1 + _rotationSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeScale: 0 + _scaleSnapping: + X: 0 + Y: 0 + Z: 0 +--- !u!114 &8532088199163376958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 26b716c41e9b56b4baafaf13a523ba2e, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: 0 + k__BackingField: 0 + k__BackingField: {fileID: 0} + _networkBehaviours: + - {fileID: 6576413314991157836} + - {fileID: 103478066480505861} + - {fileID: 4573624672319889210} + k__BackingField: {fileID: 0} + k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: 0, y: 0, z: 0, w: 0} + LocalScale: {x: 0, y: 0, z: 0} + _isNetworked: 1 + _isGlobal: 0 + _initializeOrder: 0 + _defaultDespawnType: 0 + NetworkObserver: {fileID: 0} + k__BackingField: 143 + k__BackingField: 0 + _scenePathHash: 0 + k__BackingField: 0 + k__BackingField: 16791792068839353826 +--- !u!114 &103478066480505861 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cf76e303c1b57ae4ebbf08dab5bbddc2, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 1 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _name: + _weight: 1 + _size: {x: 1, y: 1} + _startingTraits: [] + _rigidbody: {fileID: 3362323121630547519} + AttachmentPoint: {fileID: 8087437400747043343} + AttachmentPointAlt: {fileID: 0} +--- !u!114 &4573624672319889210 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d25aaf3a871b3d1438c1a27c2c6b57c6, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 2 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _parentBodyPart: {fileID: 0} + _skinnedMeshRenderer: {fileID: 0} + _bodyPartItem: {fileID: 0} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 0} diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanArmLeftItem.prefab.meta b/Assets/Content/WorldObjects/Items/BodyParts/HumanArmLeftItem.prefab.meta new file mode 100644 index 0000000000..f6d249f59f --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanArmLeftItem.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9659c4cc7bea07c4ba38b492f407ef7f +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanArmRightItem.prefab b/Assets/Content/WorldObjects/Items/BodyParts/HumanArmRightItem.prefab new file mode 100644 index 0000000000..72ec3a312c --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanArmRightItem.prefab @@ -0,0 +1,308 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2957167503393607793 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5000622523273975387} + - component: {fileID: 7588121404962905848} + - component: {fileID: 9092168884592295084} + - component: {fileID: 1810788163902625152} + m_Layer: 0 + m_Name: ArmRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5000622523273975387 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7588121404962905848 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Mesh: {fileID: -8450096116975464380, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!23 &9092168884592295084 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: cf191327ca9118c4483ccb0d22b33910, type: 2} + - {fileID: 2100000, guid: 1f8078dee7dfc354ebc752f6c3c8e0db, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!64 &1810788163902625152 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: -8450096116975464380, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!1 &4030553588348042605 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8087437400747043343} + m_Layer: 10 + m_Name: AttachmentPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8087437400747043343 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4030553588348042605} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5774385816057912484 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7596600830642500397} + - component: {fileID: 3362323121630547519} + - component: {fileID: 6576413314991157836} + - component: {fileID: 8532088199163376958} + - component: {fileID: 103478066480505861} + - component: {fileID: -4745372287103457762} + m_Layer: 10 + m_Name: HumanArmRightItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7596600830642500397 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5000622523273975387} + - {fileID: 8087437400747043343} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &3362323121630547519 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 3 +--- !u!114 &6576413314991157836 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a2836e36774ca1c4bbbee976e17b649c, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 0 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _componentConfiguration: 0 + _synchronizeParent: 0 + _packing: + Position: 0 + Rotation: 0 + Scale: 0 + _interpolation: 1 + _extrapolation: 2 + _enableTeleport: 0 + _teleportThreshold: 1 + _scaleThreshold: 1 + _clientAuthoritative: 1 + _sendToOwner: 1 + _enableNetworkLod: 1 + _interval: 1 + _synchronizePosition: 1 + _positionSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeRotation: 1 + _rotationSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeScale: 0 + _scaleSnapping: + X: 0 + Y: 0 + Z: 0 +--- !u!114 &8532088199163376958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 26b716c41e9b56b4baafaf13a523ba2e, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: 0 + k__BackingField: 0 + k__BackingField: {fileID: 0} + _networkBehaviours: + - {fileID: 6576413314991157836} + - {fileID: 103478066480505861} + - {fileID: -4745372287103457762} + k__BackingField: {fileID: 0} + k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: 0, y: 0, z: 0, w: 0} + LocalScale: {x: 0, y: 0, z: 0} + _isNetworked: 1 + _isGlobal: 0 + _initializeOrder: 0 + _defaultDespawnType: 0 + NetworkObserver: {fileID: 0} + k__BackingField: 122 + k__BackingField: 0 + _scenePathHash: 0 + k__BackingField: 0 + k__BackingField: 13082080247904425304 +--- !u!114 &103478066480505861 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cf76e303c1b57ae4ebbf08dab5bbddc2, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 1 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _name: + _weight: 1 + _size: {x: 1, y: 1} + _startingTraits: [] + _rigidbody: {fileID: 3362323121630547519} + AttachmentPoint: {fileID: 8087437400747043343} + AttachmentPointAlt: {fileID: 0} +--- !u!114 &-4745372287103457762 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d25aaf3a871b3d1438c1a27c2c6b57c6, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 2 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _parentBodyPart: {fileID: 0} + _skinnedMeshRenderer: {fileID: 0} + _bodyPartItem: {fileID: 0} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 0} diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanArmRightItem.prefab.meta b/Assets/Content/WorldObjects/Items/BodyParts/HumanArmRightItem.prefab.meta new file mode 100644 index 0000000000..8ebfa734d5 --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanArmRightItem.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2f664501d8d74774c9427f7fb6d50ae6 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanBrainItem.prefab b/Assets/Content/WorldObjects/Items/BodyParts/HumanBrainItem.prefab new file mode 100644 index 0000000000..e24a0ed84b --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanBrainItem.prefab @@ -0,0 +1,276 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2957167503393607793 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5000622523273975387} + - component: {fileID: 7588121404962905848} + - component: {fileID: 9092168884592295084} + - component: {fileID: 1810788163902625152} + m_Layer: 0 + m_Name: Organ + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5000622523273975387 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7588121404962905848 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Mesh: {fileID: -4447592549528698498, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!23 &9092168884592295084 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 4c110c6f17a1ce24f8304af9d013a844, type: 2} + - {fileID: 2100000, guid: 695c4de41b9578049a93f19b1eef7213, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!64 &1810788163902625152 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: -4447592549528698498, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!1 &5774385816057912484 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7596600830642500397} + - component: {fileID: 3362323121630547519} + - component: {fileID: 6576413314991157836} + - component: {fileID: 8532088199163376958} + - component: {fileID: 103478066480505861} + - component: {fileID: 9089668530437459592} + m_Layer: 10 + m_Name: HumanBrainItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7596600830642500397 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5000622523273975387} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &3362323121630547519 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 3 +--- !u!114 &6576413314991157836 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a2836e36774ca1c4bbbee976e17b649c, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 0 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _componentConfiguration: 0 + _synchronizeParent: 0 + _packing: + Position: 0 + Rotation: 0 + Scale: 0 + _interpolation: 1 + _extrapolation: 2 + _enableTeleport: 0 + _teleportThreshold: 1 + _scaleThreshold: 1 + _clientAuthoritative: 1 + _sendToOwner: 1 + _enableNetworkLod: 1 + _interval: 1 + _synchronizePosition: 1 + _positionSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeRotation: 1 + _rotationSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeScale: 0 + _scaleSnapping: + X: 0 + Y: 0 + Z: 0 +--- !u!114 &8532088199163376958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 26b716c41e9b56b4baafaf13a523ba2e, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: 0 + k__BackingField: 0 + k__BackingField: {fileID: 0} + _networkBehaviours: + - {fileID: 6576413314991157836} + - {fileID: 103478066480505861} + - {fileID: 9089668530437459592} + k__BackingField: {fileID: 0} + k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: 0, y: 0, z: 0, w: 0} + LocalScale: {x: 0, y: 0, z: 0} + _isNetworked: 1 + _isGlobal: 0 + _initializeOrder: 0 + _defaultDespawnType: 0 + NetworkObserver: {fileID: 0} + k__BackingField: 96 + k__BackingField: 0 + _scenePathHash: 0 + k__BackingField: 0 + k__BackingField: 10457428761234003884 +--- !u!114 &103478066480505861 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cf76e303c1b57ae4ebbf08dab5bbddc2, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 1 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _name: + _weight: 1 + _size: {x: 1, y: 1} + _startingTraits: [] + _rigidbody: {fileID: 3362323121630547519} + AttachmentPoint: {fileID: 5000622523273975387} + AttachmentPointAlt: {fileID: 0} +--- !u!114 &9089668530437459592 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d1046a032bc197247b9aab3d1812b254, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 2 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _parentBodyPart: {fileID: 0} + _skinnedMeshRenderer: {fileID: 0} + _bodyPartItem: {fileID: 0} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 0} diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanBrainItem.prefab.meta b/Assets/Content/WorldObjects/Items/BodyParts/HumanBrainItem.prefab.meta new file mode 100644 index 0000000000..3b38ebd3e8 --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanBrainItem.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 229b5ce92c3d9164e845f68308a037a2 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanEarLeftItem.prefab b/Assets/Content/WorldObjects/Items/BodyParts/HumanEarLeftItem.prefab new file mode 100644 index 0000000000..c176916f69 --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanEarLeftItem.prefab @@ -0,0 +1,308 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2957167503393607793 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5000622523273975387} + - component: {fileID: 7588121404962905848} + - component: {fileID: 9092168884592295084} + - component: {fileID: 1810788163902625152} + m_Layer: 0 + m_Name: EarLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5000622523273975387 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7588121404962905848 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Mesh: {fileID: -2329092180217662506, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!23 &9092168884592295084 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: cf191327ca9118c4483ccb0d22b33910, type: 2} + - {fileID: 2100000, guid: 1f8078dee7dfc354ebc752f6c3c8e0db, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!64 &1810788163902625152 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: -2329092180217662506, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!1 &4030553588348042605 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8087437400747043343} + m_Layer: 10 + m_Name: AttachmentPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8087437400747043343 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4030553588348042605} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5774385816057912484 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7596600830642500397} + - component: {fileID: 3362323121630547519} + - component: {fileID: 6576413314991157836} + - component: {fileID: 8532088199163376958} + - component: {fileID: 103478066480505861} + - component: {fileID: 4955538499567978298} + m_Layer: 10 + m_Name: HumanEarLeftItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7596600830642500397 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5000622523273975387} + - {fileID: 8087437400747043343} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &3362323121630547519 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 3 +--- !u!114 &6576413314991157836 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a2836e36774ca1c4bbbee976e17b649c, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 0 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _componentConfiguration: 0 + _synchronizeParent: 0 + _packing: + Position: 0 + Rotation: 0 + Scale: 0 + _interpolation: 1 + _extrapolation: 2 + _enableTeleport: 0 + _teleportThreshold: 1 + _scaleThreshold: 1 + _clientAuthoritative: 1 + _sendToOwner: 1 + _enableNetworkLod: 1 + _interval: 1 + _synchronizePosition: 1 + _positionSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeRotation: 1 + _rotationSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeScale: 0 + _scaleSnapping: + X: 0 + Y: 0 + Z: 0 +--- !u!114 &8532088199163376958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 26b716c41e9b56b4baafaf13a523ba2e, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: 0 + k__BackingField: 0 + k__BackingField: {fileID: 0} + _networkBehaviours: + - {fileID: 6576413314991157836} + - {fileID: 103478066480505861} + - {fileID: 4955538499567978298} + k__BackingField: {fileID: 0} + k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: 0, y: 0, z: 0, w: 0} + LocalScale: {x: 0, y: 0, z: 0} + _isNetworked: 1 + _isGlobal: 0 + _initializeOrder: 0 + _defaultDespawnType: 0 + NetworkObserver: {fileID: 0} + k__BackingField: 120 + k__BackingField: 0 + _scenePathHash: 0 + k__BackingField: 0 + k__BackingField: 12845137597199961542 +--- !u!114 &103478066480505861 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cf76e303c1b57ae4ebbf08dab5bbddc2, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 1 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _name: + _weight: 1 + _size: {x: 1, y: 1} + _startingTraits: [] + _rigidbody: {fileID: 3362323121630547519} + AttachmentPoint: {fileID: 8087437400747043343} + AttachmentPointAlt: {fileID: 0} +--- !u!114 &4955538499567978298 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d25aaf3a871b3d1438c1a27c2c6b57c6, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 2 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _parentBodyPart: {fileID: 0} + _skinnedMeshRenderer: {fileID: 0} + _bodyPartItem: {fileID: 0} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 0} diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanEarLeftItem.prefab.meta b/Assets/Content/WorldObjects/Items/BodyParts/HumanEarLeftItem.prefab.meta new file mode 100644 index 0000000000..d8d596e574 --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanEarLeftItem.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2081061d3c98e50408979ea90372c244 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanEarRightItem.prefab b/Assets/Content/WorldObjects/Items/BodyParts/HumanEarRightItem.prefab new file mode 100644 index 0000000000..e1de5dcb61 --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanEarRightItem.prefab @@ -0,0 +1,308 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2957167503393607793 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5000622523273975387} + - component: {fileID: 7588121404962905848} + - component: {fileID: 9092168884592295084} + - component: {fileID: 1810788163902625152} + m_Layer: 0 + m_Name: EarRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5000622523273975387 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7588121404962905848 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Mesh: {fileID: 3111722850488922510, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!23 &9092168884592295084 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 1f8078dee7dfc354ebc752f6c3c8e0db, type: 2} + - {fileID: 2100000, guid: cf191327ca9118c4483ccb0d22b33910, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!64 &1810788163902625152 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: 3111722850488922510, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!1 &4030553588348042605 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8087437400747043343} + m_Layer: 10 + m_Name: AttachmentPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8087437400747043343 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4030553588348042605} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5774385816057912484 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7596600830642500397} + - component: {fileID: 3362323121630547519} + - component: {fileID: 6576413314991157836} + - component: {fileID: 8532088199163376958} + - component: {fileID: 103478066480505861} + - component: {fileID: -4686790690069455639} + m_Layer: 10 + m_Name: HumanEarRightItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7596600830642500397 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5000622523273975387} + - {fileID: 8087437400747043343} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &3362323121630547519 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 3 +--- !u!114 &6576413314991157836 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a2836e36774ca1c4bbbee976e17b649c, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 0 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _componentConfiguration: 0 + _synchronizeParent: 0 + _packing: + Position: 0 + Rotation: 0 + Scale: 0 + _interpolation: 1 + _extrapolation: 2 + _enableTeleport: 0 + _teleportThreshold: 1 + _scaleThreshold: 1 + _clientAuthoritative: 1 + _sendToOwner: 1 + _enableNetworkLod: 1 + _interval: 1 + _synchronizePosition: 1 + _positionSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeRotation: 1 + _rotationSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeScale: 0 + _scaleSnapping: + X: 0 + Y: 0 + Z: 0 +--- !u!114 &8532088199163376958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 26b716c41e9b56b4baafaf13a523ba2e, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: 0 + k__BackingField: 0 + k__BackingField: {fileID: 0} + _networkBehaviours: + - {fileID: 6576413314991157836} + - {fileID: 103478066480505861} + - {fileID: -4686790690069455639} + k__BackingField: {fileID: 0} + k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: 0, y: 0, z: 0, w: 0} + LocalScale: {x: 0, y: 0, z: 0} + _isNetworked: 1 + _isGlobal: 0 + _initializeOrder: 0 + _defaultDespawnType: 0 + NetworkObserver: {fileID: 0} + k__BackingField: 130 + k__BackingField: 0 + _scenePathHash: 0 + k__BackingField: 0 + k__BackingField: 14374802812656845332 +--- !u!114 &103478066480505861 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cf76e303c1b57ae4ebbf08dab5bbddc2, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 1 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _name: + _weight: 1 + _size: {x: 1, y: 1} + _startingTraits: [] + _rigidbody: {fileID: 3362323121630547519} + AttachmentPoint: {fileID: 8087437400747043343} + AttachmentPointAlt: {fileID: 0} +--- !u!114 &-4686790690069455639 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d25aaf3a871b3d1438c1a27c2c6b57c6, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 2 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _parentBodyPart: {fileID: 0} + _skinnedMeshRenderer: {fileID: 0} + _bodyPartItem: {fileID: 0} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 0} diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanEarRightItem.prefab.meta b/Assets/Content/WorldObjects/Items/BodyParts/HumanEarRightItem.prefab.meta new file mode 100644 index 0000000000..5825a41bbb --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanEarRightItem.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6687a95358e52a348aaf6179f3c252f2 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanFootLeftItem.prefab b/Assets/Content/WorldObjects/Items/BodyParts/HumanFootLeftItem.prefab new file mode 100644 index 0000000000..4d60f7ea59 --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanFootLeftItem.prefab @@ -0,0 +1,308 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2957167503393607793 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5000622523273975387} + - component: {fileID: 7588121404962905848} + - component: {fileID: 9092168884592295084} + - component: {fileID: 1810788163902625152} + m_Layer: 0 + m_Name: FootLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5000622523273975387 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7588121404962905848 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Mesh: {fileID: 4529197793668398133, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!23 &9092168884592295084 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: cf191327ca9118c4483ccb0d22b33910, type: 2} + - {fileID: 2100000, guid: 1f8078dee7dfc354ebc752f6c3c8e0db, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!64 &1810788163902625152 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: 4529197793668398133, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!1 &4030553588348042605 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8087437400747043343} + m_Layer: 10 + m_Name: AttachmentPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8087437400747043343 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4030553588348042605} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5774385816057912484 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7596600830642500397} + - component: {fileID: 3362323121630547519} + - component: {fileID: 6576413314991157836} + - component: {fileID: 103478066480505861} + - component: {fileID: -2023664425711094046} + - component: {fileID: 171614716955879869} + m_Layer: 10 + m_Name: HumanFootLeftItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7596600830642500397 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5000622523273975387} + - {fileID: 8087437400747043343} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &3362323121630547519 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 3 +--- !u!114 &6576413314991157836 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a2836e36774ca1c4bbbee976e17b649c, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 0 + _addedNetworkObject: {fileID: 171614716955879869} + _networkObjectCache: {fileID: 171614716955879869} + _componentConfiguration: 0 + _synchronizeParent: 0 + _packing: + Position: 0 + Rotation: 0 + Scale: 0 + _interpolation: 1 + _extrapolation: 2 + _enableTeleport: 0 + _teleportThreshold: 1 + _scaleThreshold: 1 + _clientAuthoritative: 1 + _sendToOwner: 1 + _enableNetworkLod: 1 + _interval: 1 + _synchronizePosition: 1 + _positionSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeRotation: 1 + _rotationSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeScale: 0 + _scaleSnapping: + X: 0 + Y: 0 + Z: 0 +--- !u!114 &103478066480505861 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cf76e303c1b57ae4ebbf08dab5bbddc2, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 1 + _addedNetworkObject: {fileID: 171614716955879869} + _networkObjectCache: {fileID: 171614716955879869} + _name: + _weight: 1 + _size: {x: 1, y: 1} + _startingTraits: [] + _rigidbody: {fileID: 3362323121630547519} + AttachmentPoint: {fileID: 8087437400747043343} + AttachmentPointAlt: {fileID: 0} +--- !u!114 &-2023664425711094046 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d25aaf3a871b3d1438c1a27c2c6b57c6, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 2 + _addedNetworkObject: {fileID: 171614716955879869} + _networkObjectCache: {fileID: 171614716955879869} + _parentBodyPart: {fileID: 0} + _skinnedMeshRenderer: {fileID: 0} + _bodyPartItem: {fileID: 0} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 0} +--- !u!114 &171614716955879869 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 26b716c41e9b56b4baafaf13a523ba2e, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: 0 + k__BackingField: 0 + k__BackingField: {fileID: 0} + _networkBehaviours: + - {fileID: 6576413314991157836} + - {fileID: 103478066480505861} + - {fileID: -2023664425711094046} + k__BackingField: {fileID: 0} + k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: 0, y: 0, z: 0, w: 1} + LocalScale: {x: 1, y: 1, z: 1} + _isNetworked: 1 + _isGlobal: 0 + _initializeOrder: 0 + _defaultDespawnType: 0 + NetworkObserver: {fileID: 0} + k__BackingField: 111 + k__BackingField: 0 + _scenePathHash: 0 + k__BackingField: 0 + k__BackingField: 11777033671513324788 diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanFootLeftItem.prefab.meta b/Assets/Content/WorldObjects/Items/BodyParts/HumanFootLeftItem.prefab.meta new file mode 100644 index 0000000000..096faaefbe --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanFootLeftItem.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 60890cc80962a7e44b97b4ba3b0518e3 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanFootRightItem.prefab b/Assets/Content/WorldObjects/Items/BodyParts/HumanFootRightItem.prefab new file mode 100644 index 0000000000..80a532fed5 --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanFootRightItem.prefab @@ -0,0 +1,308 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2957167503393607793 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5000622523273975387} + - component: {fileID: 7588121404962905848} + - component: {fileID: 9092168884592295084} + - component: {fileID: 1810788163902625152} + m_Layer: 0 + m_Name: FootRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5000622523273975387 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7588121404962905848 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Mesh: {fileID: -6471425752276439310, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!23 &9092168884592295084 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: cf191327ca9118c4483ccb0d22b33910, type: 2} + - {fileID: 2100000, guid: 1f8078dee7dfc354ebc752f6c3c8e0db, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!64 &1810788163902625152 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: -6471425752276439310, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!1 &4030553588348042605 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8087437400747043343} + m_Layer: 10 + m_Name: AttachmentPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8087437400747043343 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4030553588348042605} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5774385816057912484 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7596600830642500397} + - component: {fileID: 3362323121630547519} + - component: {fileID: 6576413314991157836} + - component: {fileID: 8532088199163376958} + - component: {fileID: 103478066480505861} + - component: {fileID: 5940136136884477243} + m_Layer: 10 + m_Name: HumanFootRightItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7596600830642500397 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5000622523273975387} + - {fileID: 8087437400747043343} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &3362323121630547519 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 3 +--- !u!114 &6576413314991157836 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a2836e36774ca1c4bbbee976e17b649c, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 0 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _componentConfiguration: 0 + _synchronizeParent: 0 + _packing: + Position: 0 + Rotation: 0 + Scale: 0 + _interpolation: 1 + _extrapolation: 2 + _enableTeleport: 0 + _teleportThreshold: 1 + _scaleThreshold: 1 + _clientAuthoritative: 1 + _sendToOwner: 1 + _enableNetworkLod: 1 + _interval: 1 + _synchronizePosition: 1 + _positionSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeRotation: 1 + _rotationSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeScale: 0 + _scaleSnapping: + X: 0 + Y: 0 + Z: 0 +--- !u!114 &8532088199163376958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 26b716c41e9b56b4baafaf13a523ba2e, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: 0 + k__BackingField: 0 + k__BackingField: {fileID: 0} + _networkBehaviours: + - {fileID: 6576413314991157836} + - {fileID: 103478066480505861} + - {fileID: 5940136136884477243} + k__BackingField: {fileID: 0} + k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: 0, y: 0, z: 0, w: 0} + LocalScale: {x: 0, y: 0, z: 0} + _isNetworked: 1 + _isGlobal: 0 + _initializeOrder: 0 + _defaultDespawnType: 0 + NetworkObserver: {fileID: 0} + k__BackingField: 114 + k__BackingField: 0 + _scenePathHash: 0 + k__BackingField: 0 + k__BackingField: 12135579056225387676 +--- !u!114 &103478066480505861 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cf76e303c1b57ae4ebbf08dab5bbddc2, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 1 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _name: + _weight: 1 + _size: {x: 1, y: 1} + _startingTraits: [] + _rigidbody: {fileID: 3362323121630547519} + AttachmentPoint: {fileID: 8087437400747043343} + AttachmentPointAlt: {fileID: 0} +--- !u!114 &5940136136884477243 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d25aaf3a871b3d1438c1a27c2c6b57c6, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 2 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _parentBodyPart: {fileID: 0} + _skinnedMeshRenderer: {fileID: 0} + _bodyPartItem: {fileID: 0} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 0} diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanFootRightItem.prefab.meta b/Assets/Content/WorldObjects/Items/BodyParts/HumanFootRightItem.prefab.meta new file mode 100644 index 0000000000..6bcc53a65b --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanFootRightItem.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4d59bb658831172479995d721f8cbd6c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanHandLeft.prefab b/Assets/Content/WorldObjects/Items/BodyParts/HumanHandLeftItem.prefab similarity index 88% rename from Assets/Content/WorldObjects/Items/BodyParts/HumanHandLeft.prefab rename to Assets/Content/WorldObjects/Items/BodyParts/HumanHandLeftItem.prefab index cea6d01cba..90b2ca86d2 100644 --- a/Assets/Content/WorldObjects/Items/BodyParts/HumanHandLeft.prefab +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanHandLeftItem.prefab @@ -147,8 +147,9 @@ GameObject: - component: {fileID: 7854195103374356208} - component: {fileID: 7244337257717968850} - component: {fileID: 6047619831351193847} + - component: {fileID: 8869621938725342091} m_Layer: 10 - m_Name: HumanHandLeft + m_Name: HumanHandLeftItem m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -184,7 +185,7 @@ Rigidbody: m_AngularDrag: 0.05 m_UseGravity: 1 m_IsKinematic: 0 - m_Interpolate: 1 + m_Interpolate: 0 m_Constraints: 0 m_CollisionDetection: 3 --- !u!114 &6576413314991157836 @@ -202,6 +203,7 @@ MonoBehaviour: _componentIndexCache: 0 _addedNetworkObject: {fileID: 8532088199163376958} _networkObjectCache: {fileID: 8532088199163376958} + _componentConfiguration: 0 _synchronizeParent: 0 _packing: Position: 0 @@ -211,8 +213,10 @@ MonoBehaviour: _extrapolation: 2 _enableTeleport: 0 _teleportThreshold: 1 + _scaleThreshold: 1 _clientAuthoritative: 1 _sendToOwner: 1 + _enableNetworkLod: 1 _interval: 1 _synchronizePosition: 1 _positionSnapping: @@ -243,23 +247,30 @@ MonoBehaviour: m_EditorClassIdentifier: k__BackingField: 0 k__BackingField: 0 + k__BackingField: {fileID: 0} _networkBehaviours: - {fileID: 6576413314991157836} - {fileID: 103478066480505861} - {fileID: 949826828486068756} - {fileID: 7854195103374356208} - {fileID: 6047619831351193847} + - {fileID: 8869621938725342091} k__BackingField: {fileID: 0} k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: 0, y: 0, z: 0, w: 1} + LocalScale: {x: 1, y: 1, z: 1} _isNetworked: 1 _isGlobal: 0 + _initializeOrder: 0 _defaultDespawnType: 0 NetworkObserver: {fileID: 0} - k__BackingField: 0 + k__BackingField: 141 + k__BackingField: 0 _scenePathHash: 0 k__BackingField: 0 - k__BackingField: 14272839664766648676 - _sceneNetworkObjects: [] + k__BackingField: 16579388367717204780 --- !u!114 &103478066480505861 MonoBehaviour: m_ObjectHideFlags: 0 @@ -280,7 +291,6 @@ MonoBehaviour: _size: {x: 1, y: 1} _startingTraits: [] _rigidbody: {fileID: 3362323121630547519} - Prefab: {fileID: 5774385816057912484} AttachmentPoint: {fileID: 8087437400747043343} AttachmentPointAlt: {fileID: 8087437400747043343} --- !u!114 &949826828486068756 @@ -299,12 +309,12 @@ MonoBehaviour: _addedNetworkObject: {fileID: 8532088199163376958} _networkObjectCache: {fileID: 8532088199163376958} Container: {fileID: 7854195103374356208} - range: + _range: Horizontal: 1.5 Vertical: 2 - pickupIcon: {fileID: 0} - interactionOrigin: {fileID: 8087437400747043343} - handsController: {fileID: 0} + _pickupIcon: {fileID: 0} + _interactionOrigin: {fileID: 0} + HandsController: {fileID: 0} --- !u!114 &7854195103374356208 MonoBehaviour: m_ObjectHideFlags: 0 @@ -323,6 +333,7 @@ MonoBehaviour: _automaticContainerSetUp: 1 ContainerInteractive: {fileID: 6047619831351193847} ContainerItemDisplay: {fileID: 0} + inventory: {fileID: 0} ContainerUi: {fileID: 0} _attachmentOffset: {x: 0, y: 0, z: 0} _onlyStoreWhenOpen: 0 @@ -381,3 +392,24 @@ MonoBehaviour: _openState: 0 OverrideOpenIcon: {fileID: 0} attachedContainer: {fileID: 7854195103374356208} +--- !u!114 &8869621938725342091 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 83a3281d5348d93498a0d8d0e3b7751d, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 5 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _parentBodyPart: {fileID: 0} + _skinnedMeshRenderer: {fileID: 0} + _bodyPartItem: {fileID: 0} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 0} + _hand: {fileID: 0} diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanHandLeft.prefab.meta b/Assets/Content/WorldObjects/Items/BodyParts/HumanHandLeftItem.prefab.meta similarity index 100% rename from Assets/Content/WorldObjects/Items/BodyParts/HumanHandLeft.prefab.meta rename to Assets/Content/WorldObjects/Items/BodyParts/HumanHandLeftItem.prefab.meta diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanHandRight.prefab b/Assets/Content/WorldObjects/Items/BodyParts/HumanHandRightItem.prefab similarity index 87% rename from Assets/Content/WorldObjects/Items/BodyParts/HumanHandRight.prefab rename to Assets/Content/WorldObjects/Items/BodyParts/HumanHandRightItem.prefab index c1a5612411..ec0e4362fc 100644 --- a/Assets/Content/WorldObjects/Items/BodyParts/HumanHandRight.prefab +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanHandRightItem.prefab @@ -147,8 +147,9 @@ GameObject: - component: {fileID: 7230142737511069205} - component: {fileID: 3402973173329997909} - component: {fileID: 17826520120412619} + - component: {fileID: -3457975993276954125} m_Layer: 10 - m_Name: HumanHandRight + m_Name: HumanHandRightItem m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -184,7 +185,7 @@ Rigidbody: m_AngularDrag: 0.05 m_UseGravity: 1 m_IsKinematic: 0 - m_Interpolate: 1 + m_Interpolate: 0 m_Constraints: 0 m_CollisionDetection: 3 --- !u!114 &6576413314991157836 @@ -202,6 +203,7 @@ MonoBehaviour: _componentIndexCache: 0 _addedNetworkObject: {fileID: 8532088199163376958} _networkObjectCache: {fileID: 8532088199163376958} + _componentConfiguration: 0 _synchronizeParent: 0 _packing: Position: 0 @@ -211,8 +213,10 @@ MonoBehaviour: _extrapolation: 2 _enableTeleport: 0 _teleportThreshold: 1 + _scaleThreshold: 1 _clientAuthoritative: 1 _sendToOwner: 1 + _enableNetworkLod: 1 _interval: 1 _synchronizePosition: 1 _positionSnapping: @@ -243,22 +247,30 @@ MonoBehaviour: m_EditorClassIdentifier: k__BackingField: 0 k__BackingField: 0 + k__BackingField: {fileID: 0} _networkBehaviours: - {fileID: 6576413314991157836} - {fileID: 103478066480505861} - {fileID: -5392502220935940654} - {fileID: 7230142737511069205} + - {fileID: 17826520120412619} + - {fileID: -3457975993276954125} k__BackingField: {fileID: 0} k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: 0, y: 0, z: 0, w: 0} + LocalScale: {x: 0, y: 0, z: 0} _isNetworked: 1 _isGlobal: 0 + _initializeOrder: 0 _defaultDespawnType: 0 NetworkObserver: {fileID: 0} - k__BackingField: 135 + k__BackingField: 155 + k__BackingField: 0 _scenePathHash: 0 k__BackingField: 0 - k__BackingField: 1925488133346520972 - _sceneNetworkObjects: [] + k__BackingField: 17666745406446554430 --- !u!114 &103478066480505861 MonoBehaviour: m_ObjectHideFlags: 0 @@ -279,7 +291,6 @@ MonoBehaviour: _size: {x: 1, y: 1} _startingTraits: [] _rigidbody: {fileID: 3362323121630547519} - Prefab: {fileID: 5774385816057912484} AttachmentPoint: {fileID: 8087437400747043343} AttachmentPointAlt: {fileID: 0} --- !u!114 &-5392502220935940654 @@ -300,6 +311,7 @@ MonoBehaviour: _automaticContainerSetUp: 1 ContainerInteractive: {fileID: 17826520120412619} ContainerItemDisplay: {fileID: 0} + inventory: {fileID: 0} ContainerUi: {fileID: 0} _attachmentOffset: {x: 0, y: 0, z: 0} _onlyStoreWhenOpen: 0 @@ -336,12 +348,12 @@ MonoBehaviour: _addedNetworkObject: {fileID: 8532088199163376958} _networkObjectCache: {fileID: 8532088199163376958} Container: {fileID: -5392502220935940654} - range: + _range: Horizontal: 1.5 Vertical: 2 - pickupIcon: {fileID: 0} - interactionOrigin: {fileID: 7596600830642500397} - handsController: {fileID: 0} + _pickupIcon: {fileID: 0} + _interactionOrigin: {fileID: 0} + HandsController: {fileID: 0} --- !u!95 &3402973173329997909 Animator: serializedVersion: 4 @@ -374,9 +386,30 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 3c75d17834848bb4f83ee6e730a65519, type: 3} m_Name: m_EditorClassIdentifier: - _componentIndexCache: 255 + _componentIndexCache: 4 _addedNetworkObject: {fileID: 8532088199163376958} - _networkObjectCache: {fileID: 0} + _networkObjectCache: {fileID: 8532088199163376958} _openState: 0 OverrideOpenIcon: {fileID: 0} attachedContainer: {fileID: -5392502220935940654} +--- !u!114 &-3457975993276954125 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 83a3281d5348d93498a0d8d0e3b7751d, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 5 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _parentBodyPart: {fileID: 0} + _skinnedMeshRenderer: {fileID: 0} + _bodyPartItem: {fileID: 0} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 0} + _hand: {fileID: 0} diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanHandRight.prefab.meta b/Assets/Content/WorldObjects/Items/BodyParts/HumanHandRightItem.prefab.meta similarity index 100% rename from Assets/Content/WorldObjects/Items/BodyParts/HumanHandRight.prefab.meta rename to Assets/Content/WorldObjects/Items/BodyParts/HumanHandRightItem.prefab.meta diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanHeadItem.prefab b/Assets/Content/WorldObjects/Items/BodyParts/HumanHeadItem.prefab new file mode 100644 index 0000000000..6390cd61fe --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanHeadItem.prefab @@ -0,0 +1,1389 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &205467461961305301 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4429773409678714353} + - component: {fileID: 8860544144460217883} + - component: {fileID: 4000625460411369924} + m_Layer: 0 + m_Name: Accesory - Ear Right + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &4429773409678714353 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 205467461961305301} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8860544144460217883 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 205467461961305301} + m_Mesh: {fileID: 0} +--- !u!23 &4000625460411369924 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 205467461961305301} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 695c4de41b9578049a93f19b1eef7213, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &1005869948240934315 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5118644466962152974} + - component: {fileID: 4793582885253167513} + m_Layer: 10 + m_Name: HeadContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5118644466962152974 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1005869948240934315} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 12 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4793582885253167513 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1005869948240934315} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25696236470760b41b375e9b6939444c, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 5 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _automaticContainerSetUp: 1 + ContainerInteractive: {fileID: 5510052921514530100} + ContainerItemDisplay: {fileID: 0} + inventory: {fileID: 0} + ContainerUi: {fileID: 0} + _attachmentOffset: {x: 0, y: 0, z: 0} + _onlyStoreWhenOpen: 0 + _openWhenContainerViewed: 0 + _attachItems: 1 + _initialized: 1 + _maxDistance: 5 + _isOpenable: 0 + _isInteractive: 1 + _hasUi: 0 + _hasCustomInteraction: 0 + _hasCustomDisplay: 0 + _displays: [] + _numberDisplay: 0 + _displayAsSlotInUI: 0 + _containerName: container + _size: {x: 1, y: 1} + _hideItems: 1 + _type: 0 + _startFilter: {fileID: 0} +--- !u!1 &2245801604522667108 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1363301520016196315} + - component: {fileID: 1169285859359290137} + - component: {fileID: 3507392929770535757} + m_Layer: 0 + m_Name: Human Ear Right + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1363301520016196315 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2245801604522667108} + m_LocalRotation: {x: -0.00000008146034, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.105, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &1169285859359290137 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2245801604522667108} + m_Mesh: {fileID: 3111722850488922510, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!23 &3507392929770535757 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2245801604522667108} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 1f8078dee7dfc354ebc752f6c3c8e0db, type: 2} + - {fileID: 2100000, guid: cf191327ca9118c4483ccb0d22b33910, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &2860355698309976395 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6308409122018111704} + - component: {fileID: 5382228467762514065} + - component: {fileID: 3428068456070345542} + m_Layer: 0 + m_Name: Human Ear Left + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6308409122018111704 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2860355698309976395} + m_LocalRotation: {x: -0.00000008146034, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.087, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &5382228467762514065 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2860355698309976395} + m_Mesh: {fileID: -2329092180217662506, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!23 &3428068456070345542 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2860355698309976395} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: cf191327ca9118c4483ccb0d22b33910, type: 2} + - {fileID: 2100000, guid: 1f8078dee7dfc354ebc752f6c3c8e0db, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &3306951171637145820 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5414975420937453882} + - component: {fileID: 2930202385872836306} + - component: {fileID: 7847595894938871125} + m_Layer: 0 + m_Name: Accesory - Hat + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &5414975420937453882 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3306951171637145820} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2930202385872836306 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3306951171637145820} + m_Mesh: {fileID: 0} +--- !u!23 &7847595894938871125 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3306951171637145820} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 695c4de41b9578049a93f19b1eef7213, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &3921347154664908616 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3191731207565482014} + - component: {fileID: 44403896562222695} + - component: {fileID: 2843343018132558193} + m_Layer: 0 + m_Name: Accesory - Ear Left + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &3191731207565482014 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3921347154664908616} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &44403896562222695 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3921347154664908616} + m_Mesh: {fileID: 0} +--- !u!23 &2843343018132558193 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3921347154664908616} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 695c4de41b9578049a93f19b1eef7213, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &4030553588348042605 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8087437400747043343} + m_Layer: 10 + m_Name: AttachmentPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8087437400747043343 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4030553588348042605} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4386154140516381100 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 204804201486685681} + - component: {fileID: 5149605479171494069} + - component: {fileID: 8783990844012180338} + m_Layer: 0 + m_Name: Human Hair + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &204804201486685681 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4386154140516381100} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &5149605479171494069 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4386154140516381100} + m_Mesh: {fileID: -5220997989888512874, guid: 3ddb292c238ee6c4fa684395f5aa0ec7, type: 3} +--- !u!23 &8783990844012180338 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4386154140516381100} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: fe65d328594f8d14ebbb4504ee05fa08, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &5774385816057912484 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7596600830642500397} + - component: {fileID: 3362323121630547519} + - component: {fileID: 6576413314991157836} + - component: {fileID: 8532088199163376958} + - component: {fileID: 103478066480505861} + - component: {fileID: 8461581488634887098} + - component: {fileID: 8268725903037194028} + - component: {fileID: 2219815040223475245} + - component: {fileID: 5510052921514530100} + m_Layer: 10 + m_Name: HumanHeadItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7596600830642500397 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8087437400747043343} + - {fileID: 4643376053550607148} + - {fileID: 5485994294783399624} + - {fileID: 6308409122018111704} + - {fileID: 1363301520016196315} + - {fileID: 204804201486685681} + - {fileID: 9020829032098012232} + - {fileID: 8834703531823141516} + - {fileID: 5414975420937453882} + - {fileID: 3191731207565482014} + - {fileID: 4429773409678714353} + - {fileID: 7305415940264627441} + - {fileID: 5118644466962152974} + - {fileID: 5695043967193553767} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &3362323121630547519 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 3 +--- !u!114 &6576413314991157836 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a2836e36774ca1c4bbbee976e17b649c, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 0 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _componentConfiguration: 0 + _synchronizeParent: 0 + _packing: + Position: 0 + Rotation: 0 + Scale: 0 + _interpolation: 1 + _extrapolation: 2 + _enableTeleport: 0 + _teleportThreshold: 1 + _scaleThreshold: 1 + _clientAuthoritative: 1 + _sendToOwner: 1 + _enableNetworkLod: 1 + _interval: 1 + _synchronizePosition: 1 + _positionSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeRotation: 1 + _rotationSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeScale: 0 + _scaleSnapping: + X: 0 + Y: 0 + Z: 0 +--- !u!114 &8532088199163376958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 26b716c41e9b56b4baafaf13a523ba2e, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: 0 + k__BackingField: 0 + k__BackingField: {fileID: 0} + _networkBehaviours: + - {fileID: 6576413314991157836} + - {fileID: 103478066480505861} + - {fileID: 8461581488634887098} + - {fileID: 8268725903037194028} + - {fileID: 5510052921514530100} + - {fileID: 4793582885253167513} + k__BackingField: {fileID: 0} + k__BackingField: + - {fileID: 5768057135023840628} + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: 0, y: 0, z: 0, w: 1} + LocalScale: {x: 1, y: 1, z: 1} + _isNetworked: 1 + _isGlobal: 0 + _initializeOrder: 0 + _defaultDespawnType: 0 + NetworkObserver: {fileID: 0} + k__BackingField: 3 + k__BackingField: 0 + _scenePathHash: 0 + k__BackingField: 0 + k__BackingField: 363414239426413260 +--- !u!114 &103478066480505861 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cf76e303c1b57ae4ebbf08dab5bbddc2, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 1 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _name: + _weight: 1 + _size: {x: 1, y: 1} + _startingTraits: [] + _rigidbody: {fileID: 3362323121630547519} + AttachmentPoint: {fileID: 8087437400747043343} + AttachmentPointAlt: {fileID: 0} +--- !u!114 &8461581488634887098 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: de75930610499f24788224d6b0e10d6b, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 2 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _parentBodyPart: {fileID: 0} + _skinnedMeshRenderer: {fileID: 0} + _bodyPartItem: {fileID: 0} + _internalBodyParts: {fileID: 4793582885253167513} + _bodyCollider: {fileID: 944150679711282915} + brain: {fileID: 6359273142575834818} +--- !u!114 &8268725903037194028 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67a464fdf1254e188dcb2729033a7718, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 3 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _mind: {fileID: 0} + Ghost: {fileID: 2798955099631966591, guid: 7bbb74a7ffc8cae44baa886de43c586b, type: 3} +--- !u!95 &2219815040223475245 +Animator: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 0} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!114 &5510052921514530100 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3c75d17834848bb4f83ee6e730a65519, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 4 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _openState: 0 + OverrideOpenIcon: {fileID: 0} + attachedContainer: {fileID: 4793582885253167513} +--- !u!1 &6053338017641552129 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9020829032098012232} + - component: {fileID: 1105254599469489033} + - component: {fileID: 3823933281561334841} + m_Layer: 0 + m_Name: Human Eyebrows + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9020829032098012232 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6053338017641552129} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &1105254599469489033 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6053338017641552129} + m_Mesh: {fileID: -6432339810506683319, guid: 3ddb292c238ee6c4fa684395f5aa0ec7, type: 3} +--- !u!23 &3823933281561334841 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6053338017641552129} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: fe65d328594f8d14ebbb4504ee05fa08, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &6149212373850030942 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8834703531823141516} + - component: {fileID: 2928898508723855765} + - component: {fileID: 6372736038778390873} + m_Layer: 0 + m_Name: Human Facial Hair + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &8834703531823141516 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6149212373850030942} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2928898508723855765 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6149212373850030942} + m_Mesh: {fileID: 7084743265961442962, guid: 3ddb292c238ee6c4fa684395f5aa0ec7, type: 3} +--- !u!23 &6372736038778390873 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6149212373850030942} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: fe65d328594f8d14ebbb4504ee05fa08, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &6901323231708992821 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5485994294783399624} + - component: {fileID: 4628180983604947003} + - component: {fileID: 2133943198297794128} + m_Layer: 0 + m_Name: Human Eyes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5485994294783399624 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6901323231708992821} + m_LocalRotation: {x: -0.00000008146034, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4628180983604947003 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6901323231708992821} + m_Mesh: {fileID: -963133539427622498, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!23 &2133943198297794128 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6901323231708992821} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 5003e6577566f0748b94899aefcc5569, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &7642842097972136627 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7305415940264627441} + - component: {fileID: 7722639368254672402} + - component: {fileID: 2646968245070921594} + m_Layer: 0 + m_Name: Accesory - Eyes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &7305415940264627441 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7642842097972136627} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 11 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7722639368254672402 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7642842097972136627} + m_Mesh: {fileID: 0} +--- !u!23 &2646968245070921594 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7642842097972136627} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 695c4de41b9578049a93f19b1eef7213, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &8813687872435373017 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4643376053550607148} + - component: {fileID: 8014959217207496045} + - component: {fileID: 1698222379584156487} + - component: {fileID: 944150679711282915} + m_Layer: 0 + m_Name: Human Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4643376053550607148 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8813687872435373017} + m_LocalRotation: {x: -0.00000008146034, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8014959217207496045 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8813687872435373017} + m_Mesh: {fileID: 4101507759368341734, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!23 &1698222379584156487 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8813687872435373017} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: cf191327ca9118c4483ccb0d22b33910, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!64 &944150679711282915 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8813687872435373017} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: 4101507759368341734, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!1001 &2766424463656331338 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 7596600830642500397} + m_Modifications: + - target: {fileID: 1810788163902625152, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_IsTrigger + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3362323121630547519, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_IsKinematic + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5774385816057912484, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_Name + value: HumanBrainItem + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_RootOrder + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8532088199163376958, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: k__BackingField + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8532088199163376958, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: k__BackingField + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8532088199163376958, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + propertyPath: k__BackingField + value: + objectReference: {fileID: 8532088199163376958} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} +--- !u!4 &5695043967193553767 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7596600830642500397, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + m_PrefabInstance: {fileID: 2766424463656331338} + m_PrefabAsset: {fileID: 0} +--- !u!114 &5768057135023840628 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8532088199163376958, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + m_PrefabInstance: {fileID: 2766424463656331338} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 26b716c41e9b56b4baafaf13a523ba2e, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &6359273142575834818 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 9089668530437459592, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + m_PrefabInstance: {fileID: 2766424463656331338} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d1046a032bc197247b9aab3d1812b254, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanHeadItem.prefab.meta b/Assets/Content/WorldObjects/Items/BodyParts/HumanHeadItem.prefab.meta new file mode 100644 index 0000000000..88e30bffac --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanHeadItem.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9ac7c2cd12db800479e566335ff7440b +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanLegLeftItem.prefab b/Assets/Content/WorldObjects/Items/BodyParts/HumanLegLeftItem.prefab new file mode 100644 index 0000000000..830c47fe15 --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanLegLeftItem.prefab @@ -0,0 +1,308 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2957167503393607793 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5000622523273975387} + - component: {fileID: 7588121404962905848} + - component: {fileID: 9092168884592295084} + - component: {fileID: 1810788163902625152} + m_Layer: 0 + m_Name: LegLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5000622523273975387 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7588121404962905848 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Mesh: {fileID: -4416625488342582949, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!23 &9092168884592295084 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: cf191327ca9118c4483ccb0d22b33910, type: 2} + - {fileID: 2100000, guid: 1f8078dee7dfc354ebc752f6c3c8e0db, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!64 &1810788163902625152 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: -4416625488342582949, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!1 &4030553588348042605 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8087437400747043343} + m_Layer: 10 + m_Name: AttachmentPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8087437400747043343 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4030553588348042605} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5774385816057912484 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7596600830642500397} + - component: {fileID: 3362323121630547519} + - component: {fileID: 6576413314991157836} + - component: {fileID: 8532088199163376958} + - component: {fileID: 103478066480505861} + - component: {fileID: 7345386698473475614} + m_Layer: 10 + m_Name: HumanLegLeftItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7596600830642500397 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5000622523273975387} + - {fileID: 8087437400747043343} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &3362323121630547519 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 3 +--- !u!114 &6576413314991157836 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a2836e36774ca1c4bbbee976e17b649c, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 0 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _componentConfiguration: 0 + _synchronizeParent: 0 + _packing: + Position: 0 + Rotation: 0 + Scale: 0 + _interpolation: 1 + _extrapolation: 2 + _enableTeleport: 0 + _teleportThreshold: 1 + _scaleThreshold: 1 + _clientAuthoritative: 1 + _sendToOwner: 1 + _enableNetworkLod: 1 + _interval: 1 + _synchronizePosition: 1 + _positionSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeRotation: 1 + _rotationSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeScale: 0 + _scaleSnapping: + X: 0 + Y: 0 + Z: 0 +--- !u!114 &8532088199163376958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 26b716c41e9b56b4baafaf13a523ba2e, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: 0 + k__BackingField: 0 + k__BackingField: {fileID: 0} + _networkBehaviours: + - {fileID: 6576413314991157836} + - {fileID: 103478066480505861} + - {fileID: 7345386698473475614} + k__BackingField: {fileID: 0} + k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: 0, y: 0, z: 0, w: 0} + LocalScale: {x: 0, y: 0, z: 0} + _isNetworked: 1 + _isGlobal: 0 + _initializeOrder: 0 + _defaultDespawnType: 0 + NetworkObserver: {fileID: 0} + k__BackingField: 127 + k__BackingField: 0 + _scenePathHash: 0 + k__BackingField: 0 + k__BackingField: 14018213159739396502 +--- !u!114 &103478066480505861 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cf76e303c1b57ae4ebbf08dab5bbddc2, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 1 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _name: + _weight: 1 + _size: {x: 1, y: 1} + _startingTraits: [] + _rigidbody: {fileID: 3362323121630547519} + AttachmentPoint: {fileID: 8087437400747043343} + AttachmentPointAlt: {fileID: 0} +--- !u!114 &7345386698473475614 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d25aaf3a871b3d1438c1a27c2c6b57c6, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 2 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _parentBodyPart: {fileID: 0} + _skinnedMeshRenderer: {fileID: 0} + _bodyPartItem: {fileID: 0} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 0} diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanLegLeftItem.prefab.meta b/Assets/Content/WorldObjects/Items/BodyParts/HumanLegLeftItem.prefab.meta new file mode 100644 index 0000000000..6a5f3af402 --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanLegLeftItem.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2d0913074150cca43b88c90ec658aacb +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanLegRightItem.prefab b/Assets/Content/WorldObjects/Items/BodyParts/HumanLegRightItem.prefab new file mode 100644 index 0000000000..3aad5bd634 --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanLegRightItem.prefab @@ -0,0 +1,308 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2957167503393607793 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5000622523273975387} + - component: {fileID: 7588121404962905848} + - component: {fileID: 9092168884592295084} + - component: {fileID: 1810788163902625152} + m_Layer: 0 + m_Name: LegRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5000622523273975387 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7588121404962905848 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Mesh: {fileID: -4241497595815756514, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!23 &9092168884592295084 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: cf191327ca9118c4483ccb0d22b33910, type: 2} + - {fileID: 2100000, guid: 1f8078dee7dfc354ebc752f6c3c8e0db, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!64 &1810788163902625152 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: -4241497595815756514, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!1 &4030553588348042605 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8087437400747043343} + m_Layer: 10 + m_Name: AttachmentPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8087437400747043343 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4030553588348042605} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5774385816057912484 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7596600830642500397} + - component: {fileID: 3362323121630547519} + - component: {fileID: 6576413314991157836} + - component: {fileID: 103478066480505861} + - component: {fileID: -3306444986174074399} + - component: {fileID: -4360250799920595422} + m_Layer: 10 + m_Name: HumanLegRightItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7596600830642500397 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5000622523273975387} + - {fileID: 8087437400747043343} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &3362323121630547519 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 3 +--- !u!114 &6576413314991157836 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a2836e36774ca1c4bbbee976e17b649c, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 0 + _addedNetworkObject: {fileID: -4360250799920595422} + _networkObjectCache: {fileID: -4360250799920595422} + _componentConfiguration: 0 + _synchronizeParent: 0 + _packing: + Position: 0 + Rotation: 0 + Scale: 0 + _interpolation: 1 + _extrapolation: 2 + _enableTeleport: 0 + _teleportThreshold: 1 + _scaleThreshold: 1 + _clientAuthoritative: 1 + _sendToOwner: 1 + _enableNetworkLod: 1 + _interval: 1 + _synchronizePosition: 1 + _positionSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeRotation: 1 + _rotationSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeScale: 0 + _scaleSnapping: + X: 0 + Y: 0 + Z: 0 +--- !u!114 &103478066480505861 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cf76e303c1b57ae4ebbf08dab5bbddc2, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 1 + _addedNetworkObject: {fileID: -4360250799920595422} + _networkObjectCache: {fileID: -4360250799920595422} + _name: + _weight: 1 + _size: {x: 1, y: 1} + _startingTraits: [] + _rigidbody: {fileID: 3362323121630547519} + AttachmentPoint: {fileID: 8087437400747043343} + AttachmentPointAlt: {fileID: 0} +--- !u!114 &-3306444986174074399 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d25aaf3a871b3d1438c1a27c2c6b57c6, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 2 + _addedNetworkObject: {fileID: -4360250799920595422} + _networkObjectCache: {fileID: -4360250799920595422} + _parentBodyPart: {fileID: 0} + _skinnedMeshRenderer: {fileID: 0} + _bodyPartItem: {fileID: 0} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 0} +--- !u!114 &-4360250799920595422 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 26b716c41e9b56b4baafaf13a523ba2e, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: 0 + k__BackingField: 0 + k__BackingField: {fileID: 0} + _networkBehaviours: + - {fileID: 6576413314991157836} + - {fileID: 103478066480505861} + - {fileID: -3306444986174074399} + k__BackingField: {fileID: 0} + k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: 0, y: 0, z: 0, w: 0} + LocalScale: {x: 0, y: 0, z: 0} + _isNetworked: 1 + _isGlobal: 0 + _initializeOrder: 0 + _defaultDespawnType: 0 + NetworkObserver: {fileID: 0} + k__BackingField: 71 + k__BackingField: 0 + _scenePathHash: 0 + k__BackingField: 0 + k__BackingField: 7755468517748877228 diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanLegRightItem.prefab.meta b/Assets/Content/WorldObjects/Items/BodyParts/HumanLegRightItem.prefab.meta new file mode 100644 index 0000000000..715b8504c7 --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanLegRightItem.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 983acf51173ef60479e35c5e35946162 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanTorsoItem.prefab b/Assets/Content/WorldObjects/Items/BodyParts/HumanTorsoItem.prefab new file mode 100644 index 0000000000..d210c6e68f --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanTorsoItem.prefab @@ -0,0 +1,308 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2957167503393607793 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5000622523273975387} + - component: {fileID: 7588121404962905848} + - component: {fileID: 9092168884592295084} + - component: {fileID: 1810788163902625152} + m_Layer: 0 + m_Name: Torso + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5000622523273975387 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7588121404962905848 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Mesh: {fileID: -2697298597662080333, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!23 &9092168884592295084 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: cf191327ca9118c4483ccb0d22b33910, type: 2} + - {fileID: 2100000, guid: 1f8078dee7dfc354ebc752f6c3c8e0db, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!64 &1810788163902625152 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2957167503393607793} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: -2697298597662080333, guid: f553c8289710b5e4dab99c3bcbbb802e, type: 3} +--- !u!1 &4030553588348042605 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8087437400747043343} + m_Layer: 10 + m_Name: AttachmentPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8087437400747043343 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4030553588348042605} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7596600830642500397} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5774385816057912484 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7596600830642500397} + - component: {fileID: 3362323121630547519} + - component: {fileID: 6576413314991157836} + - component: {fileID: 8532088199163376958} + - component: {fileID: 103478066480505861} + - component: {fileID: -1050914525280430027} + m_Layer: 10 + m_Name: HumanTorsoItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7596600830642500397 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5000622523273975387} + - {fileID: 8087437400747043343} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &3362323121630547519 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 3 +--- !u!114 &6576413314991157836 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a2836e36774ca1c4bbbee976e17b649c, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 0 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _componentConfiguration: 0 + _synchronizeParent: 0 + _packing: + Position: 0 + Rotation: 0 + Scale: 0 + _interpolation: 1 + _extrapolation: 2 + _enableTeleport: 0 + _teleportThreshold: 1 + _scaleThreshold: 1 + _clientAuthoritative: 1 + _sendToOwner: 1 + _enableNetworkLod: 1 + _interval: 1 + _synchronizePosition: 1 + _positionSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeRotation: 1 + _rotationSnapping: + X: 0 + Y: 0 + Z: 0 + _synchronizeScale: 0 + _scaleSnapping: + X: 0 + Y: 0 + Z: 0 +--- !u!114 &8532088199163376958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 26b716c41e9b56b4baafaf13a523ba2e, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: 0 + k__BackingField: 0 + k__BackingField: {fileID: 0} + _networkBehaviours: + - {fileID: 6576413314991157836} + - {fileID: 103478066480505861} + - {fileID: -1050914525280430027} + k__BackingField: {fileID: 0} + k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: 0, y: 0, z: 0, w: 0} + LocalScale: {x: 0, y: 0, z: 0} + _isNetworked: 1 + _isGlobal: 0 + _initializeOrder: 0 + _defaultDespawnType: 0 + NetworkObserver: {fileID: 0} + k__BackingField: 77 + k__BackingField: 0 + _scenePathHash: 0 + k__BackingField: 0 + k__BackingField: 8206949854708037754 +--- !u!114 &103478066480505861 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cf76e303c1b57ae4ebbf08dab5bbddc2, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 1 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _name: + _weight: 1 + _size: {x: 1, y: 1} + _startingTraits: [] + _rigidbody: {fileID: 3362323121630547519} + AttachmentPoint: {fileID: 8087437400747043343} + AttachmentPointAlt: {fileID: 0} +--- !u!114 &-1050914525280430027 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5774385816057912484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d25aaf3a871b3d1438c1a27c2c6b57c6, type: 3} + m_Name: + m_EditorClassIdentifier: + _componentIndexCache: 2 + _addedNetworkObject: {fileID: 8532088199163376958} + _networkObjectCache: {fileID: 8532088199163376958} + _parentBodyPart: {fileID: 0} + _skinnedMeshRenderer: {fileID: 0} + _bodyPartItem: {fileID: 0} + _internalBodyParts: {fileID: 0} + _bodyCollider: {fileID: 0} diff --git a/Assets/Content/WorldObjects/Items/BodyParts/HumanTorsoItem.prefab.meta b/Assets/Content/WorldObjects/Items/BodyParts/HumanTorsoItem.prefab.meta new file mode 100644 index 0000000000..e83fab83ac --- /dev/null +++ b/Assets/Content/WorldObjects/Items/BodyParts/HumanTorsoItem.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 885d5a9c5776fd64ab1cf595e0cfd9d8 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Content/WorldObjects/World/VFX/Health.meta b/Assets/Content/WorldObjects/World/VFX/Health.meta new file mode 100644 index 0000000000..d382142fad --- /dev/null +++ b/Assets/Content/WorldObjects/World/VFX/Health.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b252174e43c6b784fbbb223afaad72a1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Content/WorldObjects/World/VFX/Health/AttackParticles.prefab b/Assets/Content/WorldObjects/World/VFX/Health/AttackParticles.prefab new file mode 100644 index 0000000000..07bdd8fe1d --- /dev/null +++ b/Assets/Content/WorldObjects/World/VFX/Health/AttackParticles.prefab @@ -0,0 +1,4885 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &7714517724079113232 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7714517724079113235} + - component: {fileID: 7714517724079113234} + - component: {fileID: 7714517724079113233} + m_Layer: 0 + m_Name: AttackParticles + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7714517724079113235 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7714517724079113232} + m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} +--- !u!198 &7714517724079113234 +ParticleSystem: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7714517724079113232} + serializedVersion: 8 + lengthInSec: 0.05 + simulationSpeed: 1 + stopAction: 0 + cullingMode: 0 + ringBufferMode: 0 + ringBufferLoopRange: {x: 0, y: 1} + emitterVelocityMode: 0 + looping: 0 + prewarm: 0 + playOnAwake: 1 + useUnscaledTime: 0 + autoRandomSeed: 1 + startDelay: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + moveWithTransform: 0 + moveWithCustomTransform: {fileID: 0} + scalingMode: 1 + randomSeed: 0 + InitialModule: + serializedVersion: 3 + enabled: 1 + startLifetime: + serializedVersion: 2 + minMaxState: 0 + scalar: 0.2 + minScalar: 5 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startSpeed: + serializedVersion: 2 + minMaxState: 0 + scalar: 100 + minScalar: 5 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startColor: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + startSize: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startSizeY: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startSizeZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startRotationX: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startRotationY: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startRotation: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + randomizeRotationDirection: 0 + maxNumParticles: 1000 + customEmitterVelocity: {x: 0, y: 0, z: 0} + size3D: 0 + rotation3D: 0 + gravityModifier: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + ShapeModule: + serializedVersion: 6 + enabled: 1 + type: 0 + angle: 25 + length: 5 + boxThickness: {x: 0, y: 0, z: 0} + radiusThickness: 1 + donutRadius: 0.2 + m_Position: {x: 0, y: 0, z: 0} + m_Rotation: {x: 0, y: 0, z: 0} + m_Scale: {x: 1, y: 1, z: 1} + placementMode: 0 + m_MeshMaterialIndex: 0 + m_MeshNormalOffset: 0 + m_MeshSpawn: + mode: 0 + spread: 0 + speed: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Mesh: {fileID: 0} + m_MeshRenderer: {fileID: 0} + m_SkinnedMeshRenderer: {fileID: 0} + m_Sprite: {fileID: 0} + m_SpriteRenderer: {fileID: 0} + m_UseMeshMaterialIndex: 0 + m_UseMeshColors: 1 + alignToDirection: 0 + m_Texture: {fileID: 0} + m_TextureClipChannel: 3 + m_TextureClipThreshold: 0 + m_TextureUVChannel: 0 + m_TextureColorAffectsParticles: 1 + m_TextureAlphaAffectsParticles: 1 + m_TextureBilinearFiltering: 0 + randomDirectionAmount: 0 + sphericalDirectionAmount: 0 + randomPositionAmount: 0 + radius: + value: 1 + mode: 0 + spread: 0 + speed: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + arc: + value: 360 + mode: 0 + spread: 0 + speed: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + EmissionModule: + enabled: 1 + serializedVersion: 4 + rateOverTime: + serializedVersion: 2 + minMaxState: 0 + scalar: 10 + minScalar: 10 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + rateOverDistance: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BurstCount: 1 + m_Bursts: + - serializedVersion: 2 + time: 0 + countCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 20 + minScalar: 30 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + cycleCount: 1 + repeatInterval: 0.01 + probability: 1 + SizeModule: + enabled: 0 + curve: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + RotationModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curve: + serializedVersion: 2 + minMaxState: 0 + scalar: 0.7853982 + minScalar: 0.7853982 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + ColorModule: + enabled: 0 + gradient: + serializedVersion: 2 + minMaxState: 1 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + UVModule: + serializedVersion: 2 + enabled: 0 + mode: 0 + timeMode: 0 + fps: 30 + frameOverTime: + serializedVersion: 2 + minMaxState: 1 + scalar: 0.9999 + minScalar: 0.9999 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startFrame: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + speedRange: {x: 0, y: 1} + tilesX: 1 + tilesY: 1 + animationType: 0 + rowIndex: 0 + cycles: 1 + uvChannelMask: -1 + rowMode: 1 + sprites: + - sprite: {fileID: 0} + flipU: 0 + flipV: 0 + VelocityModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalX: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalY: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalOffsetX: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalOffsetY: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalOffsetZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + radial: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + speedModifier: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + inWorldSpace: 0 + InheritVelocityModule: + enabled: 0 + m_Mode: 0 + m_Curve: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + LifetimeByEmitterSpeedModule: + enabled: 0 + m_Curve: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: -0.8 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0.2 + inSlope: -0.8 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Range: {x: 0, y: 1} + ForceModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + inWorldSpace: 0 + randomizePerFrame: 0 + ExternalForcesModule: + serializedVersion: 2 + enabled: 0 + multiplierCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + influenceFilter: 0 + influenceMask: + serializedVersion: 2 + m_Bits: 4294967295 + influenceList: [] + ClampVelocityModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + magnitude: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxis: 0 + inWorldSpace: 0 + multiplyDragByParticleSize: 1 + multiplyDragByParticleVelocity: 1 + dampen: 0 + drag: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + NoiseModule: + enabled: 0 + strength: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + strengthY: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + strengthZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + frequency: 0.5 + damping: 1 + octaves: 1 + octaveMultiplier: 0.5 + octaveScale: 2 + quality: 2 + scrollSpeed: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remap: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapY: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZ: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapEnabled: 0 + positionAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + rotationAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + sizeAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + SizeBySpeedModule: + enabled: 0 + curve: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + range: {x: 0, y: 1} + separateAxes: 0 + RotationBySpeedModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curve: + serializedVersion: 2 + minMaxState: 0 + scalar: 0.7853982 + minScalar: 0.7853982 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + range: {x: 0, y: 1} + ColorBySpeedModule: + enabled: 0 + gradient: + serializedVersion: 2 + minMaxState: 1 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + range: {x: 0, y: 1} + CollisionModule: + enabled: 0 + serializedVersion: 4 + type: 0 + collisionMode: 0 + colliderForce: 0 + multiplyColliderForceByParticleSize: 0 + multiplyColliderForceByParticleSpeed: 0 + multiplyColliderForceByCollisionAngle: 1 + m_Planes: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_Dampen: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Bounce: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_EnergyLossOnCollision: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minKillSpeed: 0 + maxKillSpeed: 10000 + radiusScale: 1 + collidesWith: + serializedVersion: 2 + m_Bits: 4294967295 + maxCollisionShapes: 256 + quality: 0 + voxelSize: 0.5 + collisionMessages: 0 + collidesWithDynamic: 1 + interiorCollisions: 0 + TriggerModule: + enabled: 0 + serializedVersion: 2 + inside: 1 + outside: 0 + enter: 0 + exit: 0 + colliderQueryMode: 0 + radiusScale: 1 + primitives: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + SubModule: + serializedVersion: 2 + enabled: 0 + subEmitters: + - serializedVersion: 3 + emitter: {fileID: 0} + type: 0 + properties: 0 + emitProbability: 1 + LightsModule: + enabled: 0 + ratio: 0 + light: {fileID: 0} + randomDistribution: 1 + color: 1 + range: 1 + intensity: 1 + rangeCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + intensityCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + maxLights: 20 + TrailModule: + enabled: 1 + mode: 0 + ratio: 1 + lifetime: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0.0072021484 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minVertexDistance: 0.2 + textureMode: 0 + ribbonCount: 1 + shadowBias: 0.5 + worldSpace: 0 + dieWithParticles: 1 + sizeAffectsWidth: 1 + sizeAffectsLifetime: 0 + inheritParticleColor: 1 + generateLightingData: 0 + splitSubEmitterRibbons: 0 + attachRibbonsToTransform: 0 + colorOverLifetime: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + widthOverTrail: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorOverTrail: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + CustomDataModule: + enabled: 0 + mode0: 0 + vectorComponentCount0: 4 + color0: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + colorLabel0: Color + vector0_0: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_0: X + vector0_1: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_1: Y + vector0_2: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_2: Z + vector0_3: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_3: W + mode1: 0 + vectorComponentCount1: 4 + color1: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + colorLabel1: Color + vector1_0: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_0: X + vector1_1: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_1: Y + vector1_2: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_2: Z + vector1_3: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_3: W +--- !u!199 &7714517724079113233 +ParticleSystemRenderer: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7714517724079113232} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c8bfa19741a9ac944b70930f97be9cac, type: 2} + - {fileID: 2100000, guid: c8bfa19741a9ac944b70930f97be9cac, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_RenderMode: 4 + m_MeshDistribution: 0 + m_SortMode: 0 + m_MinParticleSize: 0 + m_MaxParticleSize: 0.5 + m_CameraVelocityScale: 0 + m_VelocityScale: 0 + m_LengthScale: 2 + m_SortingFudge: 0 + m_NormalDirection: 1 + m_ShadowBias: 0 + m_RenderAlignment: 0 + m_Pivot: {x: 0, y: 0, z: 0} + m_Flip: {x: 0, y: 0, z: 0} + m_UseCustomVertexStreams: 0 + m_EnableGPUInstancing: 1 + m_ApplyActiveColorSpace: 1 + m_AllowRoll: 1 + m_FreeformStretching: 0 + m_RotateWithStretchDirection: 1 + m_VertexStreams: 00010304 + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} + m_Mesh1: {fileID: 0} + m_Mesh2: {fileID: 0} + m_Mesh3: {fileID: 0} + m_MeshWeighting: 1 + m_MeshWeighting1: 1 + m_MeshWeighting2: 1 + m_MeshWeighting3: 1 + m_MaskInteraction: 0 diff --git a/Assets/Content/WorldObjects/World/VFX/Health/AttackParticles.prefab.meta b/Assets/Content/WorldObjects/World/VFX/Health/AttackParticles.prefab.meta new file mode 100644 index 0000000000..b4328f70a1 --- /dev/null +++ b/Assets/Content/WorldObjects/World/VFX/Health/AttackParticles.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 17b0d9163e9cdf14aa557557e7d9d76b +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Content/WorldObjects/World/VFX/Health/BloodParticle.mat b/Assets/Content/WorldObjects/World/VFX/Health/BloodParticle.mat new file mode 100644 index 0000000000..5564d3d050 --- /dev/null +++ b/Assets/Content/WorldObjects/World/VFX/Health/BloodParticle.mat @@ -0,0 +1,104 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: BloodParticle + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AlphaTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 10300, guid: 0000000000000000f000000000000000, type: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - PixelSnap: 0 + - _BlendOp: 0 + - _BumpScale: 1 + - _CameraFadingEnabled: 0 + - _CameraFarFadeDistance: 2 + - _CameraNearFadeDistance: 1 + - _ColorMode: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DistortionBlend: 0.5 + - _DistortionEnabled: 0 + - _DistortionStrength: 1 + - _DistortionStrengthScaled: 0 + - _DstBlend: 0 + - _EmissionEnabled: 0 + - _EnableExternalAlpha: 0 + - _FlipbookMode: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.611 + - _GlossyReflections: 1 + - _LightingEnabled: 0 + - _Metallic: 1 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SoftParticlesEnabled: 0 + - _SoftParticlesFarFadeDistance: 1 + - _SoftParticlesNearFadeDistance: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} + - _Color: {r: 0.5529412, g: 0.19215688, b: 0.19215688, a: 1} + - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _Flip: {r: 1, g: 1, b: 1, a: 1} + - _RendererColor: {r: 1, g: 1, b: 1, a: 1} + - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} diff --git a/Assets/Content/Data/DefaultPrefabObjects.asset.meta b/Assets/Content/WorldObjects/World/VFX/Health/BloodParticle.mat.meta similarity index 64% rename from Assets/Content/Data/DefaultPrefabObjects.asset.meta rename to Assets/Content/WorldObjects/World/VFX/Health/BloodParticle.mat.meta index cadcd9e8a9..f64b3d9264 100644 --- a/Assets/Content/Data/DefaultPrefabObjects.asset.meta +++ b/Assets/Content/WorldObjects/World/VFX/Health/BloodParticle.mat.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: 59af76506e3115f479c03aedaf5de785 +guid: af5a53a5bf82c30439df60069f07f424 NativeFormatImporter: externalObjects: {} - mainObjectFileID: 11400000 + mainObjectFileID: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Content/WorldObjects/World/VFX/Health/BloodTrail.mat b/Assets/Content/WorldObjects/World/VFX/Health/BloodTrail.mat new file mode 100644 index 0000000000..6a59dc1789 --- /dev/null +++ b/Assets/Content/WorldObjects/World/VFX/Health/BloodTrail.mat @@ -0,0 +1,77 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: BloodTrail + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.739 + - _GlossyReflections: 1 + - _Metallic: 0.733 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.55294114, g: 0.19215685, b: 0.19215685, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Content/WorldObjects/World/VFX/Health/BloodTrail.mat.meta b/Assets/Content/WorldObjects/World/VFX/Health/BloodTrail.mat.meta new file mode 100644 index 0000000000..714377dc3d --- /dev/null +++ b/Assets/Content/WorldObjects/World/VFX/Health/BloodTrail.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c8bfa19741a9ac944b70930f97be9cac +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/DefaultPrefabObjects.asset b/Assets/DefaultPrefabObjects.asset index 6a8a5482ae..cc60639ab5 100644 --- a/Assets/DefaultPrefabObjects.asset +++ b/Assets/DefaultPrefabObjects.asset @@ -23,8 +23,19 @@ MonoBehaviour: - {fileID: 6636680625000353110, guid: cc5383d385556f443b2a7d3202f2b2c1, type: 3} - {fileID: 3227132888119106738, guid: 7bbb74a7ffc8cae44baa886de43c586b, type: 3} - {fileID: 1871071288925904272, guid: add4d1bc2d874d94782d6b8c912af5e2, type: 3} + - {fileID: 8532088199163376958, guid: 9659c4cc7bea07c4ba38b492f407ef7f, type: 3} + - {fileID: 8532088199163376958, guid: 2f664501d8d74774c9427f7fb6d50ae6, type: 3} + - {fileID: 8532088199163376958, guid: 229b5ce92c3d9164e845f68308a037a2, type: 3} + - {fileID: 8532088199163376958, guid: 2081061d3c98e50408979ea90372c244, type: 3} + - {fileID: 8532088199163376958, guid: 6687a95358e52a348aaf6179f3c252f2, type: 3} + - {fileID: 171614716955879869, guid: 60890cc80962a7e44b97b4ba3b0518e3, type: 3} + - {fileID: 8532088199163376958, guid: 4d59bb658831172479995d721f8cbd6c, type: 3} - {fileID: 8532088199163376958, guid: df85b75fd341a244c8364ebb9c4fcfef, type: 3} - {fileID: 8532088199163376958, guid: c19eccca279beee4186432a03257a7b9, type: 3} + - {fileID: 8532088199163376958, guid: 9ac7c2cd12db800479e566335ff7440b, type: 3} + - {fileID: 8532088199163376958, guid: 2d0913074150cca43b88c90ec658aacb, type: 3} + - {fileID: -4360250799920595422, guid: 983acf51173ef60479e35c5e35946162, type: 3} + - {fileID: 8532088199163376958, guid: 885d5a9c5776fd64ab1cf595e0cfd9d8, type: 3} - {fileID: 6115335805774105745, guid: bf177f8bab26bc84b87fd9a971004418, type: 3} - {fileID: 6699414010407460003, guid: f1aeab0a35c29314a8a3f823de9815c1, type: 3} - {fileID: 4692070367735979832, guid: 8725b7f8f45d28a4ba6063318904cc8a, type: 3} diff --git a/Assets/Scripts/SS3D/Hacks/AttackBodyPartByClickingIt.cs b/Assets/Scripts/SS3D/Hacks/AttackBodyPartByClickingIt.cs new file mode 100644 index 0000000000..2243a19a2a --- /dev/null +++ b/Assets/Scripts/SS3D/Hacks/AttackBodyPartByClickingIt.cs @@ -0,0 +1,76 @@ + +using FishNet.Object; +using System.Linq; +using UnityEngine; +using SS3D.Systems.Health; + +namespace SS3D.Hacks +{ + /// + /// Placeholder class to simulate attacks on oneself. Inflicted damage will cause various effects + /// like bruising and bleeding, but they don't do anything yet. Damage can also sever bodyparts, which is also + /// only visual at the moment. + /// + /// Should be attached to player prefab. + /// + /// Mouse over other players (or yourself) and hit F to attack. + /// + /// + public class AttackBodyPartByClickingIt : NetworkBehaviour + { + [SerializeField] private GameObject attackParticleEffect; + [SerializeField] private DamageType attackType; + [SerializeField][Range(1, 10)] private float damageAmount; + + public override void OnStartClient() + { + base.OnStartClient(); + if (!IsOwner) enabled = false; + } + private void Update() + { + CheckForAttack(); + } + + private void CheckForAttack() + { + + if (!Input.GetKeyDown(KeyCode.F)) + { + return; + } + + LayerMask layerMask = LayerMask.GetMask("BodyParts"); + Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); + RaycastHit hit; + if (!Physics.Raycast(ray, out hit, 10f, layerMask)) + { + return; + } + + BodyPart target = GetComponentsInChildren().Where(x => x.BodyCollider == hit.collider).First(); + + if (!target) + { + return; + } + + CmdAttackBodyPart(target, damageAmount, hit.point); + } + + + [ServerRpc] + private void CmdAttackBodyPart(BodyPart bodypart, float damageAmount, Vector3 attackPosition) + { + + RpcInstantiateAttackParticleEffect(attackPosition); + bodypart.InflictDamageToAllLayer(new DamageTypeQuantity(attackType, damageAmount)); + } + + [ObserversRpc] + private void RpcInstantiateAttackParticleEffect(Vector3 position) + { + Instantiate(attackParticleEffect, position, Quaternion.identity); + } + } +} diff --git a/Assets/Scripts/SS3D/Hacks/AttackBodyPartByClickingIt.cs.meta b/Assets/Scripts/SS3D/Hacks/AttackBodyPartByClickingIt.cs.meta new file mode 100644 index 0000000000..5082964523 --- /dev/null +++ b/Assets/Scripts/SS3D/Hacks/AttackBodyPartByClickingIt.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 81823982a1f0a0a4b8b5b6c5915d1083 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Hacks/WhoIsTheOwner.cs b/Assets/Scripts/SS3D/Hacks/WhoIsTheOwner.cs new file mode 100644 index 0000000000..ab95267450 --- /dev/null +++ b/Assets/Scripts/SS3D/Hacks/WhoIsTheOwner.cs @@ -0,0 +1,27 @@ +using FishNet.Object; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace SS3D.Hacks +{ + /// + /// Simple script to check the owner of a game object this script is on. + /// Simply press F to show the owner in console. + /// + public class WhoIsTheOwner : NetworkBehaviour + { + + // Update is called once per frame + void Update() + { + + if (!Input.GetKeyDown(KeyCode.F)) + { + return; + } + + Debug.Log("Owner of gameobject" + gameObject.name + " is " + Owner); + } + } +} diff --git a/Assets/Scripts/SS3D/Hacks/WhoIsTheOwner.cs.meta b/Assets/Scripts/SS3D/Hacks/WhoIsTheOwner.cs.meta new file mode 100644 index 0000000000..f6794ecf8f --- /dev/null +++ b/Assets/Scripts/SS3D/Hacks/WhoIsTheOwner.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8ec6aad08f552b44395a14493071f8ac +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Interactions/Extensions/InteractionTargetExtensions.cs b/Assets/Scripts/SS3D/Interactions/Extensions/InteractionTargetExtensions.cs index 0888f10fd1..e0629b0bf0 100644 --- a/Assets/Scripts/SS3D/Interactions/Extensions/InteractionTargetExtensions.cs +++ b/Assets/Scripts/SS3D/Interactions/Extensions/InteractionTargetExtensions.cs @@ -1,4 +1,5 @@ using SS3D.Interactions.Interfaces; +using UnityEngine; namespace SS3D.Interactions.Extensions { @@ -13,5 +14,33 @@ public static T GetComponent(this IInteractionTarget target) where T : class return null; } - } + + /// + /// Get a component T in parent of a IInteraction target. + /// + public static T GetComponentInParent(this IInteractionTarget target) where T : class + { + GameObject go; + if (target is IGameObjectProvider provider) + { + go = provider.GameObject; + } + else + { + return null; + } + + while (go != null) + { + var component = go.gameObject.GetComponent(); + if (component != null) + { + return component; + } + go = go.transform.parent.gameObject; + } + + return null; + } + } } \ No newline at end of file diff --git a/Assets/Scripts/SS3D/Systems/Combat.meta b/Assets/Scripts/SS3D/Systems/Combat.meta new file mode 100644 index 0000000000..cf04ab20e9 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Combat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f02318f9d90e5f146aa943098bf1c339 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Combat/Interactions.meta b/Assets/Scripts/SS3D/Systems/Combat/Interactions.meta new file mode 100644 index 0000000000..c8128d89b4 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Combat/Interactions.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b508443b49197b245b2ce21d8db39b4b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Combat/Interactions/HandHit.cs b/Assets/Scripts/SS3D/Systems/Combat/Interactions/HandHit.cs new file mode 100644 index 0000000000..a6286b13db --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Combat/Interactions/HandHit.cs @@ -0,0 +1,27 @@ +using SS3D.Interactions; +using SS3D.Interactions.Interfaces; +using SS3D.Systems.Inventory.Containers; +using System.Collections.Generic; +using UnityEngine; + +namespace SS3D.Systems.Combat.Interactions +{ + /// + /// Little script to add next to Hand script, allowing to add a HitInteraction from hand sources. + /// + public class HandHit : MonoBehaviour, IInteractionSourceExtension + { + public void GetSourceInteractions(IInteractionTarget[] targets, List interactions) + { + var interaction = new HitInteraction(); + + foreach (IInteractionTarget target in targets) + { + if (interaction.CanInteract(new InteractionEvent(gameObject.GetComponent(), target))) + { + interactions.Add(new InteractionEntry(target, interaction)); + } + } + } + } +} diff --git a/Assets/Scripts/SS3D/Systems/Combat/Interactions/HandHit.cs.meta b/Assets/Scripts/SS3D/Systems/Combat/Interactions/HandHit.cs.meta new file mode 100644 index 0000000000..737118f202 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Combat/Interactions/HandHit.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 76995bdf538c155469a296a7b56f57f5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Combat/Interactions/HitInteraction.cs b/Assets/Scripts/SS3D/Systems/Combat/Interactions/HitInteraction.cs new file mode 100644 index 0000000000..e8eb1eee04 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Combat/Interactions/HitInteraction.cs @@ -0,0 +1,76 @@ +using SS3D.Interactions; +using SS3D.Interactions.Extensions; +using SS3D.Interactions.Interfaces; +using UnityEngine; +using SS3D.Systems.Inventory.Containers; +using SS3D.Systems.Entities; +using SS3D.Systems.Health; +using SS3D.Data; +using SS3D.Data.Enums; + +namespace SS3D.Systems.Combat.Interactions +{ + /// + /// Interaction to hit another player. + /// + public class HitInteraction : Interaction + { + + public override string GetName(InteractionEvent interactionEvent) + { + return "Hit"; + } + + public override Sprite GetIcon(InteractionEvent interactionEvent) + { + return Icon != null ? Icon : Assets.Get(InteractionIcons.Nuke); + } + + public override bool CanInteract(InteractionEvent interactionEvent) + { + IInteractionTarget target = interactionEvent.Target; + IInteractionSource source = interactionEvent.Source; + + // Curently just hit the first body part of an entity if it finds one. + // Should instead choose the body part using the target dummy doll ? + // Also should be able to hit with other things than just hands. + if (target is IGameObjectProvider targetBehaviour && source is Hand hand) + { + + Entity entity = targetBehaviour.GameObject.GetComponentInParent(); + + if (entity == null) return false; + + BodyPart bodyPart = entity.GetComponentInChildren(); + + if (bodyPart == null) return false; + + bool isInRange = InteractionExtensions.RangeCheck(interactionEvent); + + return isInRange; + } + + return false; + } + + public override bool Start(InteractionEvent interactionEvent, InteractionReference reference) + { + IInteractionTarget target = interactionEvent.Target; + IInteractionSource source = interactionEvent.Source; + + // Curently just hit the first body part of an entity if it finds one. + // Should instead choose the body part using the target dummy doll ? + // Also should be able to hit with other things than just hands. + if (target is IGameObjectProvider targetBehaviour && source is Hand hand) + { + Entity entity = targetBehaviour.GameObject.GetComponentInParent(); + BodyPart bodyPart = entity.GetComponentInChildren(); + + // Inflict a fix amount and type of damages for now. Long term, should be passed in parameter and depends on weapon type, velocity ... + bodyPart.InflictDamageToAllLayer(new DamageTypeQuantity(DamageType.Slash, 50)); + } + + return false; + } + } +} diff --git a/Assets/Scripts/SS3D/Systems/Combat/Interactions/HitInteraction.cs.meta b/Assets/Scripts/SS3D/Systems/Combat/Interactions/HitInteraction.cs.meta new file mode 100644 index 0000000000..a6028b5192 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Combat/Interactions/HitInteraction.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fdf8ac80cf2cf144f91fcb48cd8d68ed +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Entities/Entity.cs b/Assets/Scripts/SS3D/Systems/Entities/Entity.cs index ee7b84be00..4dc0443d34 100644 --- a/Assets/Scripts/SS3D/Systems/Entities/Entity.cs +++ b/Assets/Scripts/SS3D/Systems/Entities/Entity.cs @@ -1,8 +1,13 @@ using System; +using Coimbra; using FishNet.Object; using FishNet.Object.Synchronizing; using SS3D.Core.Behaviours; using SS3D.Systems.Entities.Events; +using SS3D.Systems.Entities.Humanoid; +using SS3D.Systems.Health; +using SS3D.Systems.Interactions; +using SS3D.Systems.Inventory.Containers; using UnityEngine; namespace SS3D.Systems.Entities @@ -43,8 +48,11 @@ protected override void OnDestroyed() { base.OnDestroyed(); - LocalPlayerObjectChanged localPlayerObjectChanged = new(GameObject, false); - localPlayerObjectChanged.Invoke(this); + if (IsOwner) + { + LocalPlayerObjectChanged localPlayerObjectChanged = new(GameObject, false); + localPlayerObjectChanged.Invoke(this); + } } private void InvokeLocalPlayerObjectChanged() @@ -85,8 +93,13 @@ public void SyncMind(Mind oldMind, Mind newMind, bool asServer) public void SetMind(Mind mind) { this._mind = mind; - + if(mind == null) return; GiveOwnership(mind.Owner); } + + public virtual void Kill() + { + throw new NotImplementedException(); + } } } \ No newline at end of file diff --git a/Assets/Scripts/SS3D/Systems/Entities/EntitySystem.cs b/Assets/Scripts/SS3D/Systems/Entities/EntitySystem.cs index b2c42d8557..4d90225d9a 100644 --- a/Assets/Scripts/SS3D/Systems/Entities/EntitySystem.cs +++ b/Assets/Scripts/SS3D/Systems/Entities/EntitySystem.cs @@ -250,6 +250,11 @@ private void HandleSpawnedPlayersChanged(SyncListOperation op, int index, Entity return; } + if(op == SyncListOperation.Set) + { + return; + } + if (!asServer && IsHost) { return; @@ -276,5 +281,11 @@ private void SyncHasSpawnedInitialPlayers(bool oldValue, bool newValue, bool asS return; } } - } + + public void TransferEntity(Entity oldEntity, Entity newEntity) + { + int index = _spawnedPlayers.FindIndex(x => x == oldEntity); + _spawnedPlayers[index] = newEntity; + } + } } diff --git a/Assets/Scripts/SS3D/Systems/Entities/Human.cs b/Assets/Scripts/SS3D/Systems/Entities/Human.cs index bb0d7bb2ac..9e53d63a58 100644 --- a/Assets/Scripts/SS3D/Systems/Entities/Human.cs +++ b/Assets/Scripts/SS3D/Systems/Entities/Human.cs @@ -1,12 +1,72 @@ -using UnityEngine; +using FishNet.Object; +using SS3D.Systems.Entities.Humanoid; +using SS3D.Systems.Health; +using SS3D.Systems.Interactions; +using SS3D.Systems.Inventory.Containers; +using UnityEngine; +using Coimbra; +using SS3D.Core; namespace SS3D.Systems.Entities { /// /// Base class for all humans /// - public class Human : MonoBehaviour + public class Human : Entity { + public GameObject Ghost; + private GameObject _spawnedGhost; - } + + /// + /// On death, the player should become a ghost. + /// + [Server] + private void BecomeGhost(GameObject player, GameObject ghost) + { + Entity originEntity = player.GetComponent(); + Entity ghostEntity = ghost.GetComponent(); + + Mind originMind = originEntity.Mind; + + ghostEntity.SetMind(originMind); + RpcDestroyObjects(originEntity); + RpcUpdateGhostPosition(originEntity, ghostEntity); + } + + [ObserversRpc] + private void RpcDestroyObjects(Entity originEntity) + { + GameObject originEntityGameObject = originEntity.gameObject; + originEntityGameObject.GetComponent()?.Dispose(true); + originEntityGameObject.GetComponent()?.Dispose(true); + originEntityGameObject.GetComponent()?.Dispose(true); + originEntityGameObject.GetComponent()?.Dispose(true); + originEntityGameObject.GetComponent()?.Dispose(true); + // TODO: Optimize these GetComponents, this is a temporary solution. + } + + /// + /// Put Ghost at the same place as the deceased player. + /// + [ObserversRpc] + private void RpcUpdateGhostPosition(Entity originEntity, Entity ghostEntity) + { + ghostEntity.Transform.SetPositionAndRotation(originEntity.Transform.position, originEntity.Transform.rotation); + originEntity.Transform.Rotate(new Vector3(90, 0, 0)); + } + + /// + /// Kill a player, instantiating a ghost. + /// + [Server] + public override void Kill() + { + _spawnedGhost = Instantiate(Ghost); + ServerManager.Spawn(_spawnedGhost); + var entitySystem = Subsystems.Get(); + entitySystem.TransferEntity(GetComponentInParent(), _spawnedGhost.GetComponent()); + BecomeGhost(gameObject, _spawnedGhost); + } + } } \ No newline at end of file diff --git a/Assets/Scripts/SS3D/Systems/Entities/Humanoid/HumanoidController.cs b/Assets/Scripts/SS3D/Systems/Entities/Humanoid/HumanoidController.cs index 4b433d7d41..347b83e757 100644 --- a/Assets/Scripts/SS3D/Systems/Entities/Humanoid/HumanoidController.cs +++ b/Assets/Scripts/SS3D/Systems/Entities/Humanoid/HumanoidController.cs @@ -1,4 +1,4 @@ -using Coimbra.Services.Events; +using Coimbra.Services.Events; using Coimbra.Services.PlayerLoopEvents; using System; using SS3D.Core; @@ -16,7 +16,6 @@ namespace SS3D.Systems.Entities.Humanoid /// Controls the movement for biped characters that use the same armature /// as the human model uses. /// - [RequireComponent(typeof(Entity))] [RequireComponent(typeof(HumanoidAnimatorController))] [RequireComponent(typeof(Animator))] public abstract class HumanoidController : NetworkActor diff --git a/Assets/Scripts/SS3D/Systems/Entities/Humanoid/HumanoidLivingController.cs b/Assets/Scripts/SS3D/Systems/Entities/Humanoid/HumanoidLivingController.cs index d7d3fab423..0e28966493 100644 --- a/Assets/Scripts/SS3D/Systems/Entities/Humanoid/HumanoidLivingController.cs +++ b/Assets/Scripts/SS3D/Systems/Entities/Humanoid/HumanoidLivingController.cs @@ -1,4 +1,7 @@ -using System; +using System; +using System.Collections.Generic; +using System.Linq; +using FishNet.Object.Synchronizing; using SS3D.Core; using SS3D.Core.Behaviours; using SS3D.Systems.Health; @@ -11,7 +14,6 @@ namespace SS3D.Systems.Entities.Humanoid /// Controls the movement for living biped characters that use the same armature /// as the human model uses. /// - [RequireComponent(typeof(Entity))] [RequireComponent(typeof(HumanoidAnimatorController))] [RequireComponent(typeof(CharacterController))] [RequireComponent(typeof(Animator))] @@ -21,7 +23,17 @@ public class HumanoidLivingController : HumanoidController [Header("Components")] [SerializeField] private CharacterController _characterController; [SerializeField] private StaminaController _staminaController; - + [SerializeField] private FeetController _feetController; + + public override void OnStartClient() + { + base.OnStartClient(); + if (!IsOwner) + { + return; + } + } + /// /// Executes the movement code and updates the IK targets /// @@ -54,7 +66,7 @@ protected override float FilterSpeed() /// protected override void MovePlayer() { - _characterController.Move(TargetMovement * ((_movementSpeed) * Time.deltaTime)); + _characterController.Move(TargetMovement * ((_feetController.FeetHealthFactor * _movementSpeed) * Time.deltaTime)); } } diff --git a/Assets/Scripts/SS3D/Systems/Entities/MindSystem.cs b/Assets/Scripts/SS3D/Systems/Entities/MindSystem.cs index 9f751810e1..8b296dec32 100644 --- a/Assets/Scripts/SS3D/Systems/Entities/MindSystem.cs +++ b/Assets/Scripts/SS3D/Systems/Entities/MindSystem.cs @@ -100,7 +100,7 @@ public void CmdSwapMinds(Entity origin, Entity target, NetworkConnection network /// /// [Server] - private void SwapMinds(Entity origin, Entity target) + public void SwapMinds(Entity origin, Entity target) { Mind originMind = origin.Mind; Mind targetMind = target.Mind; diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyLayers.meta b/Assets/Scripts/SS3D/Systems/Health/BodyLayers.meta new file mode 100644 index 0000000000..f6ada0c29f --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyLayers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7f970c64a96631341b16446ab2ef195b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyLayers/BodyLayer.cs b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/BodyLayer.cs new file mode 100644 index 0000000000..486936c4dc --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/BodyLayer.cs @@ -0,0 +1,214 @@ +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; +using System; +using FishNet.Object; + +namespace SS3D.Systems.Health +{ + /// + /// Be careful when adding fields to a bodylayer, or when creating a new bodylayer. + /// They need to be synced and therefore sent over the network, this means that you need to serialize them properly. + /// + public abstract class BodyLayer + { + public abstract BodyLayerType LayerType { get; } + + /// + /// The body part containing this body layer. + /// + public BodyPart BodyPart { get; set; } + + /// + /// Events fired when damages are received on this layer. + /// + public event EventHandler DamageReceivedEvent; + + /// + /// Quantity of damages on this bodyLayer + /// + protected List _damageTypeQuantities; + + /// + /// Minimum amount of damage to do to make any actual damage. + /// + protected List _damageResistances; + + /// + /// Susceptibility to damage, damages are multiplied by this number. + /// + protected List _damageSuceptibilities; + + public virtual float MaxDamage => 100; + + public const float MinDamage = 0; + + public float TotalDamage => DamageTypeQuantities.Sum(x => x.quantity); + + public List DamageTypeQuantities => _damageTypeQuantities; + public List DamageResistances => _damageResistances; + public List DamageSuceptibilities => _damageSuceptibilities; + + /// + /// TODO : Put default damage suceptibility and resistance into a scriptable object and replace those lists with "damage * modifier". + /// They should be empty most of the time as they are modifiers. + /// + /// + public BodyLayer(BodyPart bodyPart) + { + _damageResistances = new List(); + _damageSuceptibilities= new List(); + _damageTypeQuantities = new List(); + SetResistances(); + SetSuceptibilities(); + BodyPart = bodyPart; + } + + public BodyLayer(BodyPart bodyPart, List damages, List susceptibilities, List resistances) + { + _damageResistances = resistances; + _damageSuceptibilities = susceptibilities; + _damageTypeQuantities = damages; + BodyPart = bodyPart; + } + + + + /// + /// Add damage without going above max damage for any given type. + /// + /// + public virtual void InflictDamage(DamageTypeQuantity damageToInflict) + { + DamageTypeQuantity damage = (DamageTypeQuantity) damageToInflict.Clone(); + + float currentDamageQuantity = GetDamageTypeQuantity(damage.damageType); + damage.quantity = ApplyResistanceAndSusceptibility(damage); + + if (currentDamageQuantity == MinDamage) + { + + if (damage.quantity > MaxDamage) + { + damage.quantity = MaxDamage; + } + DamageTypeQuantities.Add(damage); + } + else + { + int damageTypeIndex = DamageTypeQuantities.FindIndex(x => x.damageType == damage.damageType); + + float newDamageQuantity = damage.quantity + DamageTypeQuantities[damageTypeIndex].quantity; + if (newDamageQuantity > MaxDamage) + { + DamageTypeQuantities[damageTypeIndex].quantity = MaxDamage; + } + else + { + DamageTypeQuantities[damageTypeIndex].quantity = newDamageQuantity; + } + } + + OnDamageInflicted(damage); + // TODO : Apply some sync stuff in bodybehaviour. + } + + public virtual void HealDamage(DamageTypeQuantity damage) + { + float currentDamageQuantity = GetDamageTypeQuantity(damage.damageType); + if (currentDamageQuantity == MinDamage) + { + return; + } + else + { + int damageTypeIndex = DamageTypeQuantities.FindIndex(x => x.damageType == damage.damageType); + float newDamageQuantity = DamageTypeQuantities[damageTypeIndex].quantity - damage.quantity; + if (newDamageQuantity < MinDamage) + { + DamageTypeQuantities.RemoveAt(damageTypeIndex); + } + else + { + DamageTypeQuantities[damageTypeIndex].quantity = newDamageQuantity; + } + } + } + + /// + /// Get the amount of a given damage type on this body layer. + /// + public float GetDamageTypeQuantity(DamageType damageType) + { + int damageTypeIndex = DamageTypeQuantities.FindIndex(x => x.damageType == damageType); + return damageTypeIndex == -1 ? MinDamage : DamageTypeQuantities[damageTypeIndex].quantity; + } + + /// + /// Return the susceptibility to a particular kind of damage. Susceptibility is one if no modifiers. + /// + public float GetDamageTypeSusceptibility(DamageType damageType) + { + int damageTypeIndex = _damageSuceptibilities.FindIndex(x => x.damageType == damageType); + return damageTypeIndex == -1 ? 1 : _damageSuceptibilities[damageTypeIndex].quantity; + } + + /// + /// Return the damage resistance for a given damage type. + /// If no resistance is found, the default resistance is 0. + /// + public float GetDamageResistance(DamageType damageType) + { + int damageTypeIndex = _damageResistances.FindIndex(x => x.damageType == damageType); + return damageTypeIndex == -1 ? 0 : _damageSuceptibilities[damageTypeIndex].quantity; + } + + public virtual bool IsDestroyed() + { + return TotalDamage >= MaxDamage; + } + + /// + /// Modify the quantity of damages taken by applying susceptibility first, and by substracting resistance after. + /// + protected float ApplyResistanceAndSusceptibility(DamageTypeQuantity damageTypeQuantity) + { + float susceptibility = GetDamageTypeSusceptibility(damageTypeQuantity.damageType); + float resistance = GetDamageResistance(damageTypeQuantity.damageType); + float modifiedDamages = damageTypeQuantity.quantity * susceptibility - resistance; + return modifiedDamages < 0 ? 0 : modifiedDamages; + } + + public virtual void OnDamageInflicted(DamageTypeQuantity damageQuantity) + { + var args = new DamageEventArgs(damageQuantity); + if(DamageReceivedEvent!= null) DamageReceivedEvent.Invoke(this, args); + + } + + public void CopyLayerValues(BodyLayer layer) + { + _damageResistances = layer._damageResistances.Select(x => new DamageTypeQuantity(x.damageType, x.quantity)).ToList(); + _damageSuceptibilities = layer._damageSuceptibilities.Select(x => new DamageTypeQuantity(x.damageType, x.quantity)).ToList(); + _damageTypeQuantities = layer._damageTypeQuantities.Select(x => new DamageTypeQuantity(x.damageType, x.quantity)).ToList(); + } + + /// + /// Set all resistances on this body layer. By default, there are none and resistance is 0. + /// + protected virtual void SetResistances() + { + return; + } + + /// + /// Set all susceptibilities on this body layer. By default, susceptibility is 1. + /// + protected virtual void SetSuceptibilities() + { + return; + } + + } +} diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyLayers/BodyLayer.cs.meta b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/BodyLayer.cs.meta new file mode 100644 index 0000000000..825f045973 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/BodyLayer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 910a6ddb2bdb07349859e0f25264477d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyLayers/BodyLayerType.cs b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/BodyLayerType.cs new file mode 100644 index 0000000000..84a2d477e3 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/BodyLayerType.cs @@ -0,0 +1,13 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public enum BodyLayerType +{ + Bone, + Circulatory, + Muscle, + Nerve, + Brain, + Organ, +} diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyLayers/BodyLayerType.cs.meta b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/BodyLayerType.cs.meta new file mode 100644 index 0000000000..bf57c4050a --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/BodyLayerType.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6013d879fbbac54448fa85cf24bfc1e6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyLayers/BoneLayer.cs b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/BoneLayer.cs new file mode 100644 index 0000000000..851cd806b4 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/BoneLayer.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace SS3D.Systems.Health +{ + public class BoneLayer : BodyLayer + { + public override BodyLayerType LayerType + { + get { return BodyLayerType.Bone; } + } + + public BoneLayer(BodyPart bodyPart) : base(bodyPart) + { + + } + + public BoneLayer(BodyPart bodyPart, + List damages, List susceptibilities, List resistances) + : base(bodyPart, damages, susceptibilities, resistances) + { + + } + + protected override void SetSuceptibilities() + { + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Crush, 2f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Puncture, 1.5f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Pressure, 0f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Cold, 0.5f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Shock, 0.5f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Toxic, 0.8f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Oxy, 0f)); + } + + /// + /// Generate a certain amount of blood and put it in the circulatory system if there's one. + /// + public virtual void ProduceBlood() + { + throw new NotImplementedException(); + } + } +} diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyLayers/BoneLayer.cs.meta b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/BoneLayer.cs.meta new file mode 100644 index 0000000000..1568ca0cde --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/BoneLayer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ffa1b0482a800cf46bb28cb4426aec25 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyLayers/CirculatoryLayer.cs b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/CirculatoryLayer.cs new file mode 100644 index 0000000000..264d93f7be --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/CirculatoryLayer.cs @@ -0,0 +1,34 @@ +using SS3D.Substances; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace SS3D.Systems.Health +{ + public class CirculatoryLayer : BodyLayer + { + + public override BodyLayerType LayerType + { + get { return BodyLayerType.Circulatory; } + } + public CirculatoryLayer(BodyPart bodyPart) : base(bodyPart) + { + + } + + public CirculatoryLayer(BodyPart bodyPart, + List damages, List susceptibilities, List resistances) + : base(bodyPart, damages, susceptibilities, resistances) + { + + } + + protected override void SetSuceptibilities() + { + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Slash, 2f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Puncture, 2f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Toxic, 1.5f)); + } + } +} diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyLayers/CirculatoryLayer.cs.meta b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/CirculatoryLayer.cs.meta new file mode 100644 index 0000000000..444c16eef5 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/CirculatoryLayer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4282c726a7e13a64eb34d52076759008 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyLayers/MuscleLayer.cs b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/MuscleLayer.cs new file mode 100644 index 0000000000..6136063cfc --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/MuscleLayer.cs @@ -0,0 +1,37 @@ + +using System.Collections.Generic; + +namespace SS3D.Systems.Health +{ + public class MuscleLayer : BodyLayer + { + public override BodyLayerType LayerType + { + get { return BodyLayerType.Muscle; } + } + + public MuscleLayer(BodyPart bodyPart) : base(bodyPart) + { + + } + + public MuscleLayer(BodyPart bodyPart, + List damages, List susceptibilities, List resistances) + : base(bodyPart, damages, susceptibilities, resistances) + { + + } + + protected override void SetSuceptibilities() + { + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Slash, 2f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Puncture, 1.5f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Pressure, 0f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Heat, 1.5f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Cold, 1.5f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Shock, 1.5f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Acid, 1.5f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Oxy, 1.5f)); + } + } +} diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyLayers/MuscleLayer.cs.meta b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/MuscleLayer.cs.meta new file mode 100644 index 0000000000..d955c27746 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/MuscleLayer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 90e7a4bb78e91bd4c93bb328b5d832d6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyLayers/NerveLayer.cs b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/NerveLayer.cs new file mode 100644 index 0000000000..82afc2e15b --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/NerveLayer.cs @@ -0,0 +1,63 @@ +using System.Collections.Generic; +using UnityEngine; +using FishNet.Object; + +namespace SS3D.Systems.Health +{ + public class NerveLayer : BodyLayer + { + + public NetworkBehaviour GetNetworkBehaviour => BodyPart; + + + public NetworkObject getNetworkedObject + { + get + { + return BodyPart.NetworkObject; + } + set + { + + } + } + + public GameObject getGameObject + { + get + { + return BodyPart.gameObject; + } + set + { + + } + } + + public override BodyLayerType LayerType + { + get { return BodyLayerType.Nerve; } + } + + public NerveLayer(BodyPart bodyPart) : base(bodyPart) + { + + } + + public NerveLayer(BodyPart bodyPart, + List damages, List susceptibilities, List resistances) + : base(bodyPart, damages, susceptibilities, resistances) + { + + } + + protected override void SetSuceptibilities() + { + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Slash, 1.5f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Pressure, 0.5f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Shock, 2f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Rad, 1.5f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Toxic, 1.2f)); + } + } +} diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyLayers/NerveLayer.cs.meta b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/NerveLayer.cs.meta new file mode 100644 index 0000000000..00192fd372 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/NerveLayer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 67d92c2cb7194b249a8e4a6fddc3b22a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyLayers/OrganLayer.cs b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/OrganLayer.cs new file mode 100644 index 0000000000..82b0b62cd1 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/OrganLayer.cs @@ -0,0 +1,34 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace SS3D.Systems.Health +{ + public class OrganLayer : BodyLayer + { + public OrganLayer(BodyPart bodyPart) : base(bodyPart) + { + } + + public OrganLayer(BodyPart bodyPart, + List damages, List susceptibilities, List resistances) + : base(bodyPart, damages, susceptibilities, resistances) + { + + } + + public override BodyLayerType LayerType { get => BodyLayerType.Organ; } + + protected override void SetSuceptibilities() + { + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Slash, 2f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Puncture, 1.5f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Heat, 1.5f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Cold, 1.5f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Shock, 1.5f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Rad, 1.5f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Toxic, 1.5f)); + _damageSuceptibilities.Add(new DamageTypeQuantity(DamageType.Acid, 1.5f)); + } + } +} diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyLayers/OrganLayer.cs.meta b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/OrganLayer.cs.meta new file mode 100644 index 0000000000..f6f5c8be8d --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyLayers/OrganLayer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b2a412c0290f5954eb2a6005f2aa29e9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyParts.meta b/Assets/Scripts/SS3D/Systems/Health/BodyParts.meta new file mode 100644 index 0000000000..8c641db1c3 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyParts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9a5215ffe8606c345b230c30e468be4e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyParts/Bodypart.cs b/Assets/Scripts/SS3D/Systems/Health/BodyParts/Bodypart.cs new file mode 100644 index 0000000000..bf71e6615d --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyParts/Bodypart.cs @@ -0,0 +1,473 @@ +using FishNet.Object; +using FishNet.Object.Synchronizing; +using FishNet.Connection; +using System.Collections.Generic; +using UnityEngine; +using SS3D.Core; +using SS3D.Logging; +using SS3D.Systems.Permissions; +using Cysharp.Threading.Tasks; +using UnityEditor; +using SS3D.Interactions; +using SS3D.Interactions.Interfaces; +using SS3D.Systems.Health; +using System.Linq; +using System.Collections.ObjectModel; +using FishNet; +using Coimbra; +using SS3D.Systems.Inventory.Containers; +using SS3D.Systems.Inventory.Items; +using System; + +/// +/// Class to handle all networking stuff related to a body part, there should be only one on a given game object. +/// +public abstract class BodyPart : InteractionTargetNetworkBehaviour +{ + /// + /// Body part to which this body part is attached, from an anatomy perspective. (left hand is attached to left arm, attached to torso...) + /// Can be null (Human torso are the root of the tree of attached body parts) + /// + [SyncVar] + protected BodyPart _parentBodyPart; + + /// + /// When a body part is attached, its shown through its skinnedMeshrenderer on the player. When its detached, it's important to hide this. + /// + [SerializeField] + private SkinnedMeshRenderer _skinnedMeshRenderer; + + /// + /// The game object spawned upon detaching the bodypart. + /// + [SerializeField] + protected GameObject _bodyPartItem; + + /// + /// List of body parts child of this one. + /// + protected readonly List _childBodyParts = new List(); + + /// + /// List of body layers composing a body part. + /// + protected readonly List _bodyLayers = new List(); + + /// + /// A container containing all internal body parts. The head has a brain for an internal body part. Internal body parts should be destroyed + /// + [SerializeField] + protected AttachedContainer _internalBodyParts; + + /// + /// Collider registering hits on this bodypart. It should usually be on the armature of the Entity, so it follows animations. + /// + [SerializeField] + protected Collider _bodyCollider; + + public Collider BodyCollider => _bodyCollider; + + public string Name => gameObject.name; + + /// + /// Check if this bodypart has been detached. Should always be true for all bodyparts spawned on detach. + /// + protected bool _isDetached; + + + public ReadOnlyCollection BodyLayers + { + get { return _bodyLayers.AsReadOnly(); } + } + + + public ReadOnlyCollection ChildBodyParts + { + get { return _childBodyParts.AsReadOnly(); } + } + + public IEnumerable InternalBodyParts + { + get { return _internalBodyParts.Items; } + } + + /// + /// A bodypart is considered destroyed when The total amount of damages it sustained is above a maximum. + /// + public bool IsDestroyed => TotalDamage >= MaxDamage; + + /// + /// A bodypart is considered severed when the total amount of damages it sustained on the bone layer is above a maximum. + /// + public bool IsSevered => GetBodyLayer().IsDestroyed(); + + public float TotalDamage => _bodyLayers.Sum(layer => layer.TotalDamage); + public float MaxDamage => 0.8f*_bodyLayers.Sum(layer => layer.MaxDamage); + + public float RelativeDamage => 1- TotalDamage/ MaxDamage; + + public event EventHandler OnDamageInflicted; + public event EventHandler OnBodyPartDestroyed; + public event EventHandler OnBodyPartDetached; + public event EventHandler OnBodyPartLayerAdded; + + /// + /// The parent bodypart is the body part attached to this body part, closest from the brain. + /// For lower left arm, it's higher left arm. For neck, it's head. + /// Be careful, it doesn't necessarily match the game object hierarchy + /// + public BodyPart ParentBodyPart + { + get { return _parentBodyPart; } + set => SetParentBodyPart(value); + } + + public override void OnStartServer() + { + base.OnStartServer(); + ParentBodyPart = _parentBodyPart; + AddInitialLayers(); + } + + public virtual void Init(BodyPart parent) + { + ParentBodyPart = parent; + } + + public virtual void Init(BodyPart parentBodyPart, List childBodyParts, List bodyLayers) + { + ParentBodyPart = parentBodyPart; + _childBodyParts.AddRange(childBodyParts); + _bodyLayers.AddRange(bodyLayers); + foreach (BodyLayer bodylayer in BodyLayers) + { + bodylayer.BodyPart = this; + } + } + + /// + /// Properly set a new parent body part, should be useful when detaching or attaching again a bodypart. + /// + public void SetParentBodyPart(BodyPart value) + { + if (value == null) + { + _parentBodyPart = null; + return; + } + + if (_childBodyParts.Contains(value)) + { + Punpun.Error(this, "trying to set up {bodypart} bodypart as both child and" + + " parent of {bodypart} bodypart.", Logs.Generic, value, this); + return; + } + + Punpun.Debug(this, "value of parent body part {bodypart}", Logs.Generic, value); + _parentBodyPart = value; + _parentBodyPart._childBodyParts.Add(this); + } + + /// + /// The body part is not destroyed, it's simply detached from the entity. + /// Spawn a detached body part from the entity, and destroy this one. + /// This spawns an item based on this body part. Upon being detached, some specific treatments are needed for some bodyparts. + /// Implementation should handle instantiating _bodyPartItem, removing the bodypart game object and doing whatever else is necessary. + /// + protected virtual void DetachBodyPart() + { + + if (_isDetached) return; + DetachChildBodyParts(); + HideSeveredBodyPart(); + SpawnDetachedBodyPart(); + _isDetached = true; + InvokeOnBodyPartDetached(); + Dispose(false); + } + + protected void DetachChildBodyParts() + { + for (int i = _childBodyParts.Count - 1; i >= 0; i--) + { + _childBodyParts[i].DetachBodyPart(); + } + } + + protected BodyPart SpawnDetachedBodyPart() + { + /* + * When detaching a bodypart, a prefab is spawned, very similar but having a few different scripts like the Item script, or removing a few others. + * Fishnet in version 3.10.7 does not allow adding networkbehaviours, however it allows disabling and enabling. + * When detaching a body part, don't forget to check if some scripts were enabled/disabled, and update the relevant values of the spawned body part with + * those of the just detached body part. + */ + GameObject go = Instantiate(_bodyPartItem, Position, Rotation); + InstanceFinder.ServerManager.Spawn(go, null); + BodyPart bodyPart = go.GetComponent(); + CopyValuesToBodyPart(bodyPart); + bodyPart._isDetached = true; + return bodyPart; + } + + /// + /// Copy the value of this to another body part. + /// Especially useful to keep sustained damages on a spawned body part upon detaching it. + /// + protected virtual void CopyValuesToBodyPart(BodyPart bodyPart) + { + foreach(BodyLayer layer in bodyPart.BodyLayers) + { + BodyLayer layerToWrite = BodyLayers.Where(x => x.LayerType == layer.LayerType).First(); + if (layerToWrite == null) continue; + layer.CopyLayerValues(layerToWrite); + } + } + + /// + /// The body part took so much damages that it's simply destroyed. + /// Think complete crushing, burning to dust kind of stuff. + /// All child body parts are detached, all internal body parts are destroyed. + /// + [Server] + public virtual void DestroyBodyPart() + { + DetachChildBodyParts(); + + // Destroy all internal body parts + if (_internalBodyParts != null){ + + foreach (Item item in _internalBodyParts.Items) + { + BodyPart internalBodyPart = item.GetComponentInChildren(); + internalBodyPart?.DestroyBodyPart(); + } + _internalBodyParts.Container?.Purge(); + } + + // Dispose of this body part + InvokeOnBodyPartDestroyed(); + Dispose(true); + } + + /// + /// Method to call at the end of Destroy and/or Detach. Remove parent body part, child in parent, dump or destroy content of containers + /// and deactivate this body part's game object for all observers. + /// + [Server] + protected void Dispose(bool purgeContainersContent) + { + RemoveChildAndParent(); + DumpOrPurgeContainers(purgeContainersContent); + Deactivate(); + } + + /// + /// Simply dump the content of all containers + /// + private void DumpOrPurgeContainers(bool purgeContainersContent) + { + IEnumerable containers = GetComponentsInChildren().Where(x => x.GetComponent() == null); + foreach (AttachedContainer container in containers) + { + if (purgeContainersContent) + { + container.Container?.Purge(); + } + else + { + container.Container.Dump(); + } + } + } + + /// + /// Remove the reference to this in the parent body part, and make the parent body part reference null. + /// + protected void RemoveChildAndParent() + { + _parentBodyPart?._childBodyParts.Remove(this); + _parentBodyPart = null; + } + + + + /// + /// Deactivate this game object, should run for all observers, and for late joining (hence bufferlast = true). + /// + [ObserversRpc(RunLocally = true, BufferLast = true)] + protected void Deactivate() + { + gameObject.SetActive(false); + } + + /// + /// Add a body layer if none of the same type are already present on this body part. + /// TODO : use generic to check type, actually check if only one body layer of each kind. + /// + /// The body layer was added. + public virtual bool TryAddBodyLayer(BodyLayer layer) + { + layer.BodyPart = this; + _bodyLayers.Add(layer); + return true; + } + + + /// + /// Remove a body layer from the body part. + /// TODO : check if it exists first. + /// + /// + public virtual void RemoveBodyLayer(BodyLayer layer) + { + _bodyLayers.Remove(layer); + } + + /// + /// Add a new body part as a child of this one. + /// + /// + public virtual void AddChildBodyPart(BodyPart bodyPart) + { + _childBodyParts.Add(bodyPart); + } + + /// + /// Inflic damages of a certain kind on a certain body layer type if the layer is present. + /// + /// True if the damage could be inflicted + public virtual bool TryInflictDamage(BodyLayerType type, DamageTypeQuantity damageTypeQuantity) + { + BodyLayer layer = FirstBodyLayerOfType(type); + if (!BodyLayers.Contains(layer)) return false; + layer.InflictDamage(damageTypeQuantity); + if (IsDestroyed) + { + DestroyBodyPart(); + } + else if (IsSevered && !_isDetached) + { + DetachBodyPart(); + } + + OnDamageInflicted?.Invoke(this, EventArgs.Empty); + return true; + } + + /// + /// inflict same type damages to all layers present on this body part. + /// + public void InflictDamageToAllLayer(DamageTypeQuantity damageTypeQuantity) + { + foreach (BodyLayer layer in BodyLayers) + { + TryInflictDamage(layer.LayerType, damageTypeQuantity); + } + } + + /// + /// inflict same type damages to all layers present on this body part except one. + /// + public void InflictDamageToAllLayerButOne(DamageTypeQuantity damageTypeQuantity) + { + foreach (BodyLayer layer in BodyLayers) + { + if (!(layer is T)) + TryInflictDamage(layer.LayerType, damageTypeQuantity); + } + } + + /// + /// Check if this body part contains a given layer type. + /// + public bool ContainsLayer(BodyLayerType layerType) + { + return BodyLayers.Any(x => x.LayerType == layerType); + } + + public BodyLayer FirstBodyLayerOfType(BodyLayerType layerType) + { + return BodyLayers.Where(x => x.LayerType == layerType).First(); + } + + + /// + /// GetBodyLayer of type T on this bodypart. + /// Todo : change that with TryGetBody. + /// + /// + /// + public BodyLayer GetBodyLayer() + { + foreach (BodyLayer layer in BodyLayers) + { + if (layer is T) + { + return layer; + } + } + return null; + } + + /// + /// Describe extensively the bodypart. + /// + public string Describe() + { + string description = ""; + foreach (BodyLayer layer in BodyLayers) + { + description += "Layer " + layer.GetType().ToString() + "\n"; + } + description += "Child connected body parts : \n"; + foreach (BodyPart part in _childBodyParts) + { + description += part.gameObject.name + "\n"; + } + description += "Parent body part : \n"; + description += ParentBodyPart.name; + return description; + } + + public override string ToString() + { + return Name; + } + + public override IInteraction[] CreateTargetInteractions(InteractionEvent interactionEvent) + { + return new IInteraction[] {}; + } + + /// + /// Hide a freshly cut body part on the player. + /// + protected void HideSeveredBodyPart() + { + if (_skinnedMeshRenderer == null) return; + _skinnedMeshRenderer.enabled = false; + } + + protected void InvokeOnBodyPartDetached() + { + OnBodyPartDetached?.Invoke(this, EventArgs.Empty); + } + + protected void InvokeOnBodyPartDestroyed() + { + OnBodyPartDestroyed?.Invoke(this, EventArgs.Empty); + } + + protected void InvokeOnBodyPartLayerAdded() + { + OnBodyPartLayerAdded?.Invoke(this, EventArgs.Empty); + } + + /// + /// Add the body layers in their initial states on the player. + /// + protected abstract void AddInitialLayers(); + + +} diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyParts/Bodypart.cs.meta b/Assets/Scripts/SS3D/Systems/Health/BodyParts/Bodypart.cs.meta new file mode 100644 index 0000000000..943f3a6d2a --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyParts/Bodypart.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d7ada0479916c61419e4100cdfffc545 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyParts/Brain.cs b/Assets/Scripts/SS3D/Systems/Health/BodyParts/Brain.cs new file mode 100644 index 0000000000..da9e04b686 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyParts/Brain.cs @@ -0,0 +1,29 @@ +using SS3D.Systems.Entities; + +namespace SS3D.Systems.Health +{ + /// + /// When the brain dies, the player dies. + /// + public class Brain : BodyPart + { + public float PainAmount { get; private set; } + + protected override void AddInitialLayers() + { + TryAddBodyLayer(new CirculatoryLayer(this)); + TryAddBodyLayer(new NerveLayer(this)); + TryAddBodyLayer(new OrganLayer(this)); + InvokeOnBodyPartLayerAdded(); + + } + + public override void DestroyBodyPart() + { + Human entity = GetComponentInParent(); + entity?.Kill(); + InvokeOnBodyPartDestroyed(); + Dispose(true); + } + } +} diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyParts/Brain.cs.meta b/Assets/Scripts/SS3D/Systems/Health/BodyParts/Brain.cs.meta new file mode 100644 index 0000000000..0db411b475 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyParts/Brain.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d1046a032bc197247b9aab3d1812b254 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyParts/FootBodyPart.cs b/Assets/Scripts/SS3D/Systems/Health/BodyParts/FootBodyPart.cs new file mode 100644 index 0000000000..f4fe4aa39b --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyParts/FootBodyPart.cs @@ -0,0 +1,24 @@ +namespace SS3D.Systems.Health +{ + /// + /// Feet are necessary to walk, depending on how damaged they are, the player will slow down. + /// Feet need a humanoid controller as a parent, as they will send info about their state to it, to determine how fast + /// a player can walk, as well as determining limping animation and stuff. + /// + public class FootBodyPart : BodyPart, IWalkEnabler + { + public float GetSpeedContribution() + { + return RelativeDamage; + } + + protected override void AddInitialLayers() + { + TryAddBodyLayer(new MuscleLayer(this)); + TryAddBodyLayer(new BoneLayer(this)); + TryAddBodyLayer(new CirculatoryLayer(this)); + TryAddBodyLayer(new NerveLayer(this)); + InvokeOnBodyPartLayerAdded(); + } + } +} diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyParts/FootBodyPart.cs.meta b/Assets/Scripts/SS3D/Systems/Health/BodyParts/FootBodyPart.cs.meta new file mode 100644 index 0000000000..f417751a63 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyParts/FootBodyPart.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 87fb11738474538428e7ab7a2732a1bb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyParts/HandBodyPart.cs b/Assets/Scripts/SS3D/Systems/Health/BodyParts/HandBodyPart.cs new file mode 100644 index 0000000000..8cb26f065d --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyParts/HandBodyPart.cs @@ -0,0 +1,25 @@ +using SS3D.Systems.Inventory.Containers; +using UnityEngine; + +namespace SS3D.Systems.Health +{ + public class HandBodyPart : BodyPart + { + + [SerializeField] private Hand _hand; + + public override void Init(BodyPart parent) + { + base.Init(parent); + } + + protected override void AddInitialLayers() + { + TryAddBodyLayer(new MuscleLayer(this)); + TryAddBodyLayer(new BoneLayer(this)); + TryAddBodyLayer(new CirculatoryLayer(this)); + TryAddBodyLayer(new NerveLayer(this)); + InvokeOnBodyPartLayerAdded(); + } + } +} diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyParts/HandBodyPart.cs.meta b/Assets/Scripts/SS3D/Systems/Health/BodyParts/HandBodyPart.cs.meta new file mode 100644 index 0000000000..5d536bea32 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyParts/HandBodyPart.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 83a3281d5348d93498a0d8d0e3b7751d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyParts/HeadBodyPart.cs b/Assets/Scripts/SS3D/Systems/Health/BodyParts/HeadBodyPart.cs new file mode 100644 index 0000000000..e9739a2ead --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyParts/HeadBodyPart.cs @@ -0,0 +1,68 @@ +using FishNet.Object; +using SS3D.Core; +using SS3D.Systems.Entities; +using SS3D.Systems.Inventory.Items; + +namespace SS3D.Systems.Health +{ + /// + /// Body part for a human head. + /// + public class HeadBodyPart : BodyPart + { + public Brain brain; + + public override void Init(BodyPart parent) + { + base.Init(parent); + } + + public override void OnStartServer() + { + base.OnStartServer(); + _internalBodyParts.Container.AddItem(brain.gameObject.GetComponent()); + } + + protected override void AddInitialLayers() + { + TryAddBodyLayer(new MuscleLayer(this)); + TryAddBodyLayer(new BoneLayer(this)); + TryAddBodyLayer(new CirculatoryLayer(this)); + TryAddBodyLayer(new NerveLayer(this)); + InvokeOnBodyPartLayerAdded(); + } + + protected override void DetachBodyPart() + { + if (_isDetached) return; + DetachChildBodyParts(); + HideSeveredBodyPart(); + + // When detached, spawn a head and set player's mind to be in the head, + // so that player can still play as a head (death is near though..). + BodyPart head = SpawnDetachedBodyPart(); + MindSystem mindSystem = Subsystems.Get(); + mindSystem.SwapMinds(GetComponentInParent(), head.GetComponent()); + head.GetComponent().RemoveOwnership(); + + var entitySystem = Subsystems.Get(); + entitySystem.TransferEntity(GetComponentInParent(),head.GetComponent()); + + InvokeOnBodyPartDetached(); + _isDetached = true; + // For now simply set unactive the whole body. In the future, should instead put the body in ragdoll mode + // and disable a bunch of components. + DeactivateWholeBody(); + Dispose(false); + } + + /// + /// Deactivate this game object, should run for all observers, and for late joining (hence bufferlast = true). + /// + [ObserversRpc(RunLocally = true, BufferLast = true)] + protected void DeactivateWholeBody() + { + GetComponentInParent().gameObject.SetActive(false); + } + } +} diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyParts/HeadBodyPart.cs.meta b/Assets/Scripts/SS3D/Systems/Health/BodyParts/HeadBodyPart.cs.meta new file mode 100644 index 0000000000..ac2e9abc2d --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyParts/HeadBodyPart.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: de75930610499f24788224d6b0e10d6b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyParts/HumanBodypart.cs b/Assets/Scripts/SS3D/Systems/Health/BodyParts/HumanBodypart.cs new file mode 100644 index 0000000000..c86ba9bf52 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyParts/HumanBodypart.cs @@ -0,0 +1,22 @@ +namespace SS3D.Systems.Health +{ + /// + /// Represent a generic body part for humans, without any particular mechanisms. + /// + public class HumanBodypart : BodyPart + { + public override void Init(BodyPart parent) + { + base.Init(parent); + } + + protected override void AddInitialLayers() + { + TryAddBodyLayer(new MuscleLayer(this)); + TryAddBodyLayer(new BoneLayer(this)); + TryAddBodyLayer(new CirculatoryLayer(this)); + TryAddBodyLayer(new NerveLayer(this)); + InvokeOnBodyPartLayerAdded(); + } + } +} diff --git a/Assets/Scripts/SS3D/Systems/Health/BodyParts/HumanBodypart.cs.meta b/Assets/Scripts/SS3D/Systems/Health/BodyParts/HumanBodypart.cs.meta new file mode 100644 index 0000000000..d6000e037c --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/BodyParts/HumanBodypart.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d25aaf3a871b3d1438c1a27c2c6b57c6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/DamageType.cs b/Assets/Scripts/SS3D/Systems/Health/DamageType.cs new file mode 100644 index 0000000000..2102903eaf --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/DamageType.cs @@ -0,0 +1,17 @@ +namespace SS3D.Systems.Health +{ + public enum DamageType + { + Crush, + Slash, + Puncture, + Pressure, + Heat, + Cold, + Shock, + Rad, + Toxic, + Acid, + Oxy, + } +} diff --git a/Assets/Scripts/SS3D/Systems/Health/DamageType.cs.meta b/Assets/Scripts/SS3D/Systems/Health/DamageType.cs.meta new file mode 100644 index 0000000000..36503bf87e --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/DamageType.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 78892166c160c834cba67596d240eb2e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/DamageTypeQuantity.cs b/Assets/Scripts/SS3D/Systems/Health/DamageTypeQuantity.cs new file mode 100644 index 0000000000..7b3ff5ee7a --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/DamageTypeQuantity.cs @@ -0,0 +1,21 @@ +using System; + +namespace SS3D.Systems.Health +{ + public class DamageTypeQuantity : ICloneable + { + public DamageType damageType; + public float quantity; + + public DamageTypeQuantity(DamageType damageType, float quantity) + { + this.damageType = damageType; + this.quantity = quantity; + } + + public object Clone() + { + return new DamageTypeQuantity(damageType, quantity); + } + } +} diff --git a/Assets/Scripts/SS3D/Systems/Health/DamageTypeQuantity.cs.meta b/Assets/Scripts/SS3D/Systems/Health/DamageTypeQuantity.cs.meta new file mode 100644 index 0000000000..ffce094ebb --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/DamageTypeQuantity.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d8f1579de26dd1a45a6ee4e0d5102dc3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/Events.meta b/Assets/Scripts/SS3D/Systems/Health/Events.meta new file mode 100644 index 0000000000..4a71802b73 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/Events.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dc21bd12e24c4a440961013f0e1f0830 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/Events/DamageEventArgs.cs b/Assets/Scripts/SS3D/Systems/Health/Events/DamageEventArgs.cs new file mode 100644 index 0000000000..4c97e1cd71 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/Events/DamageEventArgs.cs @@ -0,0 +1,15 @@ +using System; + +namespace SS3D.Systems.Health +{ + public class DamageEventArgs : EventArgs + { + + public DamageEventArgs(DamageTypeQuantity damageQuantity) + { + DamageTypeQuantity = damageQuantity; + } + public DamageTypeQuantity DamageTypeQuantity { get; set; } + + } +} diff --git a/Assets/Scripts/SS3D/Systems/Health/Events/DamageEventArgs.cs.meta b/Assets/Scripts/SS3D/Systems/Health/Events/DamageEventArgs.cs.meta new file mode 100644 index 0000000000..79c916b79d --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/Events/DamageEventArgs.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fbdf662eedf7deb4fb622d455f7f465c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/FeetController.cs b/Assets/Scripts/SS3D/Systems/Health/FeetController.cs new file mode 100644 index 0000000000..8b7d31f6e6 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/FeetController.cs @@ -0,0 +1,72 @@ +using FishNet.Object; +using FishNet.Object.Synchronizing; +using SS3D.Core.Behaviours; +using SS3D.Systems.Health; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +public class FeetController : NetworkActor +{ + + /// + /// List of feet used by the player + /// + List feet; + + /// + /// Number of optimal feet to move at the maximum speed. For a human, more than two feets is useless, and less makes you run slower (or not at all). + /// + private int _optimalFeetNumber = 2; + + /// + /// Factor influencing the speed of a player, based upon state of feets. Should be between 0 and 1 in value. + /// + [SyncVar] private float _feetHealthFactor; + + public float FeetHealthFactor => _feetHealthFactor; + + public override void OnStartServer() + { + base.OnStartServer(); + feet = GetComponentsInChildren().ToList(); + foreach (FootBodyPart foot in feet) + { + foot.OnDamageInflicted += HandleFootHurt; + foot.OnBodyPartDetached += HandleFootRemoved; + foot.OnBodyPartDestroyed += HandleFootRemoved; + } + _feetHealthFactor = 1; + } + + /// + /// Update feet health factor when a foot takes damages. + /// + private void HandleFootHurt(object sender, EventArgs e) + { + UpdateFeetHealthFactor(); + } + + /// + /// If a foot is destroyed or detached, remove it from the list of available feet. + /// + private void HandleFootRemoved(object sender, EventArgs e) + { + FootBodyPart foot = (FootBodyPart)sender; + if (foot != null) + { + feet.Remove(foot); + } + UpdateFeetHealthFactor(); + } + + /// + /// Simply update the feet health factor, based on the health of each available feet and their numbers. + /// + private void UpdateFeetHealthFactor() + { + _feetHealthFactor = feet.Sum(x => x.GetSpeedContribution()) / _optimalFeetNumber; + } +} diff --git a/Assets/Scripts/SS3D/Systems/Health/FeetController.cs.meta b/Assets/Scripts/SS3D/Systems/Health/FeetController.cs.meta new file mode 100644 index 0000000000..fda6f331cd --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/FeetController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8a01db53685baa84d8ca938524f2638f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/HealthStateType.cs b/Assets/Scripts/SS3D/Systems/Health/HealthStateType.cs new file mode 100644 index 0000000000..2ea54ac931 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/HealthStateType.cs @@ -0,0 +1,11 @@ +namespace SS3D.Systems.Health +{ + public enum HealthStateType + { + Minor, + Moderate, + Significant, + Critical, + Dead + } +} diff --git a/Assets/Scripts/SS3D/Systems/Health/HealthStateType.cs.meta b/Assets/Scripts/SS3D/Systems/Health/HealthStateType.cs.meta new file mode 100644 index 0000000000..a33b3b34b0 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/HealthStateType.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1252c00c0b4a46842963dbf9d1c44992 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/Interfaces.meta b/Assets/Scripts/SS3D/Systems/Health/Interfaces.meta new file mode 100644 index 0000000000..e5597dd401 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/Interfaces.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ccb81e55f4bd5824786ef407ca6a2141 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/Interfaces/IWalkEnabler.cs b/Assets/Scripts/SS3D/Systems/Health/Interfaces/IWalkEnabler.cs new file mode 100644 index 0000000000..d7158660da --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/Interfaces/IWalkEnabler.cs @@ -0,0 +1,21 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace SS3D.Systems.Health +{ + /// + /// Interface to implement for stuff that provide some ability to walk, like a foot or a wooden leg. + /// + public interface IWalkEnabler + { + /// + /// Should send a positive float, 0 meaning it doesn't help to walk at all, + /// 1 it contributes to the normal player speed, more it helps the player to walk + /// faster than usual. + /// for instance, a healthy foot should send 1, hurt, it should get close to 0, + /// a wooden leg should send a value around 0.5 probably. + /// + public abstract float GetSpeedContribution(); + } +} diff --git a/Assets/Scripts/SS3D/Systems/Health/Interfaces/IWalkEnabler.cs.meta b/Assets/Scripts/SS3D/Systems/Health/Interfaces/IWalkEnabler.cs.meta new file mode 100644 index 0000000000..e7b73edcb1 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/Interfaces/IWalkEnabler.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f146ddfe5ee9e464f87fdabf0e12fb73 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/Stamina.meta b/Assets/Scripts/SS3D/Systems/Health/Stamina.meta new file mode 100644 index 0000000000..9bf3facdf1 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Health/Stamina.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a153bcf9497c8e842bdfd8d2ad64ce04 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Health/IStamina.cs b/Assets/Scripts/SS3D/Systems/Health/Stamina/IStamina.cs similarity index 100% rename from Assets/Scripts/SS3D/Systems/Health/IStamina.cs rename to Assets/Scripts/SS3D/Systems/Health/Stamina/IStamina.cs diff --git a/Assets/Scripts/SS3D/Systems/Health/IStamina.cs.meta b/Assets/Scripts/SS3D/Systems/Health/Stamina/IStamina.cs.meta similarity index 100% rename from Assets/Scripts/SS3D/Systems/Health/IStamina.cs.meta rename to Assets/Scripts/SS3D/Systems/Health/Stamina/IStamina.cs.meta diff --git a/Assets/Scripts/SS3D/Systems/Health/Stamina.cs b/Assets/Scripts/SS3D/Systems/Health/Stamina/Stamina.cs similarity index 100% rename from Assets/Scripts/SS3D/Systems/Health/Stamina.cs rename to Assets/Scripts/SS3D/Systems/Health/Stamina/Stamina.cs diff --git a/Assets/Scripts/SS3D/Systems/Health/Stamina.cs.meta b/Assets/Scripts/SS3D/Systems/Health/Stamina/Stamina.cs.meta similarity index 100% rename from Assets/Scripts/SS3D/Systems/Health/Stamina.cs.meta rename to Assets/Scripts/SS3D/Systems/Health/Stamina/Stamina.cs.meta diff --git a/Assets/Scripts/SS3D/Systems/Health/StaminaBarView.cs b/Assets/Scripts/SS3D/Systems/Health/Stamina/StaminaBarView.cs similarity index 100% rename from Assets/Scripts/SS3D/Systems/Health/StaminaBarView.cs rename to Assets/Scripts/SS3D/Systems/Health/Stamina/StaminaBarView.cs diff --git a/Assets/Scripts/SS3D/Systems/Health/StaminaBarView.cs.meta b/Assets/Scripts/SS3D/Systems/Health/Stamina/StaminaBarView.cs.meta similarity index 100% rename from Assets/Scripts/SS3D/Systems/Health/StaminaBarView.cs.meta rename to Assets/Scripts/SS3D/Systems/Health/Stamina/StaminaBarView.cs.meta diff --git a/Assets/Scripts/SS3D/Systems/Health/StaminaController.cs b/Assets/Scripts/SS3D/Systems/Health/Stamina/StaminaController.cs similarity index 100% rename from Assets/Scripts/SS3D/Systems/Health/StaminaController.cs rename to Assets/Scripts/SS3D/Systems/Health/Stamina/StaminaController.cs diff --git a/Assets/Scripts/SS3D/Systems/Health/StaminaController.cs.meta b/Assets/Scripts/SS3D/Systems/Health/Stamina/StaminaController.cs.meta similarity index 100% rename from Assets/Scripts/SS3D/Systems/Health/StaminaController.cs.meta rename to Assets/Scripts/SS3D/Systems/Health/Stamina/StaminaController.cs.meta diff --git a/Assets/Scripts/SS3D/Systems/Health/StaminaFactory.cs b/Assets/Scripts/SS3D/Systems/Health/Stamina/StaminaFactory.cs similarity index 100% rename from Assets/Scripts/SS3D/Systems/Health/StaminaFactory.cs rename to Assets/Scripts/SS3D/Systems/Health/Stamina/StaminaFactory.cs diff --git a/Assets/Scripts/SS3D/Systems/Health/StaminaFactory.cs.meta b/Assets/Scripts/SS3D/Systems/Health/Stamina/StaminaFactory.cs.meta similarity index 100% rename from Assets/Scripts/SS3D/Systems/Health/StaminaFactory.cs.meta rename to Assets/Scripts/SS3D/Systems/Health/Stamina/StaminaFactory.cs.meta diff --git a/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/AddHandCommand.cs b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/AddHandCommand.cs index 39806fccaa..95f6f9c888 100644 --- a/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/AddHandCommand.cs +++ b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/AddHandCommand.cs @@ -12,80 +12,80 @@ namespace SS3D.Systems.IngameConsoleSystem.Commands { - /// - /// Command to add a hand to an entity. - /// This is mostly used for testing purpose, to check if hands can correctly be added to an entity and if they behave - /// as expected. - /// - public class AddHandCommand : Command - { - public override string LongDescription => "add (ckey) [(position) (rotation)]\n Position and rotation are float arrays and written as x y z"; - public override string ShortDescription => "add hand to user"; - public override ServerRoleTypes AccessLevel => ServerRoleTypes.Administrator; + /// + /// Command to add a hand to an entity. + /// This is mostly used for testing purpose, to check if hands can correctly be added to an entity and if they behave + /// as expected. + /// + public class AddHandCommand : Command + { + public override string LongDescription => "add (ckey) [(position) (rotation)]\n Position and rotation are float arrays and written as x y z"; + public override string ShortDescription => "add hand to user"; + public override ServerRoleTypes AccessLevel => ServerRoleTypes.Administrator; - public override CommandType Type => CommandType.Server; - public override string Perform(string[] args, NetworkConnection conn) - { - CheckArgsResponse checkArgsResponse = CheckArgs(args); - if (checkArgsResponse.IsValid == false) - return checkArgsResponse.InvalidArgs; + public override CommandType Type => CommandType.Server; + public override string Perform(string[] args, NetworkConnection conn) + { + CheckArgsResponse checkArgsResponse = CheckArgs(args); + if (checkArgsResponse.IsValid == false) + return checkArgsResponse.InvalidArgs; - string ckey = args[0]; + string ckey = args[0]; - // default transform for hand. - Vector3 position = new Vector3(0.5f, 0.7f, 0); - Vector3 rotation = new Vector3(-50, -270, 90); + // default transform for hand. + Vector3 position = new Vector3(0.5f, 0.7f, 0); + Vector3 rotation = new Vector3(-50, -270, 90); - if (args.Length > 1) - { - position = new Vector3(float.Parse(args[1]), float.Parse(args[2]), float.Parse(args[3])); - rotation = new Vector3(float.Parse(args[4]), float.Parse(args[5]), float.Parse(args[6])); - } + if (args.Length > 1) + { + position = new Vector3(float.Parse(args[1]), float.Parse(args[2]), float.Parse(args[3])); + rotation = new Vector3(float.Parse(args[4]), float.Parse(args[5]), float.Parse(args[6])); + } - Player Player = Subsystems.Get().GetPlayer(ckey); - Entity entity = Subsystems.Get().GetSpawnedEntity(Player); + Player Player = Subsystems.Get().GetPlayer(ckey); + Entity entity = Subsystems.Get().GetSpawnedEntity(Player); - GameObject leftHandPrefab = Assets.Get((int)AssetDatabases.BodyParts, (int)BodyPartsIds.HumanHandLeft); - GameObject leftHandObject = GameObject.Instantiate(leftHandPrefab, entity.transform); - leftHandObject.transform.localPosition = position; - leftHandObject.transform.localEulerAngles = rotation; + GameObject leftHandPrefab = Assets.Get((int)AssetDatabases.BodyParts, (int)BodyPartsIds.HumanHandLeft); + GameObject leftHandObject = GameObject.Instantiate(leftHandPrefab, entity.transform); + leftHandObject.transform.localPosition = position; + leftHandObject.transform.localEulerAngles = rotation; - Hand leftHand = leftHandObject.GetComponent(); - InstanceFinder.ServerManager.Spawn(leftHandObject, Player.Owner); + Hand leftHand = leftHandObject.GetComponent(); + InstanceFinder.ServerManager.Spawn(leftHandObject, Player.Owner); - Hands hands = entity.GetComponent(); - HumanInventory inventory = entity.GetComponent(); - inventory.TryAddContainer(leftHandObject.GetComponent()); - hands.AddHand(leftHand); + Hands hands = entity.GetComponent(); + HumanInventory inventory = entity.GetComponent(); + inventory.TryAddContainer(leftHandObject.GetComponent()); + hands.AddHand(leftHand); - return "hand added"; - } - protected override CheckArgsResponse CheckArgs(string[] args) - { - CheckArgsResponse response = new CheckArgsResponse(); - if (args.Length != 1 && args.Length != 7) - { - response.IsValid = false; - response.InvalidArgs = "Invalid number of arguments"; - return response; - } - string ckey = args[0]; - Player player = Subsystems.Get().GetPlayer(ckey); - if (player == null) - { - response.IsValid = false; - response.InvalidArgs = "This player doesn't exist"; - return response; - } - Entity entityToKill = Subsystems.Get().GetSpawnedEntity(player); - if (entityToKill == null) - { - response.IsValid = false; - response.InvalidArgs = "This entity doesn't exist"; - return response; - } - response.IsValid = true; - return response; - } - } + return "hand added"; + } + protected override CheckArgsResponse CheckArgs(string[] args) + { + CheckArgsResponse response = new CheckArgsResponse(); + if (args.Length != 1 && args.Length != 7) + { + response.IsValid = false; + response.InvalidArgs = "Invalid number of arguments"; + return response; + } + string ckey = args[0]; + Player player = Subsystems.Get().GetPlayer(ckey); + if (player == null) + { + response.IsValid = false; + response.InvalidArgs = "This player doesn't exist"; + return response; + } + Entity entityToKill = Subsystems.Get().GetSpawnedEntity(player); + if (entityToKill == null) + { + response.IsValid = false; + response.InvalidArgs = "This entity doesn't exist"; + return response; + } + response.IsValid = true; + return response; + } + } } diff --git a/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/DestroyBodyPartCommand.cs b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/DestroyBodyPartCommand.cs new file mode 100644 index 0000000000..3c00bb6bb2 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/DestroyBodyPartCommand.cs @@ -0,0 +1,88 @@ +using FishNet.Connection; +using FishNet.Object; +using SS3D.Core; +using SS3D.Systems.Entities; +using SS3D.Systems.Permissions; +using SS3D.Systems.PlayerControl; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEditor; +using UnityEngine; +using static UnityEngine.EventSystems.EventTrigger; + +namespace SS3D.Systems.IngameConsoleSystem.Commands +{ + public class DestroyBodyPartCommand : Command + { + public override string LongDescription => "Destroy a given body part, unattached from a player. \n " + + "Usage : destroybodypart [game object name]"; + public override string ShortDescription => "Hit me daddy"; + public override ServerRoleTypes AccessLevel => ServerRoleTypes.Administrator; + public override CommandType Type => CommandType.Server; + + + [Server] + public override string Perform(string[] args, NetworkConnection conn = null) + { + CheckArgsResponse checkArgsResponse = CheckArgs(args); + if (checkArgsResponse.IsValid == false) + return checkArgsResponse.InvalidArgs; + + string gameObjectName = args[0]; + + GameObject go = GameObject.Find(gameObjectName); + IEnumerable bodyParts = go.GetComponentsInChildren().Where(x => x.gameObject.name == gameObjectName); + BodyPart bodyPart = bodyParts.First(); + + bodyPart.DestroyBodyPart(); + return "BodyPart hurt"; + } + + [Server] + protected override CheckArgsResponse CheckArgs(string[] args) + { + + CheckArgsResponse response = new CheckArgsResponse(); + + if (args.Length != 1) + { + response.IsValid = false; + response.InvalidArgs = "Invalid number of arguments"; + return response; + } + + string gameObjectName = args[0]; + + GameObject go = GameObject.Find(gameObjectName); + if (go == null) + { + response.IsValid = false; + response.InvalidArgs = "No bodypart with this name"; + return response; + } + + IEnumerable bodyParts = go.GetComponentsInChildren().Where(x => x.gameObject.name == gameObjectName); + + if (bodyParts.Count() == 0) + { + response.IsValid = false; + response.InvalidArgs = "No bodypart with this name"; + return response; + } + + if (bodyParts.Count() != 1) + { + response.IsValid = false; + response.InvalidArgs = "Multiple body parts with the same name, ambiguous command"; + return response; + } + + response.IsValid = true; + return response; + } + } +} + + diff --git a/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/DestroyBodyPartCommand.cs.meta b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/DestroyBodyPartCommand.cs.meta new file mode 100644 index 0000000000..49c7a9318f --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/DestroyBodyPartCommand.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 15de7e729374df54187e3085072338e6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ExamineBodyPartCommand.cs b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ExamineBodyPartCommand.cs new file mode 100644 index 0000000000..b5d726dfae --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ExamineBodyPartCommand.cs @@ -0,0 +1,91 @@ +using FishNet.Connection; +using FishNet.Object; +using SS3D.Systems.Permissions; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; +using SS3D.Systems.Health; + +namespace SS3D.Systems.IngameConsoleSystem.Commands +{ + public class ExamineBodyPartCommand : Command + { + public override string LongDescription => "Examine a detached body part, returning how damaged it is \n " + + "Usage : examinebodypart [game object name]"; + public override string ShortDescription => "Examine a detached body part"; + public override ServerRoleTypes AccessLevel => ServerRoleTypes.Administrator; + public override CommandType Type => CommandType.Server; + + + [Server] + public override string Perform(string[] args, NetworkConnection conn = null) + { + CheckArgsResponse checkArgsResponse = CheckArgs(args); + if (checkArgsResponse.IsValid == false) + return checkArgsResponse.InvalidArgs; + + string gameObjectName = args[0]; + + GameObject go = GameObject.Find(gameObjectName); + IEnumerable bodyParts = go.GetComponentsInChildren().Where(x => x.gameObject.name == gameObjectName); + BodyPart bodyPart = bodyParts.First(); + + string answer = ""; + + foreach(BodyLayer layer in bodyPart.BodyLayers) + { + answer += layer.ToString() + ": "; + foreach (DamageTypeQuantity damageTypeQuantity in layer.DamageTypeQuantities) + { + answer += damageTypeQuantity.damageType.ToString() + " " + damageTypeQuantity.quantity.ToString(); + } + answer += "\n"; + } + return answer; + } + + [Server] + protected override CheckArgsResponse CheckArgs(string[] args) + { + + CheckArgsResponse response = new CheckArgsResponse(); + + if (args.Length != 1) + { + response.IsValid = false; + response.InvalidArgs = "Invalid number of arguments"; + return response; + } + + string gameObjectName = args[0]; + + GameObject go = GameObject.Find(gameObjectName); + if (go == null) + { + response.IsValid = false; + response.InvalidArgs = "No bodypart with this name"; + return response; + } + + IEnumerable bodyParts = go.GetComponentsInChildren().Where(x => x.gameObject.name == gameObjectName); + + if (bodyParts.Count() == 0) + { + response.IsValid = false; + response.InvalidArgs = "No bodypart with this name"; + return response; + } + + if (bodyParts.Count() != 1) + { + response.IsValid = false; + response.InvalidArgs = "Multiple body parts with the same name, ambiguous command"; + return response; + } + + response.IsValid = true; + return response; + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ExamineBodyPartCommand.cs.meta b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ExamineBodyPartCommand.cs.meta new file mode 100644 index 0000000000..24c0fd5c8c --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ExamineBodyPartCommand.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ed8ac13ce3e93eb48b11302f26b610d1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/HitBodyPartCommand.cs b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/HitBodyPartCommand.cs new file mode 100644 index 0000000000..52eabf5ad7 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/HitBodyPartCommand.cs @@ -0,0 +1,148 @@ +using FishNet.Connection; +using FishNet.Object; +using SS3D.Systems.Health; +using SS3D.Systems.Permissions; +using System; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +namespace SS3D.Systems.IngameConsoleSystem.Commands +{ + public class HitBodyPartCommand : Command + { + public override string LongDescription => "Hurt a given body part and body layer unattached to a player by a given amount of damages from a given type. \n" + + "Usage : hitbodypart [game object name] [body layer name] [damage type name] [amount of damage]"; + public override string ShortDescription => "Hit me daddy"; + public override ServerRoleTypes AccessLevel => ServerRoleTypes.Administrator; + public override CommandType Type => CommandType.Server; + + + [Server] + public override string Perform(string[] args, NetworkConnection conn = null) + { + CheckArgsResponse checkArgsResponse = CheckArgs(args); + if (checkArgsResponse.IsValid == false) + return checkArgsResponse.InvalidArgs; + + string gameObjectName = args[0]; + string bodyLayerName = args[1]; + string damageTypeName = args[2]; + string damageAmountString = args[3]; + + int damageAmount = 0; + BodyLayerType bodyLayerType; + DamageType damageType; + + GameObject go = GameObject.Find(gameObjectName); + IEnumerable bodyParts = go.GetComponentsInChildren().Where(x => x.gameObject.name == gameObjectName); + BodyPart bodyPart = bodyParts.First(); + + Enum.TryParse(damageTypeName, true, out damageType); + damageAmount = int.Parse(damageAmountString); + + if (bodyLayerName != "all") + { + Enum.TryParse(bodyLayerName, true, out bodyLayerType); + BodyLayer bodyLayer = bodyPart.FirstBodyLayerOfType(bodyLayerType); + + if (!bodyPart.TryInflictDamage(bodyLayerType, new DamageTypeQuantity(damageType, damageAmount))) + { + checkArgsResponse.IsValid = false; + return checkArgsResponse.InvalidArgs = "can't inflict damage on bodypart"; + } + } + else if(bodyLayerName == "all") + { + bodyPart.InflictDamageToAllLayer(new DamageTypeQuantity(damageType, damageAmount)); + } + + return "BodyPart hurt"; + } + + [Server] + protected override CheckArgsResponse CheckArgs(string[] args) + { + + CheckArgsResponse response = new CheckArgsResponse(); + + if (args.Length != 4) + { + response.IsValid = false; + response.InvalidArgs = "Invalid number of arguments"; + return response; + } + + string gameObjectName = args[0]; + string bodyLayerName = args[1]; + string damageTypeName = args[2]; + string damageAmountString = args[3]; + int damageAmount = 0; + BodyLayerType bodyLayerType; + DamageType damageType; + + try + { + damageAmount = int.Parse(damageAmountString); + } + catch (Exception) + { + response.IsValid = false; + response.InvalidArgs = "Something went wrong with the damage amount conversion to integer, provide a valid number"; + return response; + } + + + if (!Enum.TryParse(bodyLayerName, true, out bodyLayerType) && bodyLayerName != "all") + { + response.IsValid = false; + response.InvalidArgs = "Provide a valid body layer type name"; + return response; + } + + if (!Enum.TryParse(damageTypeName, true, out damageType)) + { + response.IsValid = false; + response.InvalidArgs = "Provide a valid damage type name"; + return response; + } + + GameObject go = GameObject.Find(gameObjectName); + if(go == null) + { + response.IsValid = false; + response.InvalidArgs = "No bodypart with this name"; + return response; + } + + IEnumerable bodyParts = go.GetComponentsInChildren().Where(x => x.gameObject.name == gameObjectName); + + if (bodyParts.Count() == 0) + { + response.IsValid = false; + response.InvalidArgs = "No bodypart with this name"; + return response; + } + + if (bodyParts.Count() != 1) + { + response.IsValid = false; + response.InvalidArgs = "Multiple body parts with the same name, ambiguous command"; + return response; + } + + BodyPart bodyPart = bodyParts.First(); + + if (!bodyPart.ContainsLayer(bodyLayerType)) + { + response.IsValid = false; + response.InvalidArgs = "body layer not present on the bodypart"; + return response; + } + + response.IsValid = true; + return response; + } + } +} + diff --git a/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/HitBodyPartCommand.cs.meta b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/HitBodyPartCommand.cs.meta new file mode 100644 index 0000000000..173a05eabb --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/HitBodyPartCommand.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 52f651d10a9290d4da024f21169c1831 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/HurtCommand.cs b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/HurtCommand.cs new file mode 100644 index 0000000000..1c17d320fa --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/HurtCommand.cs @@ -0,0 +1,158 @@ +using FishNet.Connection; +using FishNet.Object; +using SS3D.Core; +using SS3D.Systems.Entities; +using SS3D.Systems.Permissions; +using SS3D.Systems.PlayerControl; +using System; +using System.Collections.Generic; +using System.Linq; +using SS3D.Systems.Health; + +namespace SS3D.Systems.IngameConsoleSystem.Commands +{ + public class HurtCommand : Command + { + public override string LongDescription => "Hurt a given body part and body layer of a player by a given amount of damages from a given type"; + public override string ShortDescription => "Hurt me daddy"; + public override ServerRoleTypes AccessLevel => ServerRoleTypes.Administrator; + public override CommandType Type => CommandType.Server; + + + [Server] + public override string Perform(string[] args, NetworkConnection conn = null) + { + CheckArgsResponse checkArgsResponse = CheckArgs(args); + if (checkArgsResponse.IsValid == false) + return checkArgsResponse.InvalidArgs; + + string ckey = args[0]; + string bodyPartName = args[1]; + string bodyLayerName = args[2]; + string damageTypeName = args[3]; + string damageAmountString = args[4]; + + int damageAmount = 0; + BodyLayerType bodyLayerType; + DamageType damageType; + + Player player= Subsystems.Get().GetPlayer(ckey); + Entity entity = Subsystems.Get().GetSpawnedEntity(player); + + IEnumerable bodyParts = entity.GetComponentsInChildren().Where(x => x.gameObject.name == bodyPartName); + BodyPart bodyPart = bodyParts.First(); + + Enum.TryParse(bodyLayerName, true, out bodyLayerType); + Enum.TryParse(damageTypeName, true, out damageType); + damageAmount = int.Parse(damageAmountString); + + BodyLayer bodyLayer = bodyPart.FirstBodyLayerOfType(bodyLayerType); + + + if (bodyLayerName == "all") + { + bodyPart.InflictDamageToAllLayer(new DamageTypeQuantity(damageType, damageAmount)); + } + else if (!bodyPart.TryInflictDamage(bodyLayerType, new DamageTypeQuantity(damageType, damageAmount))) + { + checkArgsResponse.IsValid= false; + return checkArgsResponse.InvalidArgs = "can't inflict damage on bodypart"; + } + return "Player hurt"; + } + + [Server] + protected override CheckArgsResponse CheckArgs(string[] args) + { + + CheckArgsResponse response = new CheckArgsResponse(); + + if (args.Length != 5) + { + response.IsValid = false; + response.InvalidArgs = "Invalid number of arguments"; + return response; + } + + string ckey = args[0]; + string bodyPartName = args[1]; + string bodyLayerName = args[2]; + string damageTypeName = args[3]; + string damageAmountString = args[4]; + int damageAmount = 0; + BodyLayerType bodyLayerType; + DamageType damageType; + + try + { + damageAmount = int.Parse(damageAmountString); + } + catch (Exception) + { + response.IsValid = false; + response.InvalidArgs = "Something went wrong with the damage amount conversion to integer, provide a valid number"; + return response; + } + + + if (!Enum.TryParse(bodyLayerName, true, out bodyLayerType) && bodyLayerName != "all") + { + response.IsValid = false; + response.InvalidArgs = "Provide a valid body layer type name"; + return response; + } + + if (!Enum.TryParse(damageTypeName, true, out damageType)) + { + response.IsValid = false; + response.InvalidArgs = "Provide a valid damage type name"; + return response; + } + + + Player player = Subsystems.Get().GetPlayer(ckey); + if (player == null) + { + response.IsValid = false; + response.InvalidArgs = "This player doesn't exist"; + return response; + } + + Entity entity = Subsystems.Get().GetSpawnedEntity(player); + if (entity == null) + { + response.IsValid = false; + response.InvalidArgs = "This entity doesn't exist"; + return response; + } + + IEnumerable bodyParts = entity.GetComponentsInChildren().Where(x => x.gameObject.name == bodyPartName); + + if (bodyParts.Count() == 0) + { + response.IsValid = false; + response.InvalidArgs = "No bodypart with this name"; + return response; + } + + if (bodyParts.Count() != 1) + { + response.IsValid = false; + response.InvalidArgs = "Multiple body parts with the same name, ambiguous command"; + return response; + } + + BodyPart bodyPart = bodyParts.First(); + + if (bodyLayerName != "all" && !bodyPart.ContainsLayer(bodyLayerType)) + { + response.IsValid = false; + response.InvalidArgs = "body layer not present on the bodypart"; + return response; + } + + response.IsValid = true; + return response; + } + } +} diff --git a/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/HurtCommand.cs.meta b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/HurtCommand.cs.meta new file mode 100644 index 0000000000..bded24d87c --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/HurtCommand.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9131b4c2979642a4e946dd0df69457cc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ItemCommands/AddTraitCommand.cs b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ItemCommands/AddTraitCommand.cs index c9093d9ecf..565e727bc7 100644 --- a/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ItemCommands/AddTraitCommand.cs +++ b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ItemCommands/AddTraitCommand.cs @@ -14,10 +14,10 @@ public class AddTraitCommand : Command public override string LongDescription => "Adds a trait to the item in hand"; public override string ShortDescription => "item.addtrait"; public override ServerRoleTypes AccessLevel => ServerRoleTypes.Administrator; - public override CommandType Type => CommandType.Server; + public override CommandType Type => CommandType.Server; - [Server] + [Server] public override string Perform(string[] args, NetworkConnection conn = null) { CheckArgsResponse checkArgsResponse = CheckArgs(args); diff --git a/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ItemCommands/DescribeItemCommand.cs b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ItemCommands/DescribeItemCommand.cs index 658447f48f..893bb3aa89 100644 --- a/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ItemCommands/DescribeItemCommand.cs +++ b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ItemCommands/DescribeItemCommand.cs @@ -12,7 +12,7 @@ public class DescribeItemCommand : Command public override string LongDescription => "Describes the item in hand"; public override string ShortDescription => "item.describe"; public override ServerRoleTypes AccessLevel => ServerRoleTypes.Administrator; - public override CommandType Type => CommandType.Server; + public override CommandType Type => CommandType.Server; public override string Perform(string[] args, NetworkConnection conn = null) { diff --git a/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ItemCommands/GetTraitsCommand.cs b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ItemCommands/GetTraitsCommand.cs index b02fa1c731..f9d373e1ef 100644 --- a/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ItemCommands/GetTraitsCommand.cs +++ b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ItemCommands/GetTraitsCommand.cs @@ -12,10 +12,10 @@ public class GetTraitCommand : Command public override string LongDescription => "Get all traits from item in hand"; public override string ShortDescription => "item.traits"; public override ServerRoleTypes AccessLevel => ServerRoleTypes.Administrator; - public override CommandType Type => CommandType.Server; + public override CommandType Type => CommandType.Server; - public override string Perform(string[] args, NetworkConnection conn = null) + public override string Perform(string[] args, NetworkConnection conn = null) { CheckArgsResponse checkArgsResponse = CheckArgs(args); if (checkArgsResponse.IsValid == false) diff --git a/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/PlayerListCommand.cs b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/PlayerListCommand.cs index efd4de372b..0aa92ba0d6 100644 --- a/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/PlayerListCommand.cs +++ b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/PlayerListCommand.cs @@ -14,10 +14,10 @@ public class PlayerListCommand : Command public override string ShortDescription => "Show all players online"; public override ServerRoleTypes AccessLevel => ServerRoleTypes.User; - public override CommandType Type => CommandType.Client; + public override CommandType Type => CommandType.Client; - public override string Perform(string[] args, NetworkConnection conn = null) + public override string Perform(string[] args, NetworkConnection conn = null) { CheckArgsResponse checkArgsResponse = CheckArgs(args); if (checkArgsResponse.IsValid == false) diff --git a/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ReconnectCommand.cs b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ReconnectCommand.cs index eb690d98f2..d8bc535278 100644 --- a/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ReconnectCommand.cs +++ b/Assets/Scripts/SS3D/Systems/IngameConsoleSystem/Commands/ReconnectCommand.cs @@ -10,9 +10,9 @@ public class ReconnectCommand: Command public override string LongDescription => "Restart app"; public override string ShortDescription => "Restart app"; public override ServerRoleTypes AccessLevel => ServerRoleTypes.User; - public override CommandType Type => CommandType.Offline; + public override CommandType Type => CommandType.Offline; - public override string Perform(string[] args, NetworkConnection conn = null) + public override string Perform(string[] args, NetworkConnection conn = null) { CheckArgsResponse checkArgsResponse = CheckArgs(args); if (checkArgsResponse.IsValid == false) diff --git a/Assets/Scripts/SS3D/Systems/Interactions/InteractionController.cs b/Assets/Scripts/SS3D/Systems/Interactions/InteractionController.cs index abc265fd79..813beab983 100644 --- a/Assets/Scripts/SS3D/Systems/Interactions/InteractionController.cs +++ b/Assets/Scripts/SS3D/Systems/Interactions/InteractionController.cs @@ -361,7 +361,7 @@ private List GetInteractionsFromTargets(IInteractionSource sou [ServerOrClient] private IInteractionSource GetActiveInteractionSource() { - IHandsController handsController = GetComponent(); + IHandsController handsController = GetComponent(); var interactionSource = handsController.GetActiveInteractionSource(); return interactionSource; diff --git a/Assets/Scripts/SS3D/Systems/Inventory/Containers/AttachedContainer.cs b/Assets/Scripts/SS3D/Systems/Inventory/Containers/AttachedContainer.cs index ce76ea5ac2..fc77addbd9 100644 --- a/Assets/Scripts/SS3D/Systems/Inventory/Containers/AttachedContainer.cs +++ b/Assets/Scripts/SS3D/Systems/Inventory/Containers/AttachedContainer.cs @@ -146,14 +146,14 @@ public class AttachedContainer : NetworkActor public event EventHandler OnItemAttached; public event EventHandler OnItemDetached; - public delegate void AttachedContainerHandler(AttachedContainer attachedContainer); + public delegate void AttachedContainerHandler(AttachedContainer attachedContainer); - public event AttachedContainerHandler OnAttachedContainerDisabled; + public event AttachedContainerHandler OnAttachedContainerDisabled; - /// - /// The items stored in this container, including information on how they are stored - /// - [SyncObject] + /// + /// The items stored in this container, including information on how they are stored + /// + [SyncObject] private readonly SyncList _storedItems = new(); /// @@ -163,11 +163,11 @@ public class AttachedContainer : NetworkActor public SyncList StoredItems => _storedItems; - /// - /// The container that is attached - /// Only set this right after creation, as event listener will not update - /// - public Container Container + /// + /// The container that is attached + /// Only set this right after creation, as event listener will not update + /// + public Container Container { get => _container; set => UpdateContainer(value); @@ -180,39 +180,45 @@ protected override void OnAwake() _storedItems.OnChange += HandleStoredItemsChanged; _container.OnContentsChanged += HandleContainerContentsChanged; - if (IsServer) - { - UpdateContainer(_container); - } + if (IsServer) + { + UpdateContainer(_container); + } } - protected override void OnDisabled() - { - // Mostly used to allow inventory to update accessible containers. - base.OnDisabled(); - if (!IsServer) - { - return; - } - OnAttachedContainerDisabled?.Invoke(this); - } - - protected override void OnEnabled() - { - // Mostly used to allow inventory to update accessible containers. - base.OnEnabled(); - if (!IsServer) - { - return; - } - var inventory = GetComponentInParent(); - if (inventory != null) - { - inventory.TryAddContainer(this); - } - } - - protected override void OnDestroyed() + protected override void OnDisabled() + { + // Mostly used to allow inventory to update accessible containers. + base.OnDisabled(); + if (!IsServer) + { + return; + } + OnAttachedContainerDisabled?.Invoke(this); + } + + protected override void OnEnabled() + { + // Mostly used to allow inventory to update accessible containers. + base.OnEnabled(); + if (!IsServer) + { + return; + } + var inventory = GetComponentInParent(); + if (inventory != null) + { + inventory.TryAddContainer(this); + } + } + + [Server] + public void InvokeContainerDisabled() + { + OnAttachedContainerDisabled?.Invoke(this); + } + + protected override void OnDestroyed() { base.OnDestroyed(); Container?.Purge(); @@ -233,11 +239,11 @@ public void ProcessItemDetached(Item e) OnItemDetached?.Invoke(this, e); } - /// - /// Replace the current container with a new one and set it up. - /// - /// - [Server] + /// + /// Replace the current container with a new one and set it up. + /// + /// + [Server] private void UpdateContainer(Container newContainer) { if (_container != null) diff --git a/Assets/Scripts/SS3D/Systems/Inventory/Containers/Cloth.cs b/Assets/Scripts/SS3D/Systems/Inventory/Containers/Cloth.cs index 8f0308d792..60c2058b0b 100644 --- a/Assets/Scripts/SS3D/Systems/Inventory/Containers/Cloth.cs +++ b/Assets/Scripts/SS3D/Systems/Inventory/Containers/Cloth.cs @@ -5,15 +5,15 @@ namespace SS3D.Systems.Inventory.Containers { - /// - /// Script to put on cloth, which are gameobjects going to the clothes slots. - /// In the future, should be the folded models, and could contain a reference to the worn mesh version (and maybe torn mesh version, stuff like that...) - /// - public class Cloth : MonoBehaviour - { - [SerializeField] - private ClothType clothType; + /// + /// Script to put on cloth, which are gameobjects going to the clothes slots. + /// In the future, should be the folded models, and could contain a reference to the worn mesh version (and maybe torn mesh version, stuff like that...) + /// + public class Cloth : MonoBehaviour + { + [SerializeField] + private ClothType clothType; - public ClothType Type => clothType; - } + public ClothType Type => clothType; + } } diff --git a/Assets/Scripts/SS3D/Systems/Inventory/Containers/ClothContainer.cs b/Assets/Scripts/SS3D/Systems/Inventory/Containers/ClothContainer.cs new file mode 100644 index 0000000000..9373ef7125 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Inventory/Containers/ClothContainer.cs @@ -0,0 +1,14 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace SS3D.Systems.Inventory.Containers +{ + /// + /// Simple class to mark that a container should be treated as the kind that can contain clothes only. + /// + public class ClothContainer : MonoBehaviour + { + + } +} diff --git a/Assets/Scripts/SS3D/Systems/Inventory/Containers/ClothContainer.cs.meta b/Assets/Scripts/SS3D/Systems/Inventory/Containers/ClothContainer.cs.meta new file mode 100644 index 0000000000..e5b382dcc2 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Inventory/Containers/ClothContainer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a19f823e20acab740ba5150747863eb9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Inventory/Containers/ClothType.cs b/Assets/Scripts/SS3D/Systems/Inventory/Containers/ClothType.cs index c67ccf0ae3..c08d066463 100644 --- a/Assets/Scripts/SS3D/Systems/Inventory/Containers/ClothType.cs +++ b/Assets/Scripts/SS3D/Systems/Inventory/Containers/ClothType.cs @@ -1,21 +1,21 @@ namespace SS3D.Systems.Inventory.Containers { - /// - /// List of different types of clothes, mostly useful to decide what can go where. - /// - public enum ClothType - { - ShoeLeft, - ShoeRight, - Glasses, - Mask, - Head, - Jumpsuit, - ExoSuit, - GloveLeft, - GloveRight, - EarLeft, - EarRight, - Backpack, - } + /// + /// List of different types of clothes, mostly useful to decide what can go where. + /// + public enum ClothType + { + ShoeLeft, + ShoeRight, + Glasses, + Mask, + Head, + Jumpsuit, + ExoSuit, + GloveLeft, + GloveRight, + EarLeft, + EarRight, + Backpack, + } } diff --git a/Assets/Scripts/SS3D/Systems/Inventory/Containers/ClothedBodyPart.cs b/Assets/Scripts/SS3D/Systems/Inventory/Containers/ClothedBodyPart.cs index 8760ae0b25..db3292c1c0 100644 --- a/Assets/Scripts/SS3D/Systems/Inventory/Containers/ClothedBodyPart.cs +++ b/Assets/Scripts/SS3D/Systems/Inventory/Containers/ClothedBodyPart.cs @@ -4,15 +4,15 @@ namespace SS3D.Systems.Inventory.Containers { - /// - /// Used on bodypart of entities to indicate which type of clothes can be worn on them. - /// - public class ClothedBodyPart : MonoBehaviour - { - [SerializeField] - private ClothType clothType; + /// + /// Used on bodypart of entities to indicate which type of clothes can be worn on them. + /// + public class ClothedBodyPart : MonoBehaviour + { + [SerializeField] + private ClothType clothType; - public ClothType Type => clothType; - } + public ClothType Type => clothType; + } } \ No newline at end of file diff --git a/Assets/Scripts/SS3D/Systems/Inventory/Containers/ClothesDisplayer.cs b/Assets/Scripts/SS3D/Systems/Inventory/Containers/ClothesDisplayer.cs index 0c25c453cc..97b06e9ada 100644 --- a/Assets/Scripts/SS3D/Systems/Inventory/Containers/ClothesDisplayer.cs +++ b/Assets/Scripts/SS3D/Systems/Inventory/Containers/ClothesDisplayer.cs @@ -32,71 +32,71 @@ public ClothDisplayData(NetworkObject bodyPart, Item clothToDisplay) public Item _clothToDisplay; } - /// - /// The inventory containing the player's clothing slots. - /// + /// + /// The inventory containing the player's clothing slots. + /// public HumanInventory _inventory; - /// - /// Synced list of body part associated to the clothes on them. - /// - [SyncObject] - private readonly SyncList _clothedBodyParts = new SyncList(); + /// + /// Synced list of body part associated to the clothes on them. + /// + [SyncObject] + private readonly SyncList _clothedBodyParts = new SyncList(); public override void OnStartServer() { base.OnStartServer(); - _inventory.OnContainerContentChanged += HandleContainerContentChanged; - } + _inventory.OnContainerContentChanged += HandleContainerContentChanged; + } public override void OnStartClient() { base.OnStartClient(); - _clothedBodyParts.OnChange += ClothedBodyPartsOnChange; - } - - /// - /// Callback when the syncedList _clothedBodyParts changes. Update the displayed clothes on the player. - /// - private void ClothedBodyPartsOnChange(SyncListOperation op, int index, - ClothDisplayData oldData, ClothDisplayData newData, bool asServer) - { - - if(asServer) return; - - switch (op) - { - // Show the new cloth on the player - case SyncListOperation.Add: - NetworkObject newBodyPart = newData._bodyPart; - Item newItem = newData._clothToDisplay; - if (!newBodyPart.TryGetComponent(out SkinnedMeshRenderer renderer)) - { - Punpun.Warning(this, $"no skinned mesh renderer on game object {newBodyPart}, can't display cloth"); - return; - } - newBodyPart.gameObject.SetActive(true); - renderer.sharedMesh = newItem.gameObject.GetComponentInChildren().sharedMesh; - break; - - // Stop displaying cloth on the player - case SyncListOperation.RemoveAt: - NetworkObject oldBodyPart = oldData._bodyPart; - oldBodyPart.gameObject.SetActive(false); - break; - - } - } - - /// - /// When the content of a container change, check if it should display or remove display of some clothes. - /// - [Server] + _clothedBodyParts.OnChange += ClothedBodyPartsOnChange; + } + + /// + /// Callback when the syncedList _clothedBodyParts changes. Update the displayed clothes on the player. + /// + private void ClothedBodyPartsOnChange(SyncListOperation op, int index, + ClothDisplayData oldData, ClothDisplayData newData, bool asServer) + { + + if(asServer) return; + + switch (op) + { + // Show the new cloth on the player + case SyncListOperation.Add: + NetworkObject newBodyPart = newData._bodyPart; + Item newItem = newData._clothToDisplay; + if (!newBodyPart.TryGetComponent(out SkinnedMeshRenderer renderer)) + { + Punpun.Warning(this, $"no skinned mesh renderer on game object {newBodyPart}, can't display cloth"); + return; + } + newBodyPart.gameObject.SetActive(true); + renderer.sharedMesh = newItem.gameObject.GetComponentInChildren().sharedMesh; + break; + + // Stop displaying cloth on the player + case SyncListOperation.RemoveAt: + NetworkObject oldBodyPart = oldData._bodyPart; + oldBodyPart.gameObject.SetActive(false); + break; + + } + } + + /// + /// When the content of a container change, check if it should display or remove display of some clothes. + /// + [Server] public void HandleContainerContentChanged(Container container, IEnumerable oldItems, IEnumerable newItems, ContainerChangeType type) { // If it's not a cloth type container. // It'd be probably better to just create "cloth container" inheriting from container to easily test that. - if(container.ContainerType < ContainerType.Bag) + if(container.AttachedTo.GetComponent() == null) { return; } @@ -104,59 +104,59 @@ public void HandleContainerContentChanged(Container container, IEnumerable switch(type) { case ContainerChangeType.Add: - //ShowCloth(container, item, true); - Item newItem = newItems.FirstOrDefault(); - AddCloth(newItem); + //ShowCloth(container, item, true); + Item newItem = newItems.FirstOrDefault(); + AddCloth(newItem); break; case ContainerChangeType.Remove: - //ShowCloth(container, item, false); - Item oldItem = oldItems.FirstOrDefault(); - RemoveCloth(oldItem); + //ShowCloth(container, item, false); + Item oldItem = oldItems.FirstOrDefault(); + RemoveCloth(oldItem); break; } } - /// - /// Adds a cloth to the synced list, making a few checks to find where to add it, if possible. - /// - /// The item to add, it should have a Cloth component on it. - [Server] - private void AddCloth(Item item) - { - if (!item.TryGetComponent(out Cloth cloth)) - { - return; - } - - ClothType itemClothType = cloth.Type; - ClothedBodyPart[] clothedBodyParts = GetComponentsInChildren(true); - ClothedBodyPart bodypart = clothedBodyParts. - Where(x => x.Type == itemClothType).First(); - - NetworkObject NetworkedBodyPart = bodypart.gameObject.GetComponent(); - if (NetworkedBodyPart != null) - { - _clothedBodyParts.Add(new ClothDisplayData(NetworkedBodyPart, item)); - } - } - - /// - /// Remove a cloth from the synced list, check if it's there before removing. - /// - /// The item to add, it should have a Cloth component on it. - [Server] - private void RemoveCloth(Item item) - { - if (!item.TryGetComponent(out Cloth cloth)) - { - return; - } - - ClothType itemClothType = cloth.Type; - ClothDisplayData clothdata = _clothedBodyParts.Find( - x => x._bodyPart.gameObject.GetComponent().Type == itemClothType); - - _clothedBodyParts.Remove(clothdata); - } + /// + /// Adds a cloth to the synced list, making a few checks to find where to add it, if possible. + /// + /// The item to add, it should have a Cloth component on it. + [Server] + private void AddCloth(Item item) + { + if (item == null || !item.TryGetComponent(out Cloth cloth)) + { + return; + } + + ClothType itemClothType = cloth.Type; + ClothedBodyPart[] clothedBodyParts = GetComponentsInChildren(true); + ClothedBodyPart bodypart = clothedBodyParts. + Where(x => x.Type == itemClothType).First(); + + NetworkObject NetworkedBodyPart = bodypart.gameObject.GetComponent(); + if (NetworkedBodyPart != null) + { + _clothedBodyParts.Add(new ClothDisplayData(NetworkedBodyPart, item)); + } + } + + /// + /// Remove a cloth from the synced list, check if it's there before removing. + /// + /// The item to add, it should have a Cloth component on it. + [Server] + private void RemoveCloth(Item item) + { + if (item == null || !item.TryGetComponent(out Cloth cloth)) + { + return; + } + + ClothType itemClothType = cloth.Type; + ClothDisplayData clothdata = _clothedBodyParts.Find( + x => x._bodyPart.gameObject.GetComponent().Type == itemClothType); + + _clothedBodyParts.Remove(clothdata); + } } } \ No newline at end of file diff --git a/Assets/Scripts/SS3D/Systems/Inventory/Containers/ContainerView.cs b/Assets/Scripts/SS3D/Systems/Inventory/Containers/ContainerView.cs index 2ce62354e3..6e831a6844 100644 --- a/Assets/Scripts/SS3D/Systems/Inventory/Containers/ContainerView.cs +++ b/Assets/Scripts/SS3D/Systems/Inventory/Containers/ContainerView.cs @@ -12,19 +12,19 @@ namespace SS3D.Systems.Inventory.UI { - /// - /// Add and remove UIs for containers. - /// + /// + /// Add and remove UIs for containers. + /// public class ContainerView : View { - /// - /// The script handling logic regarding when to remove and add container UIs. - /// + /// + /// The script handling logic regarding when to remove and add container UIs. + /// private ContainerViewer containerViewer; - /// - /// List of displayed containers on the player screen. - /// + /// + /// List of displayed containers on the player screen. + /// private readonly List _containerDisplays = new(); /// diff --git a/Assets/Scripts/SS3D/Systems/Inventory/Containers/ContainerViewer.cs b/Assets/Scripts/SS3D/Systems/Inventory/Containers/ContainerViewer.cs index 818f91b4fd..dfbe82ade7 100644 --- a/Assets/Scripts/SS3D/Systems/Inventory/Containers/ContainerViewer.cs +++ b/Assets/Scripts/SS3D/Systems/Inventory/Containers/ContainerViewer.cs @@ -38,7 +38,7 @@ public class ContainerViewer : NetworkActor public override void OnStartClient() { base.OnStartClient(); - if (!IsOwner) { return; } + if (!IsOwner) { return; } SetupView(); AddHandle(UpdateEvent.AddListener(HandleUpdate)); } @@ -97,8 +97,8 @@ public bool CanModifyContainer(AttachedContainer container) [TargetRpc] private void TargetOpenContainer(NetworkConnection target, AttachedContainer container) { - OnContainerOpened?.Invoke(container); - } + OnContainerOpened?.Invoke(container); + } /// /// Make this inventory open an container. @@ -167,8 +167,8 @@ public void CmdContainerClose(AttachedContainer container) [TargetRpc] private void TargetCloseContainer(NetworkConnection target, AttachedContainer container) { - OnContainerClosed?.Invoke(container); - } + OnContainerClosed?.Invoke(container); + } } } diff --git a/Assets/Scripts/SS3D/Systems/Inventory/Containers/Hand.cs b/Assets/Scripts/SS3D/Systems/Inventory/Containers/Hand.cs index 19ac13a066..d7c839c3ac 100644 --- a/Assets/Scripts/SS3D/Systems/Inventory/Containers/Hand.cs +++ b/Assets/Scripts/SS3D/Systems/Inventory/Containers/Hand.cs @@ -7,136 +7,140 @@ namespace SS3D.Systems.Inventory.Containers { - /// - /// A hand is what an entity uses to grab and hold items, to interact with things in range. - /// - public class Hand : InteractionSource, IInteractionRangeLimit, IInteractionOriginProvider - { - /// - /// Container linked to this hand, necessary to hold stuff. - /// - public AttachedContainer Container; - - /// - /// Horizontal and vertical max distance to interact with stuff. - /// - [SerializeField] private RangeLimit _range = new(1.5f, 2); - - // pickup icon that this hand uses when there's a pickup interaction - // TODO: When AssetData is on, we should update this to not use this - [SerializeField] private Sprite _pickupIcon; - - /// - /// The item held in this hand, if it exists - /// - public Item ItemInHand => Container.Items.FirstOrDefault(); - - /// - /// Point from where distances for interaction is computed. - /// - [SerializeField] private Transform _interactionOrigin; - - /// - /// the hands script controlling this hand. - /// - public Hands HandsController; - - public Vector3 InteractionOrigin => _interactionOrigin.position; - - public delegate void HandEventHandler(Hand hand); - public event HandEventHandler OnHandDisabled; - - protected override void OnDisabled() - { - if (!IsServer) - { - return; - } - - OnHandDisabled?.Invoke(this); - } - - public bool IsEmpty() - { - return Container.Container.Empty; - } - - /// - /// Get the interaction source from stuff in hand if there's any. - /// Also sets the source of the IInteraction source to be this hand. - /// - /// - public IInteractionSource GetActiveTool() - { - Item itemInHand = ItemInHand; - if (itemInHand == null) - { - return null; - } - - IInteractionSource interactionSource = itemInHand.Prefab.GetComponent(); - if (interactionSource != null) - { - interactionSource.Source = this; - } - return interactionSource; - } - - public RangeLimit GetInteractionRange() - { - return _range; - } - - [Server] - public void Pickup(Item item) - { - if (!IsEmpty()) - { - return; - } - - if (item.Container != null && item.Container.AttachedTo != Container) - { - item.Container.RemoveItem(item); - } - - Container.Container.AddItem(item); - } - - [ServerRpc] - public void CmdDropHeldItem() - { - if (IsEmpty()) - { - return; - } - - Container.Container.Dump(); - } - - /// - /// Place item on the floor, or on any other surface, place it out of its container. - /// - [Server] - public void PlaceHeldItemOutOfHand(Vector3 position, Quaternion rotation) - { - if (IsEmpty()) - { - return; - } - - Item item = ItemInHand; - item.SetContainer(null); - ItemUtility.Place(item, position, rotation, transform); - } - - /// - /// Checks if the creature can interact with an object - /// - /// The game object to interact with - public bool CanInteract(GameObject otherObject) - { - return GetInteractionRange().IsInRange(InteractionOrigin, otherObject.transform.position); - } - } + /// + /// A hand is what an entity uses to grab and hold items, to interact with things in range. + /// + public class Hand : InteractionSource, IInteractionRangeLimit, IInteractionOriginProvider + { + /// + /// Container linked to this hand, necessary to hold stuff. + /// + public AttachedContainer Container; + + /// + /// Horizontal and vertical max distance to interact with stuff. + /// + [SerializeField] private RangeLimit _range = new(1.5f, 2); + + // pickup icon that this hand uses when there's a pickup interaction + // TODO: When AssetData is on, we should update this to not use this + [SerializeField] private Sprite _pickupIcon; + + /// + /// The item held in this hand, if it exists + /// + public Item ItemInHand => Container.Items.FirstOrDefault(); + + /// + /// Point from where distances for interaction is computed. + /// + [SerializeField] private Transform _interactionOrigin; + + /// + /// the hands script controlling this hand. + /// + public Hands HandsController; + + public Vector3 InteractionOrigin => _interactionOrigin.position; + + public delegate void HandEventHandler(Hand hand); + public event HandEventHandler OnHandDisabled; + + protected override void OnDisabled() + { + if (!IsServer) + { + return; + } + + OnHandDisabled?.Invoke(this); + } + + public bool IsEmpty() + { + return Container.Container.Empty; + } + + /// + /// Get the interaction source from stuff in hand if there's any. + /// Also sets the source of the IInteraction source to be this hand. + /// + /// + public IInteractionSource GetActiveTool() + { + Item itemInHand = ItemInHand; + if (itemInHand == null) + { + return null; + } + + IInteractionSource interactionSource = itemInHand.GetComponent(); + if (interactionSource != null) + { + interactionSource.Source = this; + } + return interactionSource; + } + + public RangeLimit GetInteractionRange() + { + return _range; + } + + [Server] + public void Pickup(Item item) + { + item.GiveOwnership(Owner); + if (!IsEmpty()) + { + return; + } + + if (item.Container != null && item.Container.AttachedTo != Container) + { + item.Container.RemoveItem(item); + } + + Container.Container.AddItem(item); + } + + [ServerRpc] + public void CmdDropHeldItem() + { + if (IsEmpty()) + { + return; + } + + ItemInHand.GiveOwnership(null); + + + Container.Container.Dump(); + } + + /// + /// Place item on the floor, or on any other surface, place it out of its container. + /// + [Server] + public void PlaceHeldItemOutOfHand(Vector3 position, Quaternion rotation) + { + if (IsEmpty()) + { + return; + } + ItemInHand.GiveOwnership(null); + Item item = ItemInHand; + item.SetContainer(null); + ItemUtility.Place(item, position, rotation, transform); + } + + /// + /// Checks if the creature can interact with an object + /// + /// The game object to interact with + public bool CanInteract(GameObject otherObject) + { + return GetInteractionRange().IsInRange(InteractionOrigin, otherObject.transform.position); + } + } } diff --git a/Assets/Scripts/SS3D/Systems/Inventory/Containers/Hands.cs b/Assets/Scripts/SS3D/Systems/Inventory/Containers/Hands.cs index 507c971783..872d463133 100644 --- a/Assets/Scripts/SS3D/Systems/Inventory/Containers/Hands.cs +++ b/Assets/Scripts/SS3D/Systems/Inventory/Containers/Hands.cs @@ -20,96 +20,96 @@ namespace SS3D.Systems.Inventory.Containers { - /// - /// Handle selections of the active hands, changing colors of active hand slot, and using controls such as dropping or swapping hands. - /// Also acts as a controller for all hands present on the player. - /// + /// + /// Handle selections of the active hands, changing colors of active hand slot, and using controls such as dropping or swapping hands. + /// Also acts as a controller for all hands present on the player. + /// [RequireComponent(typeof(HumanInventory))] public class Hands : NetworkActor, IHandsController - { - /// - /// List of hands currently on the player, should be modified on server only. - /// + { + /// + /// List of hands currently on the player, should be modified on server only. + /// [SerializeField] public List PlayerHands; private Controls.HotkeysActions _controls; - /// - /// Reference to the inventory linked to Hands. - /// + /// + /// Reference to the inventory linked to Hands. + /// [NonSerialized] public HumanInventory Inventory; - /// - /// Color of selected hand, or when mouse passes over the slot. - /// - [SerializeField] + /// + /// Color of selected hand, or when mouse passes over the slot. + /// + [SerializeField] private Color _selectedColor; - /// - /// Color of unselected hand - /// - [SerializeField] - private Color _defaultColor; - - /// - /// The selected hand, should be part of PlayerHands list. - /// - [SyncVar(OnChange = nameof(SyncSelectedHand))] - private Hand _selectedHand; - - /// - /// The currently active hand - /// - public Hand SelectedHand => _selectedHand; - - /// - /// A list of all containers linked to all hands on player. - /// - public List HandContainers => PlayerHands.Select(x => x.Container).ToList(); - - public override void OnStartServer() - { - base.OnStartServer(); - foreach(Hand hand in PlayerHands) - { - hand.HandsController = this; - hand.OnHandDisabled += HandleHandRemoved; - } - // Set the selected hand to be the first available one. - _selectedHand = PlayerHands.FirstOrDefault(); - } - - /// - /// Sync for clients, set highlight on slots properly. - /// - public void SyncSelectedHand(Hand oldHand, Hand newHand, bool asServer) - { - if (asServer || !IsOwner) return; - if(oldHand != null) - { - SetHandHighlight(oldHand, false); - } - if (newHand != null) - { - SetHandHighlight(newHand, true); - } - } - - [Client] - public void SetInventory(HumanInventory inventory) + /// + /// Color of unselected hand + /// + [SerializeField] + private Color _defaultColor; + + /// + /// The selected hand, should be part of PlayerHands list. + /// + [SyncVar(OnChange = nameof(SyncSelectedHand))] + private Hand _selectedHand; + + /// + /// The currently active hand + /// + public Hand SelectedHand => _selectedHand; + + /// + /// A list of all containers linked to all hands on player. + /// + public List HandContainers => PlayerHands.Select(x => x.Container).ToList(); + + public override void OnStartServer() + { + base.OnStartServer(); + foreach(Hand hand in PlayerHands) + { + hand.HandsController = this; + hand.OnHandDisabled += HandleHandRemoved; + } + // Set the selected hand to be the first available one. + _selectedHand = PlayerHands.FirstOrDefault(); + } + + /// + /// Sync for clients, set highlight on slots properly. + /// + public void SyncSelectedHand(Hand oldHand, Hand newHand, bool asServer) + { + if (asServer || !IsOwner) return; + if(oldHand != null) + { + SetHandHighlight(oldHand, false); + } + if (newHand != null) + { + SetHandHighlight(newHand, true); + } + } + + [Client] + public void SetInventory(HumanInventory inventory) { Inventory = inventory; Inventory.OnInventorySetUp += OnInventorySetUp; } - [Client] - private void OnInventorySetUp() + [Client] + private void OnInventorySetUp() { - SetHandHighlight(PlayerHands.First(), true); + SetHandHighlight(PlayerHands.First(), true); - // Set up hand related controls. + // Set up hand related controls. _controls = Subsystems.Get().Inputs.Hotkeys; _controls.SwapHands.performed += HandleSwapHands; _controls.Drop.performed += HandleDropHeldItem; @@ -117,49 +117,49 @@ private void OnInventorySetUp() Inventory.OnInventorySetUp -= OnInventorySetUp; } - protected override void OnDestroyed() + protected override void OnDestroyed() { base.OnDestroyed(); - if (IsOwner) - { - _controls.SwapHands.performed -= HandleSwapHands; - _controls.Drop.performed -= HandleDropHeldItem; - } + if (IsOwner) + { + _controls.SwapHands.performed -= HandleSwapHands; + _controls.Drop.performed -= HandleDropHeldItem; + } } - [Client] + [Client] private void HandleSwapHands(InputAction.CallbackContext context) { - // We don't swap hand if there's a single one. + // We don't swap hand if there's a single one. if (!IsOwner || !enabled || PlayerHands.Count <= 1) { return; } - CmdNextHand(); + CmdNextHand(); } - /// - /// Set the Active hand of the Player to be the AttachedContainer passed in parameter. - /// Do nothing if the parameter is the already active parameter. - /// - /// This AttachedContainer should only be a hand. - [ServerRpc] + /// + /// Set the Active hand of the Player to be the AttachedContainer passed in parameter. + /// Do nothing if the parameter is the already active parameter. + /// + /// This AttachedContainer should only be a hand. + [ServerRpc] public void CmdSetActiveHand(AttachedContainer selectedContainer) { - Hand hand = PlayerHands.FirstOrDefault(x => x.Container == selectedContainer); + Hand hand = PlayerHands.FirstOrDefault(x => x.Container == selectedContainer); - if (hand == selectedContainer) + if (hand == selectedContainer) { - Punpun.Warning(this, "Hand already selected"); + Punpun.Warning(this, "Hand already selected"); return; } if (!HandContainers.Contains(selectedContainer)) { - Punpun.Warning(this, "no hand with the passed container in parameter"); - return; + Punpun.Warning(this, "no hand with the passed container in parameter"); + return; } if (hand != null) @@ -172,7 +172,7 @@ public void CmdSetActiveHand(AttachedContainer selectedContainer) } } - [Client] + [Client] private void HandleDropHeldItem(InputAction.CallbackContext context) { SelectedHand.CmdDropHeldItem(); @@ -181,20 +181,20 @@ private void HandleDropHeldItem(InputAction.CallbackContext context) [ServerRpc] private void CmdNextHand() { - NextHand(); + NextHand(); } - [Server] - private void NextHand() - { - int index = PlayerHands.FindIndex(0, x => x == SelectedHand); - _selectedHand = PlayerHands[(index + 1) % PlayerHands.Count]; - } + [Server] + private void NextHand() + { + int index = PlayerHands.FindIndex(0, x => x == SelectedHand); + _selectedHand = PlayerHands[(index + 1) % PlayerHands.Count]; + } - [Client] + [Client] private void SetHandHighlight(Hand hand, bool highlight) { - Transform handSlot = ViewLocator.Get().First().GetHandSlot(hand); + Transform handSlot = ViewLocator.Get().First().GetHandSlot(hand); Button button = handSlot.GetComponent public class HumanInventory : NetworkActor { - /// - /// List of containers present on the player, meaning, in the player HUD, shown as slots. - /// + /// + /// List of containers present on the player, meaning, in the player HUD, shown as slots. + /// [SyncObject] private readonly SyncList ContainersOnPlayer = new(); @@ -36,22 +36,22 @@ public class HumanInventory : NetworkActor public delegate void ContainerContentsEventHandler(Container container, IEnumerable oldItems, IEnumerable newItems, ContainerChangeType type); public delegate void Notify(); - // When a container is added to this inventory + // When a container is added to this inventory public event InventoryContainerModifiedEventHandler OnInventoryContainerAdded; - // When a container is removed from this inventory + // When a container is removed from this inventory public event InventoryContainerModifiedEventHandler OnInventoryContainerRemoved; - // When the content of a container in this inventory changes + // When the content of a container in this inventory changes public event ContainerContentsEventHandler OnContainerContentChanged; - // When the inventory is done doing its setup + // When the inventory is done doing its setup public event Notify OnInventorySetUp; - // reference to the component allowing to display out of inventory containers. + // reference to the component allowing to display out of inventory containers. public ContainerViewer containerViewer; - public List Containers => ContainersOnPlayer.Collection.ToList(); + public List Containers => ContainersOnPlayer.Collection.ToList(); /// /// The controllable body of the owning player @@ -63,18 +63,18 @@ public class HumanInventory : NetworkActor /// public Hands Hands; - /// - /// Number of hands container on this inventory. - /// - public int CountHands => ContainersOnPlayer.Where(x => x.Type == ContainerType.Hand).Count(); + /// + /// Number of hands container on this inventory. + /// + public int CountHands => ContainersOnPlayer.Where(x => x.Type == ContainerType.Hand).Count(); - /// - /// Try to get a particular type of container in the inventory, and if there's multiple, try to get the one at the given position. - /// - /// The position of the container for a given type, if there's two pocket containers, it'd be 0 and 1 - /// The container we want back. - /// - public bool TryGetTypeContainer(ContainerType type, int position, out AttachedContainer typeContainer) + /// + /// Try to get a particular type of container in the inventory, and if there's multiple, try to get the one at the given position. + /// + /// The position of the container for a given type, if there's two pocket containers, it'd be 0 and 1 + /// The container we want back. + /// + public bool TryGetTypeContainer(ContainerType type, int position, out AttachedContainer typeContainer) { int typeIndex = 0; foreach (var container in ContainersOnPlayer) @@ -112,24 +112,23 @@ private void SyncInventoryContainerChange(SyncListOperation op, int index, Attac OnInventoryContainerAdded?.Invoke(newContainer); break; case SyncListOperation.RemoveAt: - Debug.Log("remove container " + oldContainer); OnInventoryContainerRemoved?.Invoke(oldContainer); break; } } - public override void OnStartClient() + public override void OnStartClient() { base.OnStartClient(); - if (!IsOwner) - { - return; - } + if (!IsOwner) + { + return; + } Hands.SetInventory(this); SetupView(); - Subsystems.Get().GiveRoleLoadoutToPlayer(Body); - OnInventorySetUp?.Invoke(); + Subsystems.Get().GiveRoleLoadoutToPlayer(Body); + OnInventorySetUp?.Invoke(); } public override void OnStartServer() @@ -160,11 +159,19 @@ private void SetupView() inventoryView.Setup(this); } - /// - /// Add a given container to this inventory, and register to a few events related to the container. - /// Only use this method to remove a container to ContainersOnPlayer. - /// - [Server] + protected override void OnDisabled() + { + base.OnDisabled(); + var inventoryView = ViewLocator.Get().First(); + inventoryView.DestroyAllSlots(); + + } + + /// + /// Add a given container to this inventory, and register to a few events related to the container. + /// Only use this method to remove a container to ContainersOnPlayer. + /// + [Server] private void AddContainer(AttachedContainer container) { ContainersOnPlayer.Add(container); @@ -172,11 +179,11 @@ private void AddContainer(AttachedContainer container) container.OnItemAttached += HandleTryAddContainerOnItemAttached; container.OnItemDetached += HandleTryRemoveContainerOnItemDetached; - // Be careful, destroying an inventory container will cause issue as when syncing with client, the attachedContainer will be null. - // Before destroying a container, consider disabling the behaviour or the game object it's on first to avoid this issue. - container.OnAttachedContainerDisabled += RemoveContainer; + // Be careful, destroying an inventory container will cause issue as when syncing with client, the attachedContainer will be null. + // Before destroying a container, consider disabling the behaviour or the game object it's on first to avoid this issue. + container.OnAttachedContainerDisabled += RemoveContainer; - } + } /// /// Remove a given container to this inventory, and unregister to a few events related to the container. @@ -189,42 +196,42 @@ private void RemoveContainer(AttachedContainer container) container.Container.OnContentsChanged -= HandleContainerContentChanged; container.OnItemAttached -= HandleTryAddContainerOnItemAttached; container.OnItemDetached -= HandleTryRemoveContainerOnItemDetached; - container.OnAttachedContainerDisabled -= RemoveContainer; - } + container.OnAttachedContainerDisabled -= RemoveContainer; + } - /// - /// Try to add a container to this inventory, check first if not already added. - /// TODO: Should also check if it's the kind of container that can go in inventory. - /// - [Server] - public bool TryAddContainer(AttachedContainer container) - { - if (!Containers.Contains(container)) - { - AddContainer(container); - return true; - } - return false; - } + /// + /// Try to add a container to this inventory, check first if not already added. + /// TODO: Should also check if it's the kind of container that can go in inventory. + /// + [Server] + public bool TryAddContainer(AttachedContainer container) + { + if (!Containers.Contains(container)) + { + AddContainer(container); + return true; + } + return false; + } - /// - /// Try to remove a container already present in this inventory. - /// - [Server] - public bool TryRemoveContainer(AttachedContainer container) - { - if (Containers.Contains(container)) - { - RemoveContainer(container); - return true; - } - return false; - } + /// + /// Try to remove a container already present in this inventory. + /// + [Server] + public bool TryRemoveContainer(AttachedContainer container) + { + if (Containers.Contains(container)) + { + RemoveContainer(container); + return true; + } + return false; + } - /// - /// Simply invoke the event OnContainerContentChanged. - /// - private void HandleContainerContentChanged(Container container, IEnumerable oldItems, IEnumerable newItems, ContainerChangeType type) + /// + /// Simply invoke the event OnContainerContentChanged. + /// + private void HandleContainerContentChanged(Container container, IEnumerable oldItems, IEnumerable newItems, ContainerChangeType type) { OnContainerContentChanged?.Invoke(container,oldItems,newItems,type); } @@ -281,7 +288,7 @@ public void ClientTransferItem(Item item, Vector2Int position, AttachedContainer CmdTransferItem(item.gameObject, position, targetContainer); } - [ServerRpc] + [ServerRpc] private void CmdTransferItem(GameObject itemObject, Vector2Int position, AttachedContainer container) { Item item = itemObject.GetComponent(); @@ -435,5 +442,5 @@ private void HandleTryRemoveContainerOnItemDetached(object sender, Item item) } } } - } + } } diff --git a/Assets/Scripts/SS3D/Systems/Inventory/Containers/InventoryView.cs b/Assets/Scripts/SS3D/Systems/Inventory/Containers/InventoryView.cs index 2e1b774fc9..1193220031 100644 --- a/Assets/Scripts/SS3D/Systems/Inventory/Containers/InventoryView.cs +++ b/Assets/Scripts/SS3D/Systems/Inventory/Containers/InventoryView.cs @@ -86,10 +86,10 @@ public void Setup(HumanInventory inventory) FillClothingLayoutWithDummySlots(); Inventory = inventory; - foreach(var container in inventory.Containers) - { - HandleInventoryContainerAdded(container); - } + foreach(var container in inventory.Containers) + { + HandleInventoryContainerAdded(container); + } inventory.OnInventoryContainerAdded += HandleInventoryContainerAdded; inventory.OnInventoryContainerRemoved += HandleInventoryContainerRemoved; @@ -115,8 +115,8 @@ private void FillClothingLayoutWithDummySlots() [Client] private void HandleInventoryContainerAdded(AttachedContainer container) { - if (Slots.Exists(x => x.Container == container)) - return; + if (Slots.Exists(x => x.Container == container)) + return; SingleItemContainerSlot slot; switch (container.Type) @@ -311,18 +311,18 @@ private SingleItemContainerSlot AddClothingSlot(GameObject prefabToInstantiate) clothingSlot.gameObject.TryGetComponent(out SingleItemContainerSlot slot); int clothPosition = ClothingSlotPosition.FindIndex(0, x => x == slot.ContainerType); - int slotPositionForContainerType = ClothingSlotPosition.FindIndex(0, x => x == slot.ContainerType); + int slotPositionForContainerType = ClothingSlotPosition.FindIndex(0, x => x == slot.ContainerType); - Transform currentSlotTransform = ClothingLayout.transform.GetChild(slotPositionForContainerType); + Transform currentSlotTransform = ClothingLayout.transform.GetChild(slotPositionForContainerType); - // Remove the place holder dummy slot first. - if (currentSlotTransform.gameObject.TryGetComponent(out DummySlot currentSlot)) - { - currentSlotTransform.transform.SetParent(null, false); - currentSlotTransform.gameObject.Dispose(true); - }; + // Remove the place holder dummy slot first. + if (currentSlotTransform.gameObject.TryGetComponent(out DummySlot currentSlot)) + { + currentSlotTransform.transform.SetParent(null, false); + currentSlotTransform.gameObject.Dispose(true); + }; - clothingSlot.transform.SetSiblingIndex(clothPosition); + clothingSlot.transform.SetSiblingIndex(clothPosition); return slot; } @@ -345,29 +345,37 @@ private SingleItemContainerSlot AddHorizontalLayoutSlot(GameObject prefab, Conta /// The transform of the hand slot at the specified index. public Transform GetHandSlot(Hand hand) { - SingleItemContainerSlot slot = Slots.Find(x => x.Container == hand.Container); - return slot.transform; + SingleItemContainerSlot slot = Slots.Find(x => x.Container == hand.Container); + return slot.transform; } /// /// Remove the corresponding slot when a container is removed from the inventory. - /// Replace with an empty slot if it's a clothing type of container. + /// Replace with an empty slot if it's a clothing type of container. /// private void HandleInventoryContainerRemoved(AttachedContainer container) { - int indexToRemove = Slots.FindIndex(slot => slot.Container == container); + int indexToRemove = Slots.FindIndex(slot => slot.Container == container); - // Replace the removed slot with a dummy slot if it's a clothing type of slot. - // This allow the grid layout elements to keep their positions despite having a slot removed. - if(ClothingSlotPosition.Contains(container.Type)){ - GameObject dummySlot = Instantiate(DummyPrefab); - dummySlot.transform.SetParent(ClothingLayout.transform, false); - int clothPosition = ClothingSlotPosition.FindIndex(0, x => x == Slots[indexToRemove].ContainerType); - dummySlot.transform.SetSiblingIndex(clothPosition); - } + // Replace the removed slot with a dummy slot if it's a clothing type of slot. + // This allow the grid layout elements to keep their positions despite having a slot removed. + if(ClothingSlotPosition.Contains(container.Type)){ + GameObject dummySlot = Instantiate(DummyPrefab); + dummySlot.transform.SetParent(ClothingLayout.transform, false); + int clothPosition = ClothingSlotPosition.FindIndex(0, x => x == Slots[indexToRemove].ContainerType); + dummySlot.transform.SetSiblingIndex(clothPosition); + } + + Slots[indexToRemove].gameObject.Dispose(true); + Slots.RemoveAt(indexToRemove); + } - Slots[indexToRemove].gameObject.Dispose(true); - Slots.RemoveAt(indexToRemove); + public void DestroyAllSlots() + { + for(int i = Slots.Count-1; i>=0; i--) + { + Slots[i].gameObject.Dispose(true); + } } } } \ No newline at end of file diff --git a/Assets/Scripts/SS3D/Systems/Inventory/Containers/OrganContainer.cs b/Assets/Scripts/SS3D/Systems/Inventory/Containers/OrganContainer.cs new file mode 100644 index 0000000000..39e5e2abf5 --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Inventory/Containers/OrganContainer.cs @@ -0,0 +1,18 @@ +using UnityEngine; + +namespace SS3D.Systems.Inventory.Containers { + public class OrganContainer : MonoBehaviour + { + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } + } +} diff --git a/Assets/Scripts/SS3D/Systems/Inventory/Containers/OrganContainer.cs.meta b/Assets/Scripts/SS3D/Systems/Inventory/Containers/OrganContainer.cs.meta new file mode 100644 index 0000000000..6d6371a27c --- /dev/null +++ b/Assets/Scripts/SS3D/Systems/Inventory/Containers/OrganContainer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5850fb45d3e88334e84d794383f68e50 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SS3D/Systems/Inventory/Interactions/DropInteraction.cs b/Assets/Scripts/SS3D/Systems/Inventory/Interactions/DropInteraction.cs index fa59c4d255..22d6fcdad5 100644 --- a/Assets/Scripts/SS3D/Systems/Inventory/Interactions/DropInteraction.cs +++ b/Assets/Scripts/SS3D/Systems/Inventory/Interactions/DropInteraction.cs @@ -24,7 +24,7 @@ public override Sprite GetIcon(InteractionEvent interactionEvent) public override bool CanInteract(InteractionEvent interactionEvent) { - // if the interaction source's parent is not a hand we return false + // if the interaction source's parent is not a hand we return false if (interactionEvent.Source.GetRootSource() is not Hand) { return false; @@ -36,10 +36,10 @@ public override bool CanInteract(InteractionEvent interactionEvent) public override bool Start(InteractionEvent interactionEvent, InteractionReference reference) { - // we check if the source of the interaction is a hand + // we check if the source of the interaction is a hand if (interactionEvent.Source.GetRootSource() is Hand hand) { - // we place the item in the hand in the point we clicked + // we place the item in the hand in the point we clicked hand?.PlaceHeldItemOutOfHand(interactionEvent.Point, hand.ItemInHand.transform.rotation); } diff --git a/Assets/Scripts/SS3D/Systems/Inventory/Interactions/PickupInteraction.cs b/Assets/Scripts/SS3D/Systems/Inventory/Interactions/PickupInteraction.cs index c8760dc5e6..ce8579925c 100644 --- a/Assets/Scripts/SS3D/Systems/Inventory/Interactions/PickupInteraction.cs +++ b/Assets/Scripts/SS3D/Systems/Inventory/Interactions/PickupInteraction.cs @@ -34,14 +34,14 @@ public override bool CanInteract(InteractionEvent interactionEvent) // and the part that matters, if the interaction source is a hand if (target is IGameObjectProvider targetBehaviour && source is Hand hand) { - // if the selected hand is not empty we return false + // if the selected hand is not empty we return false if (hand.IsEmpty()) { return true; } - // we try to get the Item component from the GameObject we just interacted with - // you can only pickup items (for now, TODO: we have to consider people too), which makes sense + // we try to get the Item component from the GameObject we just interacted with + // you can only pickup items (for now, TODO: we have to consider people too), which makes sense Item item = targetBehaviour.GameObject.GetComponent(); if (item == null) { @@ -51,7 +51,7 @@ public override bool CanInteract(InteractionEvent interactionEvent) bool isInRange = InteractionExtensions.RangeCheck(interactionEvent); bool notInAContainer = !item.IsInContainer(); // then we just do a range check, to make sure we can interact - // and we check if the item is not in a container, you can only pick things that are not in a container + // and we check if the item is not in a container, you can only pick things that are not in a container return isInRange && notInAContainer; } diff --git a/Assets/Scripts/SS3D/Systems/Inventory/Interfaces/ISlotProvider.cs b/Assets/Scripts/SS3D/Systems/Inventory/Interfaces/ISlotProvider.cs index 0d5a6a3bdc..a38e0be1f8 100644 --- a/Assets/Scripts/SS3D/Systems/Inventory/Interfaces/ISlotProvider.cs +++ b/Assets/Scripts/SS3D/Systems/Inventory/Interfaces/ISlotProvider.cs @@ -4,6 +4,6 @@ namespace SS3D.Systems.Inventory.Interfaces { public interface ISlotProvider { - GameObject GetCurrentGameObjectInSlot(); + GameObject GetCurrentGameObjectInSlot(); } } \ No newline at end of file diff --git a/Assets/Scripts/SS3D/Systems/Inventory/Items/Item.cs b/Assets/Scripts/SS3D/Systems/Inventory/Items/Item.cs index f23a15fb81..681a20b385 100644 --- a/Assets/Scripts/SS3D/Systems/Inventory/Items/Item.cs +++ b/Assets/Scripts/SS3D/Systems/Inventory/Items/Item.cs @@ -50,9 +50,6 @@ public class Item : InteractionSource, IInteractionTarget private Sprite _sprite; - [Tooltip("the item prefab, you can click on the item name and drag from Unity's file explorer")] - public GameObject Prefab; - [Header("Attachment settings")] [Tooltip("a point we use to know how the item should be oriented when held in a hand")] diff --git a/Assets/Scripts/SS3D/Systems/Inventory/Items/Stackable.cs b/Assets/Scripts/SS3D/Systems/Inventory/Items/Stackable.cs index 08e2c77476..4d0ddecc09 100644 --- a/Assets/Scripts/SS3D/Systems/Inventory/Items/Stackable.cs +++ b/Assets/Scripts/SS3D/Systems/Inventory/Items/Stackable.cs @@ -5,24 +5,24 @@ // { // public int maxStack; // public int amountInStack; - // private IExamineRequirement requirements; + // private IExamineRequirement requirements; // - // protected override void OnStart() - // { - // base.OnStart(); + // protected override void OnStart() + // { + // base.OnStart(); // - // PopulateRequirements(); - // } + // PopulateRequirements(); + // } // - // private void PopulateRequirements() - // { - // // Populate requirements for this item to be examined. - // requirements = new ReqPermitExamine(gameObject); - // requirements = new ReqMaxRange(requirements, 2.0f); // Amount in stack only visible from 2 metres. - // requirements = new ReqObstacleCheck(requirements); - // } + // private void PopulateRequirements() + // { + // // Populate requirements for this item to be examined. + // requirements = new ReqPermitExamine(gameObject); + // requirements = new ReqMaxRange(requirements, 2.0f); // Amount in stack only visible from 2 metres. + // requirements = new ReqObstacleCheck(requirements); + // } // - // private void OnValidate() + // private void OnValidate() // { // if (maxStack < 2) // { @@ -39,14 +39,14 @@ // } // } // - // public IExamineData GetData() - // { - // return new DataNameDescription("", $"{amountInStack} in stack"); - // } - // - // public IExamineRequirement GetRequirements() - // { - // return requirements; - // } + // public IExamineData GetData() + // { + // return new DataNameDescription("", $"{amountInStack} in stack"); + // } + // + // public IExamineRequirement GetRequirements() + // { + // return requirements; + // } // } } diff --git a/Assets/Scripts/SS3D/Systems/Inventory/UI/DummySlot.cs b/Assets/Scripts/SS3D/Systems/Inventory/UI/DummySlot.cs index 59536fda4c..7b8745da84 100644 --- a/Assets/Scripts/SS3D/Systems/Inventory/UI/DummySlot.cs +++ b/Assets/Scripts/SS3D/Systems/Inventory/UI/DummySlot.cs @@ -4,13 +4,13 @@ namespace SS3D.Systems.Inventory.UI { - /// - /// Component only useful to indicate a slot is a dummy slot. - /// Dummy slots are invisible slots, only useful to take place in the UI. - /// This is necessary for working with stuff like grid layouts. - /// - public class DummySlot : MonoBehaviour - { + /// + /// Component only useful to indicate a slot is a dummy slot. + /// Dummy slots are invisible slots, only useful to take place in the UI. + /// This is necessary for working with stuff like grid layouts. + /// + public class DummySlot : MonoBehaviour + { - } + } } diff --git a/Assets/Scripts/SS3D/Systems/Inventory/UI/SingleItemContainerSlot.cs b/Assets/Scripts/SS3D/Systems/Inventory/UI/SingleItemContainerSlot.cs index c02dfd8f60..91c0b04a53 100644 --- a/Assets/Scripts/SS3D/Systems/Inventory/UI/SingleItemContainerSlot.cs +++ b/Assets/Scripts/SS3D/Systems/Inventory/UI/SingleItemContainerSlot.cs @@ -117,10 +117,10 @@ public void OnPointerClick(PointerEventData eventData) { Inventory.ClientInteractWithContainerSlot(_container, new Vector2Int(0, 0)); - if(ContainerType == ContainerType.Hand) - { - Inventory.ActivateHand(_container); - } + if(ContainerType == ContainerType.Hand) + { + Inventory.ActivateHand(_container); + } } public GameObject GetCurrentGameObjectInSlot() diff --git a/Assets/Scripts/SS3D/Systems/Inventory/UI/ToggleBodyTargetUI.cs b/Assets/Scripts/SS3D/Systems/Inventory/UI/ToggleBodyTargetUI.cs index 58d3a58c0d..7cee9d45a2 100644 --- a/Assets/Scripts/SS3D/Systems/Inventory/UI/ToggleBodyTargetUI.cs +++ b/Assets/Scripts/SS3D/Systems/Inventory/UI/ToggleBodyTargetUI.cs @@ -3,54 +3,54 @@ namespace SS3D.Systems.Inventory.UI { - /// - /// Allows the Body Target user interface to be collapsible by clicking a button. - /// - public class ToggleBodyTargetUI : MonoBehaviour - { - private Button _expandButton; - private CanvasGroup _bodyTargetCanvas; - private bool _isShowing = true; - private RectTransform _buttonTransform; + /// + /// Allows the Body Target user interface to be collapsible by clicking a button. + /// + public class ToggleBodyTargetUI : MonoBehaviour + { + private Button _expandButton; + private CanvasGroup _bodyTargetCanvas; + private bool _isShowing = true; + private RectTransform _buttonTransform; - void Start() - { - _bodyTargetCanvas = GameObject.Find("Body Parts").GetComponent(); - _expandButton = GetComponent + private void Toggle() { - if (_isShowing) - { - _internalClothingCanvas.alpha = 0f; //this makes everything transparent - _internalClothingCanvas.blocksRaycasts = false; //this prevents the UI element to receive input events - } - else - { - _internalClothingCanvas.alpha = 1f; //this makes it visible again - _internalClothingCanvas.blocksRaycasts = true; //this allows the UI to receive inputs again. - } - _isShowing = !_isShowing; - } - } + if (_isShowing) + { + _internalClothingCanvas.alpha = 0f; //this makes everything transparent + _internalClothingCanvas.blocksRaycasts = false; //this prevents the UI element to receive input events + } + else + { + _internalClothingCanvas.alpha = 1f; //this makes it visible again + _internalClothingCanvas.blocksRaycasts = true; //this allows the UI to receive inputs again. + } + _isShowing = !_isShowing; + } + } } \ No newline at end of file diff --git a/Assets/Scripts/SS3D/Systems/Permissions/PermissionSystem.cs b/Assets/Scripts/SS3D/Systems/Permissions/PermissionSystem.cs index 98f3d2eb55..559ec13f3e 100644 --- a/Assets/Scripts/SS3D/Systems/Permissions/PermissionSystem.cs +++ b/Assets/Scripts/SS3D/Systems/Permissions/PermissionSystem.cs @@ -92,7 +92,7 @@ public bool TryGetUserRole(string ckey, out ServerRoleTypes userPermission) [Server] public void ChangeUserPermission(string ckey, ServerRoleTypes role) { - throw new NotImplementedException(); + throw new NotImplementedException(); // TODO: This // Add new user permission to list // Add new user permission to text file diff --git a/Assets/Scripts/SS3D/Systems/Roles/RoleLoadout.cs b/Assets/Scripts/SS3D/Systems/Roles/RoleLoadout.cs index a3a74d4108..0c4fa6ca6e 100644 --- a/Assets/Scripts/SS3D/Systems/Roles/RoleLoadout.cs +++ b/Assets/Scripts/SS3D/Systems/Roles/RoleLoadout.cs @@ -16,28 +16,28 @@ public class RoleLoadout : ScriptableObject public bool RightHand; public bool LeftPocket; public bool RightPocket; - public bool LeftGlove; - public bool RightGlove; - public bool LeftShoe; - public bool RightShoe; - public bool Hat; - public bool Glasses; - public bool LeftEar; - public bool RightEar; - public bool Jumpsuit; + public bool LeftGlove; + public bool RightGlove; + public bool LeftShoe; + public bool RightShoe; + public bool Hat; + public bool Glasses; + public bool LeftEar; + public bool RightEar; + public bool Jumpsuit; - public ItemId LeftHandItem; + public ItemId LeftHandItem; public ItemId RightHandItem; public ItemId LeftPocketItem; public ItemId RightPocketItem; - public ItemId LeftGloveItem; - public ItemId RightGloveItem; - public ItemId LeftShoeItem; - public ItemId RightShoeItem; - public ItemId HatItem; - public ItemId GlassesItem; - public ItemId LeftEarItem; - public ItemId RightEarItem; - public ItemId JumpsuitItem; - } + public ItemId LeftGloveItem; + public ItemId RightGloveItem; + public ItemId LeftShoeItem; + public ItemId RightShoeItem; + public ItemId HatItem; + public ItemId GlassesItem; + public ItemId LeftEarItem; + public ItemId RightEarItem; + public ItemId JumpsuitItem; + } } diff --git a/Assets/Scripts/SS3D/Systems/Roles/RoleSystem.cs b/Assets/Scripts/SS3D/Systems/Roles/RoleSystem.cs index 3627d008ff..f3a8af93c5 100644 --- a/Assets/Scripts/SS3D/Systems/Roles/RoleSystem.cs +++ b/Assets/Scripts/SS3D/Systems/Roles/RoleSystem.cs @@ -200,40 +200,40 @@ private void SpawnLoadoutItems(Entity entity, RoleLoadout loadout) SpawnItemInSlot(loadout.LeftHandItem, loadout.LeftHand, hands.HandContainers[0]); SpawnItemInSlot(loadout.RightHandItem, loadout.RightHand, hands.HandContainers[1]); - if (inventory.TryGetTypeContainer(ContainerType.ShoeRight, 0, out AttachedContainer ShoeRightContainer)) - SpawnItemInSlot(loadout.RightShoeItem, loadout.RightShoe, ShoeRightContainer); + if (inventory.TryGetTypeContainer(ContainerType.ShoeRight, 0, out AttachedContainer ShoeRightContainer)) + SpawnItemInSlot(loadout.RightShoeItem, loadout.RightShoe, ShoeRightContainer); - if (inventory.TryGetTypeContainer(ContainerType.ShoeLeft, 0, out AttachedContainer ShoeLeftContainer)) - SpawnItemInSlot(loadout.LeftShoeItem, loadout.LeftShoe, ShoeLeftContainer); + if (inventory.TryGetTypeContainer(ContainerType.ShoeLeft, 0, out AttachedContainer ShoeLeftContainer)) + SpawnItemInSlot(loadout.LeftShoeItem, loadout.LeftShoe, ShoeLeftContainer); - if (inventory.TryGetTypeContainer(ContainerType.Jumpsuit, 0, out AttachedContainer JumpsuitContainer)) - SpawnItemInSlot(loadout.JumpsuitItem, loadout.Jumpsuit, JumpsuitContainer); + if (inventory.TryGetTypeContainer(ContainerType.Jumpsuit, 0, out AttachedContainer JumpsuitContainer)) + SpawnItemInSlot(loadout.JumpsuitItem, loadout.Jumpsuit, JumpsuitContainer); - if (inventory.TryGetTypeContainer(ContainerType.GloveLeft, 0, out AttachedContainer LeftGloveContainer)) - SpawnItemInSlot(loadout.LeftGloveItem, loadout.LeftGlove, LeftGloveContainer); + if (inventory.TryGetTypeContainer(ContainerType.GloveLeft, 0, out AttachedContainer LeftGloveContainer)) + SpawnItemInSlot(loadout.LeftGloveItem, loadout.LeftGlove, LeftGloveContainer); - if (inventory.TryGetTypeContainer(ContainerType.GloveRight, 0, out AttachedContainer RightGloveContainer)) - SpawnItemInSlot(loadout.RightGloveItem, loadout.RightGlove, RightGloveContainer); + if (inventory.TryGetTypeContainer(ContainerType.GloveRight, 0, out AttachedContainer RightGloveContainer)) + SpawnItemInSlot(loadout.RightGloveItem, loadout.RightGlove, RightGloveContainer); - if (inventory.TryGetTypeContainer(ContainerType.Head, 0, out AttachedContainer HatContainer)) - SpawnItemInSlot(loadout.HatItem, loadout.Hat, HatContainer); + if (inventory.TryGetTypeContainer(ContainerType.Head, 0, out AttachedContainer HatContainer)) + SpawnItemInSlot(loadout.HatItem, loadout.Hat, HatContainer); - if (inventory.TryGetTypeContainer(ContainerType.Glasses, 0, out AttachedContainer GlassesContainer)) - SpawnItemInSlot(loadout.GlassesItem, loadout.Glasses, GlassesContainer); + if (inventory.TryGetTypeContainer(ContainerType.Glasses, 0, out AttachedContainer GlassesContainer)) + SpawnItemInSlot(loadout.GlassesItem, loadout.Glasses, GlassesContainer); - if (inventory.TryGetTypeContainer(ContainerType.Pocket, 0, out AttachedContainer leftPocketContainer)) - SpawnItemInSlot(loadout.LeftPocketItem, loadout.LeftPocket, leftPocketContainer); + if (inventory.TryGetTypeContainer(ContainerType.Pocket, 0, out AttachedContainer leftPocketContainer)) + SpawnItemInSlot(loadout.LeftPocketItem, loadout.LeftPocket, leftPocketContainer); if (inventory.TryGetTypeContainer(ContainerType.Pocket, 1, out AttachedContainer rightPocketContainer)) - SpawnItemInSlot(loadout.RightPocketItem, loadout.RightPocket, rightPocketContainer); + SpawnItemInSlot(loadout.RightPocketItem, loadout.RightPocket, rightPocketContainer); - if (inventory.TryGetTypeContainer(ContainerType.EarRight, 0, out AttachedContainer EarRightContainer)) - SpawnItemInSlot(loadout.RightEarItem, loadout.RightEar, EarRightContainer); + if (inventory.TryGetTypeContainer(ContainerType.EarRight, 0, out AttachedContainer EarRightContainer)) + SpawnItemInSlot(loadout.RightEarItem, loadout.RightEar, EarRightContainer); - if (inventory.TryGetTypeContainer(ContainerType.EarLeft, 0, out AttachedContainer EarLeftContainer)) - SpawnItemInSlot(loadout.LeftEarItem, loadout.LeftEar, EarLeftContainer); + if (inventory.TryGetTypeContainer(ContainerType.EarLeft, 0, out AttachedContainer EarLeftContainer)) + SpawnItemInSlot(loadout.LeftEarItem, loadout.LeftEar, EarLeftContainer); - } + } /// /// Spawns an item inside a container slot after checking for boolean diff --git a/Assets/Scripts/SS3D/Systems/Screens/GameScreenSettings.cs b/Assets/Scripts/SS3D/Systems/Screens/GameScreenSettings.cs index ae175088cf..a4e8b359ec 100644 --- a/Assets/Scripts/SS3D/Systems/Screens/GameScreenSettings.cs +++ b/Assets/Scripts/SS3D/Systems/Screens/GameScreenSettings.cs @@ -3,12 +3,12 @@ namespace SS3D.Systems.Screens { - [ProjectSettings("SS3D/UI", "Game Screen Settings")] - public class GameScreenSettings : ScriptableSettings - { - public float ScaleInOutScale; + [ProjectSettings("SS3D/UI", "Game Screen Settings")] + public class GameScreenSettings : ScriptableSettings + { + public float ScaleInOutScale; - public float FadeInOutDuration; - public float ScaleInOutDuration; - } + public float FadeInOutDuration; + public float ScaleInOutDuration; + } } \ No newline at end of file diff --git a/Assets/Scripts/SS3D/Systems/Screens/LobbyScreen.cs b/Assets/Scripts/SS3D/Systems/Screens/LobbyScreen.cs index ccb816be86..9d9d0643dd 100644 --- a/Assets/Scripts/SS3D/Systems/Screens/LobbyScreen.cs +++ b/Assets/Scripts/SS3D/Systems/Screens/LobbyScreen.cs @@ -5,7 +5,7 @@ namespace SS3D.Systems.Screens { - public sealed class LobbyScreen : GameScreen - { - } + public sealed class LobbyScreen : GameScreen + { + } } \ No newline at end of file diff --git a/Builds/Start SS3D Client - GhostOfBeep.bat b/Builds/Start SS3D Client - GhostOfBeep.bat index 56ede90684..1ce041f32e 100644 --- a/Builds/Start SS3D Client - GhostOfBeep.bat +++ b/Builds/Start SS3D Client - GhostOfBeep.bat @@ -1,2 +1,2 @@ cd Game/ -start SS3D.exe -ip=127.0.0.1 -port=1974 -ckey=GhostOfBeep -skipintro \ No newline at end of file +start SS3D.exe -ip=127.0.0.1 -port=1151 -ckey=GhostOfBeep -skipintro \ No newline at end of file diff --git a/Builds/Start SS3D Host.bat b/Builds/Start SS3D Host.bat index 293b2fba88..f980295190 100644 --- a/Builds/Start SS3D Host.bat +++ b/Builds/Start SS3D Host.bat @@ -1,2 +1,2 @@ cd Game/ -start SS3D.exe -host -port=2158 -ckey=hostingUser -skipintro \ No newline at end of file +start SS3D.exe -host -port=1151 -ckey=hostingUser -skipintro \ No newline at end of file diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index da8ce89cc6..6d68af32ea 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -17,7 +17,7 @@ TagManager: - - Items - Characters - - + - BodyParts - - -