// 가열 로직 private void IronHeating() { if (objTemp >= maxTemp) { return; } isMinTemp = false; state = GameObject.Find("ForgeChimney").GetComponent <ForgeCtrl>()._forgeState; // 화덕의 화력에 따라 가열속도 조절 if (state == ForgeState.READY) { heatingSpeed = 10.0F; } else if (state == ForgeState.MAX) { heatingSpeed = 30.0F; } else { heatingSpeed = 0.0F; } objTemp += heatingSpeed * Time.deltaTime; }
private void StartForging() { //recipeCanvas.enabled = false; ResetDestroyForgingProgressBar(); ResetForgingProgressBar(); progressBarCanvas.enabled = true; forgingProgressBar.enabled = true; forgeState = ForgeState.FORGING; curProgress = 0.0f; }
private void StartDestroyForgingItems() { //recipeCanvas.enabled = false; ResetDestroyForgingProgressBar(); ResetForgingProgressBar(); destroyProgressBarCanvas.enabled = true; destroyProgressBar.enabled = true; forgeState = ForgeState.DESTROYING; curProgress = 0.0f; }
private void Firing(ForgeState state) { var main = forgeFire.main; float addLifeTime = 1.5F; float multiplySpeed = 0.5F; float addSize = 0.01F; switch (state) { case ForgeState.COOLED: addLifeTime += 0.1F * firePower; multiplySpeed += 0.1F * firePower; addSize += 0.005F * firePower; break; case ForgeState.PREWARM: addLifeTime += 0.1F * firePower; multiplySpeed += 0.1F * firePower; addSize += 0.005F * firePower; forgeSmoke.SetActive(false); break; case ForgeState.READY: addLifeTime = 1.9F + 0.1F * firePower; multiplySpeed = 0.9F + 0.1F * firePower; addSize = 0.03F + 0.005F * firePower; forgeSmoke.SetActive(true); break; case ForgeState.MAX: addLifeTime = 3.0F; multiplySpeed = 2.0F; addSize = 0.08F; break; } main.startLifetime = addLifeTime; main.startSpeedMultiplier = multiplySpeed; main.startSize = addSize; forgeLight.GetComponent <FirelightWobble>().WobbleIntensity = 0.01F + 0.01F * firePower; forgeLight.GetComponent <FirelightWobble>().WobbleSpeed = 1.0F + 2.0F * firePower; forgeLight.GetComponent <FirelightWobble>().LightIntensity = 0.3F + 0.2F * firePower; }
private bool CollectItem(Player player) { if (!CanCollectItem(player)) { return(false); } forgedGameObject.SetActive(true); InteractiveObject item = forgedGameObject.GetComponent <InteractiveObject>(); player.SetCarryingItem(item); forgedGameObject = null; forgeState = ForgeState.IDLE; ResetAndEnableRecipeCanvas(); return(true); }
private void ForgingComplete() { recipeCanvas.enabled = false; ObjectMetadata forgedPrefabMetadata = FindMatchingRecipeObject(); forgedGameObject = forgedPrefabMetadata.GetGameObjectFromPool(transform); MapManager.Instance.OnItemCreated(forgedGameObject); forgedGameObject.SetActive(false); InteractiveObject item = forgedGameObject.GetComponent <InteractiveObject>(); if (resourceList.Count == 4 && resourceList[3].isRareResource()) { (resourceList[3] as Orb).applyOrbEffect(item); } forgeState = ForgeState.READY_TO_COLLECT; ResetForgingProgressBar(); //TODO(Huayu):Ready to collect UI }
private void SetState(float temp) { if (temp >= 100 && temp < 102) { _forgeState = ForgeState.COOLED; firePower = (int)(temp - 100); } else if (temp >= 102 && temp < 105) { _forgeState = ForgeState.PREWARM; firePower = (int)(temp - 100); } else if (temp >= 105 && temp < 110) { _forgeState = ForgeState.READY; firePower = (int)(temp - 100); } else if (temp >= 110) { _forgeState = ForgeState.MAX; firePower = 10; } }
public void DestroyForging() { forgeState = ForgeState.IDLE; ResetDestroyForgingProgressBar(); ResetAndEnableRecipeCanvas(); }