public void ProcessToolAction(ItemDetails equippedItemDetails, bool isToolRight, bool isToolLeft, bool isToolDown, bool isToolUp) { GridPropertyDetails gridPropertyDetails = GridPropertiesManager.Instance.GetGridPropertyDetails(cropGridPosition.x, cropGridPosition.y); if (gridPropertyDetails == null) { return; } ItemDetails seedItemDetails = InventoryManager.Instance.GetItemDetails(gridPropertyDetails.SeedItemCode); if (seedItemDetails == null) { return; } CropDetails cropDetails = GridPropertiesManager.Instance.GetCropDetails(seedItemDetails.itemCode); if (cropDetails == null) { return; } harvestActionCount += 1; int requiredHarvestActions = cropDetails.RequiredHarvestActionsForTool(equippedItemDetails.itemCode); if (requiredHarvestActions == -1) { return; } if (harvestActionCount >= requiredHarvestActions) { HarvestCrop(cropDetails, gridPropertyDetails); } }
public void ProcessToolAction(ItemDetails equippedItemDetails, bool isToolRight, bool isToolLeft, bool isToolDown, bool isToolUp) { //Get grid property details GridPropertyDetails gridPropertyDetails = GridPropertiesManager.Instance.GetGridPropertyDetails(cropGridPosition.x, cropGridPosition.y); if (gridPropertyDetails == null) { return; } //Get seed item details ItemDetails seedItemDetails = InventoryManager.Instance.GetItemDetails(gridPropertyDetails.seedItemCode); if (seedItemDetails == null) { return; } //Get crop details CropDetails cropDetails = GridPropertiesManager.Instance.GetCropDetails(seedItemDetails.itemCode); { if (cropDetails == null) { return; } } //Get animator for crop if present Animator animator = GetComponentInChildren <Animator>(); //Trigger tool animation if (animator != null) { if (isToolRight || isToolUp) { animator.SetTrigger("usetoolright"); } else if (isToolLeft || isToolDown) { animator.SetTrigger("usetoolleft"); } } //Trigger tool particle effect on crop if (cropDetails.isHarvestActionEffect) { EventHandler.CallHarvestActionEffectEvent(harvestActionEffectTransform.position, cropDetails.harvestActionEffect); } //Get required harvest actions for tool int requiredHarvestActions = cropDetails.RequiredHarvestActionsForTool(equippedItemDetails.itemCode); if (requiredHarvestActions == -1) { return;//this tool can't be used to harvest this crop } //Increment harvest action count harvestActionCount += 1; //Check if required harvest actions made if (harvestActionCount >= requiredHarvestActions) { HarvestCrop(isToolRight, isToolUp, cropDetails, gridPropertyDetails, animator); } }