diff --git a/MrBigsock/Assets/Code/Character.cs b/MrBigsock/Assets/Code/Character.cs index cbed6e51c1926918ef5d0bf72d9373503ddcc1b5..5a1579b6c6f56eb09c266ec04344845ab7ed9526 100644 --- a/MrBigsock/Assets/Code/Character.cs +++ b/MrBigsock/Assets/Code/Character.cs @@ -13,6 +13,7 @@ namespace BigSock { */ public partial class Character : Entity { + public const float MOVE_MULTIPLIER = 0.7f; /* Attack speed of the character. */ @@ -207,15 +208,17 @@ namespace BigSock { StartCoroutine(knockBackTimer()); } + /* Try to move in a given direction. */ protected virtual bool TryMove(Vector2 direction) { + moveDir = direction; if(direction != Vector2.zero && !inKnockBack) { //Using movePosition to get a "snappy" movement. //rb.AddForce(direction * (float) MovementSpeed * Time.fixedDeltaTime, ForceMode2D.Impulse); - rb.MovePosition((Vector2)transform.position + (direction * (float) MovementSpeed * Time.fixedDeltaTime)); + rb.MovePosition((Vector2)transform.position + (direction * (float) MovementSpeed * Time.fixedDeltaTime * MOVE_MULTIPLIER)); //rb.velocity = (direction * (float) MovementSpeed); return true; } diff --git a/MrBigsock/Assets/Code/Core/Abilities/BasicProjectile2.cs b/MrBigsock/Assets/Code/Core/Abilities/BasicProjectile2.cs index f24257d46c4f0c0a32f5f4db7e87e44c55d1a5b8..55b278b3c8503c895cb2fada6359d2c8d390b0f8 100644 --- a/MrBigsock/Assets/Code/Core/Abilities/BasicProjectile2.cs +++ b/MrBigsock/Assets/Code/Core/Abilities/BasicProjectile2.cs @@ -38,10 +38,10 @@ namespace BigSock { CritDamageModifier = 2f, }; Cooldown = new TimeSpan(0, 0, 0, 1, 0); - ManaCost = 2; + ManaCost = 4; FireType = FireType.Charge; MinCharge = 0.01f; - MaxCharge = 4f; + MaxCharge = 2f; } @@ -64,7 +64,7 @@ namespace BigSock { // If charged for 30% of max or more, increase. var chargeProp = par.ChargeTimePercent; if(chargeProp > 0.3f) { - attack.Damage *= 1f + chargeProp * 2.5f; + attack.Damage *= 1f + chargeProp * 2.0f; attack.Knockback *= 1f + chargeProp * 2.0f; attack.Range *= 1f + chargeProp * 1.25f; attack.ProjectileSpeed *= 1f + chargeProp * 0.75f; diff --git a/MrBigsock/Assets/Code/PlayerController.cs b/MrBigsock/Assets/Code/PlayerController.cs index b3f633f0768031e4567843acdbb72f1d1198f8f8..cfb1e8f64bce7c461e2c126023b51cef834af3ce 100644 --- a/MrBigsock/Assets/Code/PlayerController.cs +++ b/MrBigsock/Assets/Code/PlayerController.cs @@ -49,7 +49,7 @@ namespace BigSock { private List<List<KeyCode>> _keyMapping = new List<List<KeyCode>> { new List<KeyCode>{KeyCode.Space, KeyCode.Mouse0}, new List<KeyCode>{KeyCode.Z}, - new List<KeyCode>{KeyCode.C}, + new List<KeyCode>{KeyCode.C, KeyCode.Mouse1}, new List<KeyCode>{KeyCode.LeftShift}, }; @@ -63,10 +63,10 @@ namespace BigSock { public PlayerController() { - TryPickUpItem(ItemService.SINGLETON.Get(201)); - TryPickUpItem(ItemService.SINGLETON.Get(105)); - TryPickUpItem(ItemService.SINGLETON.Get(202)); - TryPickUpItem(ItemService.SINGLETON.Get(101)); + //TryPickUpItem(ItemService.SINGLETON.Get(201)); + //TryPickUpItem(ItemService.SINGLETON.Get(105)); + //TryPickUpItem(ItemService.SINGLETON.Get(202)); + //TryPickUpItem(ItemService.SINGLETON.Get(101)); } /* diff --git a/MrBigsock/Assets/Code/UI/InvTrash.cs b/MrBigsock/Assets/Code/UI/InvTrash.cs new file mode 100644 index 0000000000000000000000000000000000000000..67cf0351b749f841c2250a2a656ea32cb395625f --- /dev/null +++ b/MrBigsock/Assets/Code/UI/InvTrash.cs @@ -0,0 +1,37 @@ +using BigSock.Item; +using System.Collections; +using UnityEngine; +using UnityEngine.EventSystems; + +namespace BigSock.UI +{ + public class InvTrash : MonoBehaviour, IDropHandler + { + public Inventory inventory; + public void OnDrop(PointerEventData eventData) + { + // Get the item prefab that was dropped. + var itemPref = eventData?.pointerDrag?.GetComponent<ItemPref>(); + + // Cancel if we didn't move an item prefab, or it was empty. + if (itemPref?.item == null) return; + + // Try to move the item in the inventory. + var didMove = inventory.DropItem( + itemPref.item, itemPref.itemSlot.inventoryType, + itemPref.itemSlot.position) ; + + // If we successfully moved the item in the inventory: update the gui. + if (didMove) itemPref.itemSlot.item = null; + + Destroy(itemPref.gameObject); + + /* + Notes: + - This doesn't handle what to do if this slot already had an item. + - This isn't a problem currently, since the inventory system will refuse to move an item into an occupied slot. + - If we want to add features to swap 2 items, this will need to be addressed. + */ + } + } +} \ No newline at end of file diff --git a/MrBigsock/Assets/Code/UI/InvTrash.cs.meta b/MrBigsock/Assets/Code/UI/InvTrash.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..071218bdead7ae7bf2fafe8ef6d35410f47d3e9f --- /dev/null +++ b/MrBigsock/Assets/Code/UI/InvTrash.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ba55607c944ca6249a4a2fc8f1d66a19 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/MrBigsock/Assets/Code/UI/InventoryPanel.cs b/MrBigsock/Assets/Code/UI/InventoryPanel.cs index c17694bfd5aee6e1901f72023c4305c57e113a9c..10bf9c0a97a3b69a4ffecfdf803d3885e390c172 100644 --- a/MrBigsock/Assets/Code/UI/InventoryPanel.cs +++ b/MrBigsock/Assets/Code/UI/InventoryPanel.cs @@ -38,7 +38,13 @@ namespace BigSock.UI public void GenerateInv() { if(player == null) return; var inventory = player.Inventory; - + + var trash = transform.Find("Trash")?.GetComponent<InvTrash>(); + if(trash != null) + { + trash.inventory = inventory; + } + for (int i = 0; i < inventory.Backpack.Count; ++i) { var invSlot = PrefabService.SINGLETON.Instance(INVSLOT, gridBackPack.transform); var invScript = invSlot.GetComponent<ItemSlot>(); diff --git a/MrBigsock/Assets/Resources/Prefabs/UI/PlayerMenu.prefab b/MrBigsock/Assets/Resources/Prefabs/UI/PlayerMenu.prefab index c6a5d6262e4aeb61101ce35db73bd58de06b0a6c..59cd425b0a1e42c12f13fa9348bc34757b81e714 100644 --- a/MrBigsock/Assets/Resources/Prefabs/UI/PlayerMenu.prefab +++ b/MrBigsock/Assets/Resources/Prefabs/UI/PlayerMenu.prefab @@ -1,5 +1,132 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &1129722667374894997 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3868799954390780443} + - component: {fileID: 892321226531584745} + m_Layer: 5 + m_Name: Trash + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3868799954390780443 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1129722667374894997} + 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: 6848869700729060921} + - {fileID: 2996545226364783487} + m_Father: {fileID: 2798578356297693801} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 632, y: -335.59} + m_SizeDelta: {x: 125.82, y: 131.29} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &892321226531584745 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1129722667374894997} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ba55607c944ca6249a4a2fc8f1d66a19, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1972583244454335229 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6848869700729060921} + - component: {fileID: 2535367375250591955} + - component: {fileID: 6866625797990899694} + m_Layer: 5 + m_Name: CanSprite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6848869700729060921 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1972583244454335229} + 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: 3868799954390780443} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0.0037841797} + m_SizeDelta: {x: 125.82, y: 131.2876} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2535367375250591955 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1972583244454335229} + m_CullTransparentMesh: 1 +--- !u!114 &6866625797990899694 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1972583244454335229} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 590234ebe9aaf954e8c14104487b70ab, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &1984925892425559369 GameObject: m_ObjectHideFlags: 0 @@ -269,6 +396,141 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &5299523473540714684 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2996545226364783487} + - component: {fileID: 6829151628699981485} + - component: {fileID: 6202564191194382474} + m_Layer: 5 + m_Name: TrashText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2996545226364783487 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5299523473540714684} + 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: 3868799954390780443} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -20.9465, y: 25.592} + m_SizeDelta: {x: 167.7132, y: 51.1839} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6829151628699981485 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5299523473540714684} + m_CullTransparentMesh: 1 +--- !u!114 &6202564191194382474 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5299523473540714684} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Trash + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: e857f237b99c94446ac9245ad3c63278, type: 2} + m_sharedMaterial: {fileID: -7229789301584090785, guid: e857f237b99c94446ac9245ad3c63278, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 57.37915, y: 9.943207, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &9075467423006100176 GameObject: m_ObjectHideFlags: 0 diff --git a/MrBigsock/Assets/Scenes/GenTilemap.unity b/MrBigsock/Assets/Scenes/GenTilemap.unity index 479784b15e8fc7caf09f643892055e235e392f44..7bc222e8e36ee4b1b549ba5a00dfee5fab08b7d5 100644 --- a/MrBigsock/Assets/Scenes/GenTilemap.unity +++ b/MrBigsock/Assets/Scenes/GenTilemap.unity @@ -38075,7 +38075,7 @@ MonoBehaviour: m_EditorClassIdentifier: neighborMapGenerator: {fileID: 730662524} cameraMap: {fileID: 534163052} - VictoryScreen: {fileID: 3664230942784533810, guid: 916226a2770b3b644af1a5e55c09915a, type: 3} + victoryScreen: {fileID: 0} --- !u!114 &135519498 MonoBehaviour: m_ObjectHideFlags: 0 @@ -38122,7 +38122,7 @@ AudioSource: OutputAudioMixerGroup: {fileID: 0} m_audioClip: {fileID: 0} m_PlayOnAwake: 1 - m_Volume: 1 + m_Volume: 0.081 m_Pitch: 1 Loop: 0 Mute: 0 @@ -122473,6 +122473,10 @@ PrefabInstance: propertyPath: utilBar value: objectReference: {fileID: 1406204874} + - target: {fileID: 9039433759692224201, guid: 008ac26ba660ab94484970b17c589923, type: 3} + propertyPath: baseDamage + value: 2 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 008ac26ba660ab94484970b17c589923, type: 3} --- !u!19719996 &2138035019 stripped diff --git a/MrBigsock/Assets/Scenes/MainMenu.unity b/MrBigsock/Assets/Scenes/MainMenu.unity index 905199e9c90ae54c12a63f653e284bab9d9ea9c5..78baedaea81853972c725348d4443d1e409c7945 100644 --- a/MrBigsock/Assets/Scenes/MainMenu.unity +++ b/MrBigsock/Assets/Scenes/MainMenu.unity @@ -703,6 +703,10 @@ PrefabInstance: propertyPath: m_Name value: OptionButton objectReference: {fileID: 0} + - target: {fileID: 2656761123499930632, guid: e251b8ea00b96ff49ae1cc18db9886d7, type: 3} + propertyPath: m_Interactable + value: 0 + objectReference: {fileID: 0} - target: {fileID: 2656761123499930632, guid: e251b8ea00b96ff49ae1cc18db9886d7, type: 3} propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size value: 1 diff --git a/MrBigsock/ProjectSettings/Physics2DSettings.asset b/MrBigsock/ProjectSettings/Physics2DSettings.asset index c6a027f70333f7614dc2603569c8ad5767b9bef4..02e64f51536f55144c26eb3462697845183eb963 100644 --- a/MrBigsock/ProjectSettings/Physics2DSettings.asset +++ b/MrBigsock/ProjectSettings/Physics2DSettings.asset @@ -53,4 +53,4 @@ Physics2DSettings: m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} - m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffff1ff8ffffdfefffffdfffffffdffbffffdffbffffdff8ffffffffffffbfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffff1ff8ffffdfefffffdfffffffdffbffffdffbffffdfe8ffffffffffffbfebffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff