private void Update() { if (Time.time > nextDamageTime) { GetDamaged(); UpdateSprites(); UpdateNextDamageTime(); } // manual testing if (Keyboard.current.oKey.wasPressedThisFrame) { GetDamaged(); UpdateSprites(); } if (Keyboard.current.pKey.wasPressedThisFrame) { DrillResources playerResources = new DrillResources(50, 50, 50); DrillResources playerResAfter = Repair(playerResources); Debug.Log( "playerResources before" + "Antrieb " + playerResources.Antrieb + " baumat " + playerResources.Baumaterial + " wasser " + playerResources.Wasser); Debug.Log( "playerResources after" + "Antrieb " + playerResAfter.Antrieb + " baumat " + playerResAfter.Baumaterial + " wasser " + playerResAfter.Wasser); } }
private DrillResources Withdraw(DrillResources playerResources, ResourceType type) { DrillResources controller = DrillController.dr; switch (type) { case ResourceType.Antrieb: int amountAntriebMissing = maxAmount - playerResources.Antrieb; if (controller.Antrieb >= amountAntriebMissing) { // Ship has enough in Storage to fill up Player Inventory controller.Antrieb -= amountAntriebMissing; playerResources.Antrieb = maxAmount; } else { playerResources.Antrieb += controller.Antrieb; controller.Antrieb = 0; } break; case ResourceType.Baumaterial: int amountBaumaterialMissing = maxAmount - playerResources.Baumaterial; if (controller.Baumaterial >= amountBaumaterialMissing) { controller.Baumaterial -= amountBaumaterialMissing; playerResources.Baumaterial = maxAmount; } else { playerResources.Baumaterial += controller.Baumaterial; controller.Baumaterial = 0; } break; case ResourceType.Wasser: int amountWasserMissing = maxAmount - playerResources.Wasser; if (controller.Wasser >= amountWasserMissing) { controller.Wasser -= amountWasserMissing; playerResources.Wasser = maxAmount; } else { playerResources.Wasser += controller.Wasser; controller.Wasser = 0; } break; } return(playerResources); }
private void Start() { currentObjectResource = new DrillResources(); switch (typeOfResourceForRepair) { case ResourceType.Antrieb: currentObjectResource.Antrieb = 100; break; case ResourceType.Baumaterial: currentObjectResource.Baumaterial = 100; break; case ResourceType.Wasser: currentObjectResource.Wasser = 100; break; default: break; } UpdateNextDamageTime(); }
private void Start() { dr = new DrillResources(); rb = GetComponent <Rigidbody2D>(); audioSource = GetComponent <AudioSource>(); }
private void Awake() { spriteRenderer = GetComponent <SpriteRenderer>(); drillResources = new DrillResources(); }
public DrillResources Repair(DrillResources playerResources) { DrillResources resourceReduction = new DrillResources(); switch (typeOfResourceForRepair) { case ResourceType.Antrieb: int amountAntriebMissing = 100 - currentObjectResource.Antrieb; GetComponent <AudioSource>().Play(); if (playerResources.Antrieb >= amountAntriebMissing) { // player has the amount or more in inventory. Reduce inventory currentObjectResource.Antrieb = 100; resourceReduction.Antrieb = -amountAntriebMissing; } else { // player has less resource then needed. Only repairing the amount hold int stillAmountMissing = amountAntriebMissing - playerResources.Antrieb; resourceReduction.Antrieb = -playerResources.Antrieb; currentObjectResource.Antrieb = 100 - stillAmountMissing; } break; case ResourceType.Baumaterial: //int amountBaumaterialMissing = 100 - currentObjectResource.Baumaterial; currentObjectResource.Baumaterial = 100; GetComponent <AudioSource>().Play(); //if (playerResources.Antrieb >= amountBaumaterialMissing) //{ // // player has the amount or more in inventory. Reduce inventory // currentObjectResource.Baumaterial = 100; // resourceReduction.Baumaterial = -amountBaumaterialMissing; //} //else //{ // // player has less resource then needed. Only repairing the amount hold // int stillAmountMissing = amountBaumaterialMissing - playerResources.Baumaterial; // resourceReduction.Baumaterial = -playerResources.Baumaterial; //} break; case ResourceType.Wasser: int amountWasserMissing = 100 - currentObjectResource.Wasser; GetComponent <AudioSource>().Play(); if (playerResources.Wasser >= amountWasserMissing) { // player has the amount or more in inventory. Reduce inventory currentObjectResource.Wasser = 100; resourceReduction.Wasser = -amountWasserMissing; } else { // player has less resource then needed. Only repairing the amount hold int stillAmountMissing = amountWasserMissing - playerResources.Wasser; resourceReduction.Wasser = -playerResources.Wasser; currentObjectResource.Wasser = 100 - stillAmountMissing; } break; } UpdateSprites(); playerResources.AddResource(resourceReduction); Debug.Log( "Object ressources after" + "Antrieb " + currentObjectResource.Antrieb + " baumat " + currentObjectResource.Baumaterial + " wasser " + currentObjectResource.Wasser); return(playerResources); }
private void Start() { dr = new DrillResources(); }
public void RemoveItem(GameObject other) { dr = other.GetComponent <ObjectRepairLogic>().Repair(dr); //Debug.Log(dr.Antrieb + " " + dr.Baumaterial + " " + dr.Wasser); }