diff --git a/Assets/Items/Pijama.inv b/Assets/Items/Pijama.inv deleted file mode 100644 index efe40e9..0000000 --- a/Assets/Items/Pijama.inv +++ /dev/null @@ -1,16 +0,0 @@ -{ - "Slot": "Body", - "HoldType": "None", - "ImageTexture": null, - "ImageUrl": "https://cdn.sbox.game/asset/pukes.pyjamatop/thumb.png.9405387bc9d8e406", - "ClothUrl": "pukes/pyjamatop", - "Name": "Pyjama Top", - "Description": "Test clothing", - "Prefab": null, - "WeaponDefinition": { - "Position": "0,0,0", - "Rotation": "0,0,0,0" - }, - "__references": [], - "__version": 0 -} \ No newline at end of file diff --git a/Assets/Items/pistol.inv b/Assets/Items/pistol.inv deleted file mode 100644 index 80ef13a..0000000 --- a/Assets/Items/pistol.inv +++ /dev/null @@ -1,47 +0,0 @@ -{ - "Slot": "RightHand", - "HoldType": "Pistol", - "ImageTexture": { - "$compiler": "texture", - "$source": "imagefile", - "data": { - "FilePath": "textures/box_box_parallax_example_texture.png", - "MaxSize": 4096, - "ConvertHeightToNormals": false, - "NormalScale": 1, - "Rotate": 0, - "FlipVertical": false, - "FlipHorizontal": false, - "Padding": { - "Size": "0,0", - "EdgeSize": "0,0" - }, - "Sharpen": 0, - "InvertColor": false, - "Blur": 0, - "Brightness": 1, - "Contrast": 1, - "Saturation": 1, - "Hue": 0, - "Colorize": false, - "TargetColor": "0,1,0,1", - "CacheToDisk": true - }, - "compiled": "textures/generated/imagefile/40617d16d6d5e270.vtex" - }, - "ImageUrl": "https://files.koptilnya.xyz/?r=/download&path=L9Ch0L3QuNC80L7QuiDRjdC60YDQsNC90LAgMjAyNC0wNC0wNSAwMjA3MTIucG5n", - "Name": "Пистун", - "Description": "Стреляй-убивао", - "Count": 1, - "MaxCount": 1, - "Prefab": { - "_type": "gameobject", - "prefab": "prefabs/weapon/pistol_1.prefab" - }, - "WeaponDefinition": { - "Position": "-1.108,0.38,-2.367", - "Rotation": "0.002790701,0.01173679,0.006057173,0.9999089" - }, - "__references": [], - "__version": 0 -} \ No newline at end of file diff --git a/Assets/Items/pistol_ammo.inv b/Assets/Items/pistol_ammo.inv index edbcf09..10e2ef7 100644 --- a/Assets/Items/pistol_ammo.inv +++ b/Assets/Items/pistol_ammo.inv @@ -1,45 +1,12 @@ { - "Slot": "Body", - "HoldType": "None", - "ImageTexture": { - "$compiler": "texture", - "$source": "imagefile", - "data": { - "FilePath": "textures/pistol/fabric080_1k-png_color.png", - "MaxSize": 4096, - "ConvertHeightToNormals": false, - "NormalScale": 1, - "Rotate": 0, - "FlipVertical": false, - "FlipHorizontal": false, - "Padding": { - "Size": "0,0", - "EdgeSize": "0,0" - }, - "Sharpen": 0, - "InvertColor": false, - "Blur": 0, - "Brightness": 1, - "Contrast": 1, - "Saturation": 1, - "Hue": 0, - "Colorize": false, - "TargetColor": "0,1,0,1", - "CacheToDisk": true - }, - "compiled": "textures/generated/imagefile/99bb31e0375ff700.vtex" - }, - "ImageUrl": null, "Name": "Pistol Ammo", - "Description": "ammo для пистолетоу", + "Description": "test pistol ammo", "Prefab": { "_type": "gameobject", "prefab": "prefabs/weapon/ammobox.prefab" }, - "WeaponDefinition": { - "Position": "0,0,0", - "Rotation": "0,0,0,0" - }, + "ImageTexture": null, + "ImageUrl": "data:image/jpeg;base64,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", "__references": [], "__version": 0 } \ No newline at end of file diff --git a/Assets/Items/shorts_1.inv b/Assets/Items/shorts_1.inv deleted file mode 100644 index 0da3967..0000000 --- a/Assets/Items/shorts_1.inv +++ /dev/null @@ -1,16 +0,0 @@ -{ - "Slot": "None", - "HoldType": "None", - "ImageTexture": null, - "ImageUrl": "https://cdn.sbox.game/org/doubletrouble/denimshorts/thumb/03a1325a-4ac5-4884-8cc2-b379a01b976c.png", - "ClothUrl": "doubletrouble/denimshorts", - "Name": "Denim Shorts", - "Description": "test shorts", - "Prefab": null, - "WeaponDefinition": { - "Position": "0,0,0", - "Rotation": "0,0,0,0" - }, - "__references": [], - "__version": 0 -} \ No newline at end of file diff --git a/Assets/prefabs/Player.prefab b/Assets/prefabs/Player.prefab index 16ee3ea..e6a3691 100644 --- a/Assets/prefabs/Player.prefab +++ b/Assets/prefabs/Player.prefab @@ -2028,9 +2028,9 @@ "__version": 1, "Flags": 8, "Name": "ankle_R", - "Position": "0.4100335,-4.377071,3.807489", - "Rotation": "0.6728557,0.2185201,-0.3316683,0.6241075", - "Scale": "1.000002,1.000002,1.000002", + "Position": "0.4099646,-4.377359,3.807756", + "Rotation": "0.6728516,0.2185292,-0.3316596,0.6241136", + "Scale": "1.000001,1.000001,1.000001", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2045,9 +2045,9 @@ "__version": 1, "Flags": 8, "Name": "ankle_L", - "Position": "0.4083832,4.427598,3.805829", - "Rotation": "0.6245875,0.3321067,-0.218319,0.6722592", - "Scale": "1,1,1", + "Position": "0.4083393,4.427768,3.806167", + "Rotation": "0.6245928,0.3320992,-0.2183265,0.6722555", + "Scale": "1.000001,1.000001,1.000001", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2062,9 +2062,9 @@ "__version": 1, "Flags": 8, "Name": "arm_lower_R", - "Position": "-2.305881,-8.654749,40.97688", - "Rotation": "0.5030814,0.3782525,-0.540166,0.5586189", - "Scale": "1.000004,1.000004,1.000004", + "Position": "-2.567823,-9.414575,40.7076", + "Rotation": "0.4924873,0.3660672,-0.5479427,0.5685155", + "Scale": "1.000005,1.000005,1.000005", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2079,9 +2079,9 @@ "__version": 1, "Flags": 8, "Name": "arm_lower_L", - "Position": "-1.954972,9.871452,41.46471", - "Rotation": "0.5850527,0.5385041,-0.3695764,0.4807702", - "Scale": "1.000003,1.000003,1.000003", + "Position": "-2.410847,9.395028,40.69125", + "Rotation": "0.5735433,0.5426417,-0.3705063,0.4891964", + "Scale": "1.000005,1.000005,1.000005", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2096,9 +2096,9 @@ "__version": 1, "Flags": 8, "Name": "hand_R", - "Position": "-1.301779,-10.37271,33.53143", - "Rotation": "0.4744667,0.3565034,-0.5969852,0.5398108", - "Scale": "1.000005,1.000005,1.000005", + "Position": "-1.554352,-11.43732,33.34042", + "Rotation": "0.4642905,0.3432117,-0.604311,0.5490432", + "Scale": "1.000007,1.000007,1.000007", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2113,9 +2113,9 @@ "__version": 1, "Flags": 8, "Name": "hand_L", - "Position": "-0.8232388,11.98876,34.14148", - "Rotation": "0.5664198,0.5951051,-0.345663,0.4533604", - "Scale": "1.000003,1.000003,1.000003", + "Position": "-1.358666,11.39837,33.32423", + "Rotation": "0.5545862,0.5991901,-0.3473969,0.4612166", + "Scale": "1.000006,1.000006,1.000006", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2130,9 +2130,9 @@ "__version": 1, "Flags": 8, "Name": "hold_R", - "Position": "0.1027977,-8.932137,27.48148", - "Rotation": "0.3143174,0.7234542,0.06842977,0.6108487", - "Scale": "1.000005,1.000005,1.000005", + "Position": "-0.1356873,-10.24809,27.23935", + "Rotation": "0.3025265,0.7237881,0.05324486,0.6178782", + "Scale": "1.000008,1.000008,1.000008", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2147,9 +2147,9 @@ "__version": 1, "Flags": 8, "Name": "hold_L", - "Position": "0.5759228,10.85694,28.0248", - "Rotation": "-0.2817041,0.7288769,-0.05973086,0.6211389", - "Scale": "1.000004,1.000004,1.000004", + "Position": "0.03949806,10.18287,27.22342", + "Rotation": "-0.2958933,0.7264506,-0.0589573,0.6174469", + "Scale": "1.000007,1.000007,1.000007", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2165,7 +2165,7 @@ "Flags": 8, "Name": "IK_right_hand", "Position": "-1.684358,-11.3081,33.23968", - "Rotation": "0.4603033,0.3490921,-0.6097354,0.5426587", + "Rotation": "0.4603033,0.3490922,-0.6097354,0.5426587", "Scale": "1,1,1", "Tags": "", "Enabled": true, @@ -2198,9 +2198,9 @@ "__version": 1, "Flags": 8, "Name": "leg_lower_R", - "Position": "2.141828,-4.433267,16.20256", - "Rotation": "0.4914648,0.5026264,-0.5626303,0.435059", - "Scale": "1,1,1", + "Position": "2.852134,-4.64673,16.07982", + "Rotation": "0.4771746,0.5220156,-0.5701445,0.4180185", + "Scale": "1.000002,1.000002,1.000002", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2215,8 +2215,8 @@ "__version": 1, "Flags": 8, "Name": "leg_lower_L", - "Position": "2.990841,4.839132,16.04515", - "Rotation": "0.4134015,0.568549,-0.5290765,0.4753201", + "Position": "2.710925,4.660064,16.10588", + "Rotation": "0.4209704,0.5689973,-0.5179102,0.4804112", "Scale": "1.000001,1.000001,1.000001", "Tags": "", "Enabled": true, @@ -2232,9 +2232,9 @@ "__version": 1, "Flags": 8, "Name": "middle_of_both_hands", - "Position": "-0.8430352,0.9475369,29.01887", - "Rotation": "0.01926278,0.7531982,0.004356876,0.6574971", - "Scale": "1.000004,1.000004,1.000004", + "Position": "-1.265596,-0.021348,28.53136", + "Rotation": "0.003585241,0.7594557,-0.003357793,0.6505405", + "Scale": "1.000006,1.000006,1.000006", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2249,9 +2249,9 @@ "__version": 1, "Flags": 8, "Name": "driver_arm_upper_R_twist1", - "Position": "-1.400206,-7.729323,45.82975", + "Position": "-1.681034,-8.291717,45.52214", "Rotation": "0,0,0,1", - "Scale": "1.000003,1.000003,1.000003", + "Scale": "1.000005,1.000005,1.000005", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2266,9 +2266,9 @@ "__version": 1, "Flags": 8, "Name": "driver_arm_lower_R_twist1", - "Position": "-1.80383,-9.513729,37.25415", + "Position": "-2.061087,-10.42595,37.02401", "Rotation": "0,0,0,1", - "Scale": "1.000004,1.000004,1.000004", + "Scale": "1.000006,1.000006,1.000006", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2283,9 +2283,9 @@ "__version": 1, "Flags": 8, "Name": "driver_elbow_R_position", - "Position": "-2.314887,-8.657202,40.97291", - "Rotation": "-0.0298567,-0.6296679,0.7760905,0.01761862", - "Scale": "1.000004,1.000004,1.000004", + "Position": "-2.574409,-9.417637,40.70373", + "Rotation": "-0.03302322,-0.6136653,0.7886796,0.01757571", + "Scale": "1.000006,1.000006,1.000006", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2300,9 +2300,9 @@ "__version": 1, "Flags": 8, "Name": "driver_elbow_L_position", - "Position": "-1.963849,9.874497,41.4608", - "Rotation": "-0.04279031,0.7921829,-0.6040214,0.07598255", - "Scale": "1.000003,1.000003,1.000003", + "Position": "-2.417371,9.398232,40.68735", + "Rotation": "-0.05309913,0.7858217,-0.6108508,0.08078353", + "Scale": "1.000005,1.000005,1.000005", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2317,9 +2317,9 @@ "__version": 1, "Flags": 8, "Name": "driver_arm_upper_L_twist1", - "Position": "-1.12625,8.624744,46.25906", + "Position": "-1.545969,8.256403,45.50608", "Rotation": "0,0,0,1", - "Scale": "1.000002,1.000002,1.000002", + "Scale": "1.000005,1.000005,1.000005", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2334,9 +2334,9 @@ "__version": 1, "Flags": 8, "Name": "driver_arm_lower_L_twist1", - "Position": "-1.389105,10.93011,37.80309", + "Position": "-1.884756,10.3967,37.00774", "Rotation": "0,0,0,1", - "Scale": "1.000003,1.000003,1.000003", + "Scale": "1.000006,1.000006,1.000006", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2351,9 +2351,9 @@ "__version": 1, "Flags": 8, "Name": "driver_leg_upper_R_twist1", - "Position": "1.383293,-4.265827,23.39594", + "Position": "1.835075,-4.537014,23.24235", "Rotation": "0,0,0,1", - "Scale": "1.000001,1.000001,1.000001", + "Scale": "1.000002,1.000002,1.000002", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2368,9 +2368,9 @@ "__version": 1, "Flags": 8, "Name": "driver_leg_upper_L_twist1", - "Position": "1.837544,4.795762,23.18769", + "Position": "1.777929,4.543681,23.27972", "Rotation": "0,0,0,1", - "Scale": "1,1,1", + "Scale": "1.000001,1.000001,1.000001", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2385,9 +2385,9 @@ "__version": 1, "Flags": 8, "Name": "driver_kneecap_R_position", - "Position": "2.503448,-4.474622,16.17259", - "Rotation": "0.5185856,0.4737309,-0.5330592,0.4716947", - "Scale": "1.000001,1.000001,1.000001", + "Position": "3.351182,-4.701256,16.04174", + "Rotation": "0.5169078,0.4808557,-0.5317466,0.4677923", + "Scale": "1.000002,1.000002,1.000002", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2402,8 +2402,8 @@ "__version": 1, "Flags": 8, "Name": "driver_kneecap_L_position", - "Position": "3.534691,4.896688,16.00735", - "Rotation": "0.7001207,0.04391778,0.02674206,0.7121707", + "Position": "3.176064,4.711613,16.06872", + "Rotation": "0.7050594,0.04671752,0.02711059,0.7070882", "Scale": "1.000001,1.000001,1.000001", "Tags": "", "Enabled": true, @@ -2419,9 +2419,9 @@ "__version": 1, "Flags": 8, "Name": "driver_leg_lower_R_twist1", - "Position": "1.275923,-4.405165,10.00504", + "Position": "1.63105,-4.512045,9.943793", "Rotation": "0,0,0,1", - "Scale": "1.000001,1.000001,1.000001", + "Scale": "1.000003,1.000003,1.000003", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2436,9 +2436,9 @@ "__version": 1, "Flags": 8, "Name": "driver_leg_lower_L_twist1", - "Position": "1.699609,4.633352,9.925488", + "Position": "1.55963,4.543931,9.956005", "Rotation": "0,0,0,1", - "Scale": "1.000001,1.000001,1.000001", + "Scale": "1.000002,1.000002,1.000002", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2453,9 +2453,9 @@ "__version": 1, "Flags": 8, "Name": "forward_reference_modelspace", - "Position": "-0.2639478,0.2526502,43.42427", + "Position": "-0.4114534,0.001021107,43.38918", "Rotation": "0,0,0,1", - "Scale": "1.000001,1.000001,1.000001", + "Scale": "1.000002,1.000002,1.000002", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2470,9 +2470,9 @@ "__version": 1, "Flags": 8, "Name": "eyes", - "Position": "5.885584,-0.1965587,63.25779", - "Rotation": "0.0126497,-0.01464069,-0.01462483,0.9997059", - "Scale": "1.000002,1.000002,1.000002", + "Position": "5.407951,-0.1355422,63.24592", + "Rotation": "-0.0007134229,-0.01552102,-0.01144814,0.9998137", + "Scale": "1.000004,1.000004,1.000004", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2487,9 +2487,9 @@ "__version": 1, "Flags": 8, "Name": "eye_R_forward", - "Position": "5.788969,-3.540511,63.17171", - "Rotation": "0.0126497,-0.01464069,-0.01462483,0.9997059", - "Scale": "1.000002,1.000002,1.000002", + "Position": "5.331269,-3.481122,63.24951", + "Rotation": "-0.0007134229,-0.01552102,-0.01144814,0.9998137", + "Scale": "1.000004,1.000004,1.000004", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2504,9 +2504,9 @@ "__version": 1, "Flags": 8, "Name": "eye_L_forward", - "Position": "5.982198,3.147393,63.34386", - "Rotation": "0.0126497,-0.01464069,-0.01462483,0.9997059", - "Scale": "1.000002,1.000002,1.000002", + "Position": "5.484632,3.210038,63.24234", + "Rotation": "-0.0007134229,-0.01552102,-0.01144814,0.9998137", + "Scale": "1.000004,1.000004,1.000004", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2521,9 +2521,9 @@ "__version": 1, "Flags": 8, "Name": "forward_reference", - "Position": "0.779397,0.1321325,56.21957", - "Rotation": "0.0126497,-0.01464069,-0.01462483,0.9997059", - "Scale": "1.000002,1.000002,1.000002", + "Position": "0.3106461,-0.02626462,56.19444", + "Rotation": "-0.0007134229,-0.01552102,-0.01144814,0.9998137", + "Scale": "1.000004,1.000004,1.000004", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2538,9 +2538,9 @@ "__version": 1, "Flags": 8, "Name": "foot_R", - "Position": "1.982155,-4.910447,0.1893355", - "Rotation": "0.0004867911,-0.0000140816,-0.08711611,0.9961981", - "Scale": "1.000002,1.000002,1.000002", + "Position": "1.982103,-4.910701,0.1895912", + "Rotation": "0.0004849434,-0.00001452863,-0.08709995,0.9961995", + "Scale": "1.000004,1.000004,1.000004", "Tags": "", "Enabled": true, "NetworkMode": 2, @@ -2555,8 +2555,8 @@ "__version": 1, "Flags": 8, "Name": "foot_L", - "Position": "1.978698,4.966865,1.053316", - "Rotation": "-0.0872355,0.9961876,0.0004070103,0.00001410835", + "Position": "1.978663,4.967034,1.053633", + "Rotation": "-0.08722261,0.9961888,0.0004088581,0.00001432814", "Scale": "1.000002,1.000002,1.000002", "Tags": "", "Enabled": true, @@ -2572,9 +2572,9 @@ "__version": 1, "Flags": 8, "Name": "hat", - "Position": "0.6251416,-0.2530355,71.37424", - "Rotation": "0.0126497,-0.01464069,-0.01462483,0.9997059", - "Scale": "1.000002,1.000002,1.000002", + "Position": "0.1355461,-0.005559167,71.35379", + "Rotation": "-0.0007134229,-0.01552102,-0.01144814,0.9998137", + "Scale": "1.000004,1.000004,1.000004", "Tags": "", "Enabled": true, "NetworkMode": 2, diff --git a/Code/Inventory/Definitions/BaseItemDefinition.cs b/Code/Inventory/Definitions/BaseItemDefinition.cs new file mode 100644 index 0000000..d843ecb --- /dev/null +++ b/Code/Inventory/Definitions/BaseItemDefinition.cs @@ -0,0 +1,12 @@ +namespace Sasalka; + +[GameResource( "Base Item Definition", "inv", "", Category = "Sasalka", Icon = "inventory_2" )] +public class BaseItemDefinition : GameResource +{ + public string Name { get; set; } + + public string Description { get; set; } + [ResourceType( "prefab" )] public GameObject Prefab { get; set; } + public Texture ImageTexture { get; set; } + public string ImageUrl { get; set; } +} diff --git a/Code/Inventory/Definitions/ClothingItemDefinition.cs b/Code/Inventory/Definitions/ClothingItemDefinition.cs new file mode 100644 index 0000000..9126452 --- /dev/null +++ b/Code/Inventory/Definitions/ClothingItemDefinition.cs @@ -0,0 +1,8 @@ +namespace Sasalka; + +[GameResource( "Clothing Item Definition", "clitem", "", Category = "Sasalka", Icon = "inventory_2" )] +public class ClothingItemDefinition : BaseItemDefinition, IEquipable +{ + [Property] public string ClothUrl { get; set; } + public Inventar.InventorySlot Slot { get; set; } +} diff --git a/Code/Inventory/Definitions/IEquipable.cs b/Code/Inventory/Definitions/IEquipable.cs new file mode 100644 index 0000000..bf16e0f --- /dev/null +++ b/Code/Inventory/Definitions/IEquipable.cs @@ -0,0 +1,6 @@ +namespace Sasalka; + +public interface IEquipable +{ + Inventar.InventorySlot Slot { get; } +} diff --git a/Code/Inventory/InventoryItemDefinition.cs b/Code/Inventory/Definitions/WeaponItemDefinition.cs similarity index 56% rename from Code/Inventory/InventoryItemDefinition.cs rename to Code/Inventory/Definitions/WeaponItemDefinition.cs index 1892581..ee546fe 100644 --- a/Code/Inventory/InventoryItemDefinition.cs +++ b/Code/Inventory/Definitions/WeaponItemDefinition.cs @@ -2,23 +2,11 @@ namespace Sasalka; -[GameResource( "Inventory Item Definition", "inv", "", Category = "Sasalka", Icon = "inventory_2" )] -public class InventoryItemDefinition : GameResource +[GameResource( "Weapon Item Definition", "weapon", "", Category = "Sasalka", Icon = "inventory_2" )] +public class WeaponItemDefinition : BaseItemDefinition, IEquipable { public Inventar.InventorySlot Slot { get; set; } - public CitizenAnimationHelper.HoldTypes HoldType { get; set; } = CitizenAnimationHelper.HoldTypes.None; - - public Texture ImageTexture { get; set; } - - public string ImageUrl { get; set; } - public string ClothUrl { get; set; } - - public string Name { get; set; } - - public string Description { get; set; } - [ResourceType( "prefab" )] public GameObject Prefab { get; set; } - [InlineEditor, Space] public WeaponDefinition WeaponDefinition { get; set; } } diff --git a/Code/Inventory/Inventar.cs b/Code/Inventory/Inventar.cs index c07dada..33fa20d 100644 --- a/Code/Inventory/Inventar.cs +++ b/Code/Inventory/Inventar.cs @@ -17,20 +17,12 @@ public class Inventar public List Items { get; private set; } = new(); public static bool IsInventoryOpen = false; - - // public Dictionary EquippedItems { get; private set; } = new(); public Dictionary EquippedItems { get; private set; } = new(); public event Action OnChanged; public event Action OnEquipped; public event Action OnUnEquipped; - // public class EquippedItem - // { - // public InventoryItem Item { get; set; } - // public GameObject SpawnedObject { get; set; } - // } - public void AddItem( InventoryItem item ) { Items.Add( item ); @@ -44,15 +36,30 @@ public class Inventar OnChanged?.Invoke(); } + // public void EquipItem( InventoryItem item ) + // { + // if ( EquippedItems.ContainsValue( item ) ) + // { + // UnEquipItem( item ); + // } + // else + // { + // EquippedItems.Add( item.Definition.Slot, item ); + // OnEquipped?.Invoke( item ); + // } + // } + public void EquipItem( InventoryItem item ) { + if ( item.Definition is not IEquipable equipable ) return; + if ( EquippedItems.ContainsValue( item ) ) { UnEquipItem( item ); } else { - EquippedItems.Add( item.Definition.Slot, item ); + EquippedItems[equipable.Slot] = item; OnEquipped?.Invoke( item ); } } diff --git a/Code/Inventory/InventoryItem.cs b/Code/Inventory/InventoryItem.cs index e1d1a44..a77ec1f 100644 --- a/Code/Inventory/InventoryItem.cs +++ b/Code/Inventory/InventoryItem.cs @@ -4,12 +4,7 @@ namespace Sasalka; public class InventoryItem : Component { - public InventoryItemDefinition Definition { get; set; } - + public BaseItemDefinition Definition { get; set; } public int Count { get; set; } = 1; public int MaxCount { get; set; } = 1; - - // public GameObject SpawnedObject { get; set; } } -// public int Count { get; set; } = 1; -// public int MaxCount { get; set; } = 1; diff --git a/Code/Player/Dedugan.Inventory.cs b/Code/Player/Dedugan.Inventory.cs index 2ab270f..7825a70 100644 --- a/Code/Player/Dedugan.Inventory.cs +++ b/Code/Player/Dedugan.Inventory.cs @@ -18,22 +18,22 @@ public sealed partial class Dedugan : Component Inventory.AddItem( new InventoryItem { - Definition = ResourceLibrary.Get( "Items/Pijama.inv" ) + Definition = ResourceLibrary.Get( "Items/cloth_pijama.clitem" ) } ); + // Inventory.AddItem( new InventoryItem + // { + // Definition = ResourceLibrary.Get( "Items/shorts_1.inv" ) + // } ); + Inventory.AddItem( new InventoryItem { - Definition = ResourceLibrary.Get( "Items/shorts_1.inv" ) - } ); - - Inventory.AddItem( new InventoryItem - { - Definition = ResourceLibrary.Get( "Items/pistol.inv" ) + Definition = ResourceLibrary.Get( "Items/pistol_test.weapon" ) } ); var ammo = new InventoryItem { - Definition = ResourceLibrary.Get( "Items/pistol_ammo.inv" ) + Definition = ResourceLibrary.Get( "Items/pistol_ammo.inv" ) }; ammo.Count = 30; ammo.MaxCount = 130; @@ -46,17 +46,16 @@ public sealed partial class Dedugan : Component private void OnItemEquipped( InventoryItem item ) { - if ( item.Definition.Prefab.IsValid() ) + // Если это оружие + if ( item.Definition is WeaponItemDefinition weaponDef && weaponDef.Prefab.IsValid() ) { - var go = item.Definition.Prefab.Clone(); + var go = weaponDef.Prefab.Clone(); - AnimationHelper.HoldType = item.Definition.HoldType; + AnimationHelper.HoldType = weaponDef.HoldType; - switch ( item.Definition.Slot ) + switch ( weaponDef.Slot ) { case Inventar.InventorySlot.LeftHand | Inventar.InventorySlot.RightHand: - go.Parent = Renderer.GetAttachmentObject( "hold_R" ); - break; case Inventar.InventorySlot.RightHand: go.Parent = Renderer.GetAttachmentObject( "hold_R" ); break; @@ -68,12 +67,12 @@ public sealed partial class Dedugan : Component break; } - go.LocalPosition = item.Definition.WeaponDefinition.Position; - go.LocalRotation = item.Definition.WeaponDefinition.Rotation; + go.LocalPosition = weaponDef.WeaponDefinition.Position; + go.LocalRotation = weaponDef.WeaponDefinition.Rotation; go.NetworkSpawn(); - var hand = item.Definition.Slot switch + var hand = weaponDef.Slot switch { Inventar.InventorySlot.LeftHand => CitizenAnimationHelper.Hand.Left, Inventar.InventorySlot.RightHand => CitizenAnimationHelper.Hand.Right, @@ -81,37 +80,34 @@ public sealed partial class Dedugan : Component _ => CitizenAnimationHelper.Hand.Both }; - AnimationHelper.HoldType = item.Definition.HoldType; AnimationHelper.Handedness = hand; - RpcSetHoldAnimation( item.Definition.HoldType, hand ); + RpcSetHoldAnimation( weaponDef.HoldType, hand ); InAds = true; - // item.SpawnedObject = go; } - else + // Если это одежда + else if ( item.Definition is ClothingItemDefinition clothingDef ) { - WearWorkshop( new List() { item.Definition.ClothUrl } ); + WearWorkshop( new List() { clothingDef.ClothUrl } ); } } + private void OnItemUnEquipped( InventoryItem item ) { - if ( item.Definition.Prefab.IsValid() ) + if ( item.Definition is WeaponItemDefinition weaponDef && weaponDef.Prefab.IsValid() ) { - switch ( item.Definition.Slot ) + switch ( weaponDef.Slot ) { case Inventar.InventorySlot.LeftHand | Inventar.InventorySlot.RightHand: case Inventar.InventorySlot.RightHand: case Inventar.InventorySlot.LeftHand: - var attachmentName = !item.Definition.Slot.HasFlag( Inventar.InventorySlot.RightHand ) + var attachmentName = !weaponDef.Slot.HasFlag( Inventar.InventorySlot.RightHand ) ? "hold_L" : "hold_R"; Renderer.GetAttachmentObject( attachmentName ).Children.ForEach( child => child.Destroy() ); - // AnimationHelper.Handedness = CitizenAnimationHelper.Hand.Both; - // AnimationHelper.HoldType = CitizenAnimationHelper.HoldTypes.None; - RpcSetHoldAnimation( CitizenAnimationHelper.HoldTypes.None, CitizenAnimationHelper.Hand.Both ); break; default: @@ -120,15 +116,12 @@ public sealed partial class Dedugan : Component break; } - // item.SpawnedObject = null; item.Destroy(); - InAds = false; } - else + else if ( item.Definition is ClothingItemDefinition clothingDef ) { - Log.Info( "STRIPPIN" ); - StripByName( item.Definition.Name ); + StripByName( clothingDef.Name ); } } diff --git a/Code/Player/Dedugan.Player.cs b/Code/Player/Dedugan.Player.cs index 1b235ca..9e08e03 100644 --- a/Code/Player/Dedugan.Player.cs +++ b/Code/Player/Dedugan.Player.cs @@ -81,27 +81,24 @@ partial class Dedugan CancellationTokenSource _cts; [Rpc.Broadcast] - public async void WearWorkshop( List workshopItems ) + public void WearWorkshop( List workshopItems ) { _cts = new CancellationTokenSource(); var token = _cts.Token; - // var clothing = new ClothingContainer(); - // clothing.AddRange( Clothings ); - if ( workshopItems != null && workshopItems.Count > 0 ) { - var tasks = workshopItems.Select( x => InstallWorkshopClothing( x, token ) ); + Task.WhenAll( workshopItems.Select( x => InstallWorkshopClothing( x, token ) ) ) + .ContinueWith( ( tasks ) => + { + foreach ( var cloth in tasks.Result ) + { + if ( cloth is null ) + continue; - foreach ( var task in tasks ) - { - var c = await task; - - if ( c is null ) - continue; - - CurrentClothing.Add( c ); - } + CurrentClothing.Add( cloth ); + } + } ); } CurrentClothing.Normalize(); @@ -109,6 +106,31 @@ partial class Dedugan Renderer.PostAnimationUpdate(); } + // public async void AsyncWearWorkshop( List workshopItems ) + // { + // _cts = new CancellationTokenSource(); + // var token = _cts.Token; + // + // if ( workshopItems != null && workshopItems.Count > 0 ) + // { + // var tasks = workshopItems.Select( x => InstallWorkshopClothing( x, token ) ); + // + // foreach ( var task in tasks ) + // { + // var c = await task; + // + // if ( c is null ) + // continue; + // + // CurrentClothing.Add( c ); + // } + // } + // + // CurrentClothing.Normalize(); + // CurrentClothing.Apply( Renderer ); + // Renderer.PostAnimationUpdate(); + // } + [Rpc.Broadcast] public void StripByName( string name ) { diff --git a/sasalka.sln.DotSettings.user b/sasalka.sln.DotSettings.user index 88ba20c..2967285 100644 --- a/sasalka.sln.DotSettings.user +++ b/sasalka.sln.DotSettings.user @@ -12,6 +12,8 @@ ForceIncluded ForceIncluded ForceIncluded + ForceIncluded + ForceIncluded ForceIncluded ForceIncluded ForceIncluded @@ -54,6 +56,8 @@ ForceIncluded ForceIncluded ForceIncluded + ForceIncluded + ForceIncluded ForceIncluded ForceIncluded ForceIncluded