Ejemplo n.º 1
0
    // 가열 로직
    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;
    }
Ejemplo n.º 2
0
 private void StartForging()
 {
     //recipeCanvas.enabled = false;
     ResetDestroyForgingProgressBar();
     ResetForgingProgressBar();
     progressBarCanvas.enabled  = true;
     forgingProgressBar.enabled = true;
     forgeState  = ForgeState.FORGING;
     curProgress = 0.0f;
 }
Ejemplo n.º 3
0
    private void StartDestroyForgingItems()
    {
        //recipeCanvas.enabled = false;
        ResetDestroyForgingProgressBar();
        ResetForgingProgressBar();
        destroyProgressBarCanvas.enabled = true;
        destroyProgressBar.enabled       = true;

        forgeState  = ForgeState.DESTROYING;
        curProgress = 0.0f;
    }
Ejemplo n.º 4
0
    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;
    }
Ejemplo n.º 5
0
    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);
    }
Ejemplo n.º 6
0
    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
    }
Ejemplo n.º 7
0
 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;
     }
 }
Ejemplo n.º 8
0
 public void DestroyForging()
 {
     forgeState = ForgeState.IDLE;
     ResetDestroyForgingProgressBar();
     ResetAndEnableRecipeCanvas();
 }