Exemplo n.º 1
0
 public void applyFertilizer(bool isEco)
 {
     if (!isEco)
     {
         CoopManager.GetInstance().loseEcologyFertilizerPoint();
     }
 }
Exemplo n.º 2
0
 public void SetCoopMode(COOP_MODE_TYPE coop_mode, int client_id)
 {
     if ((coop_mode == COOP_MODE_TYPE.NONE || coop_mode == COOP_MODE_TYPE.ORIGINAL) && client_id != 0)
     {
         Log.Error(LOG.INGAME, "StageObject::SetCoopMode() Err ( client_id is invalid. )");
     }
     if (coop_mode == COOP_MODE_TYPE.ORIGINAL && !CoopStageObjectUtility.CanControll(this))
     {
         Log.Error(LOG.INGAME, "StageObject::SetCoopMode. field block obj({0}) to {1}", this, coop_mode);
     }
     else
     {
         if (coopMode != 0)
         {
             bool flag = false;
             if (CoopManager.IsValidInCoop())
             {
                 flag = true;
             }
             if (!flag)
             {
                 Log.Error(LOG.INGAME, "StageObject::SetCoopMode() Err ( not coop )");
                 return;
             }
         }
         coopMode     = coop_mode;
         coopClientId = client_id;
     }
 }
Exemplo n.º 3
0
    public bool init()
    {
        //GameObject.FindGameObjectWithTag("Logic").GetComponent<PhaseManager>().readJSON();
        _tileSelectedPosition = new uint[2] {
            28, 25
        };
        _hasTileSelected = false;
        m_monthsInRed    = 0;
        m_monthsSinceIShowedInRedPopup = 0;
        b_warningInRedPopupShown       = false;
        //_terrainLogic = new RiceTerrainLogic();
        ActionManager.GetInstance();
        CoopManager.GetInstance();
        PenalizationManager.GetInstance();
        WorldTerrain.GetInstance().initWorld();
        BuildingsManager.GetInstance().init();
        UserDataManager.GetInstance().init();
        UserDataManager.GetInstance().gold.setGold(6800);
        RiceObjectsManager.GetInstance();
        _cloudSpawner = new CloudSpawner(WorldTerrain.CLOUDS_Z_LAYER);

        _tutMan.startTuto(new Tutorial_Inicial());
        GameSaveDataManager.init();

        return(true);
    }
Exemplo n.º 4
0
    public void newYearUpdate()
    {
        //int newScore = Math.Min(5, instancesFlamingos.Count + 1); test
        int newScore = CoopManager.GetInstance().getCurrentEcologyLevel();

        scoresLastYears.Dequeue();
        scoresLastYears.Enqueue(newScore);

        int newNumOfFlamingos = 0;

        foreach (int sc in scoresLastYears)
        {
            newNumOfFlamingos += sc;
        }

        int oldNumOfFlamingos = instancesFlamingos.Count;

        for (int i = 0; i < Math.Abs(newNumOfFlamingos - oldNumOfFlamingos); ++i)
        {
            if (newNumOfFlamingos > oldNumOfFlamingos)
            {
                createFlamingo();
            }
            else
            {
                deleteFlamingo();
            }
        }
    }
    public void sellRice(uint riceToSell)
    {
        //rice.addRiceSold(riceToSell);
        float coopBonus = CoopManager.GetInstance().getCurrentTotalProductionBonus() / 100.0f;
        float invBonus  = InvestigationManager.GetInstance().getGoldBonusPerRiceSold() / 100.0f;

        gold.addRiceGold(riceToSell * (LogicManager.PRICE_PER_RICE + LogicManager.PRICE_PER_RICE * coopBonus + LogicManager.PRICE_PER_RICE * invBonus));
    }
Exemplo n.º 6
0
    public int getCapacity2()
    {
        int             capacity = _constructionLevels[_level].capacity2;
        Pair <int, int> bonus    = CoopManager.GetInstance().getCurrentAnualProductionBonus();

        capacity += (capacity * bonus.Second) / 100;
        return(capacity);
    }
Exemplo n.º 7
0
 public void applyHerbicide(bool isEco)
 {
     _weed.delete();
     _bHasAppliedHerbicide = true;
     if (!isEco)
     {
         CoopManager.GetInstance().loseEcologyWeedControlPoint();
     }
 }
Exemplo n.º 8
0
    public static CoopManager GetInstance()
    {
        if (instance == null)
        {
            instance = new CoopManager();
        }

        return(instance);
    }
Exemplo n.º 9
0
    void init()
    {
        Text m_riceProductionNumberText = GameObject.Find("RiceProductionNumberText").GetComponent <Text>();
        Text m_riceSoldNumberText       = GameObject.Find("RiceSoldNumberText").GetComponent <Text>();
        Text m_riceLostNumberText       = GameObject.Find("RiceLostNumberText").GetComponent <Text>();
        Text m_grantEcologyNumberText   = GameObject.Find("EcologyGrantNumberText").GetComponent <Text>();

        UserDataManager userData        = UserDataManager.GetInstance();
        uint            anualProduction = userData.getRiceProducedThisYear();

        m_riceProductionNumberText.text = anualProduction.ToString();

        WorldTerrain         wt     = WorldTerrain.GetInstance();
        InvestigationManager invMan = InvestigationManager.GetInstance();
        //uint riceOfChunksDisabled = (uint) wt.getNumberOfChunks() * RiceTerrainTile.MAX_RICE_UNITS * WorldTerrain.RICE_CHUNK_W * WorldTerrain.RICE_CHUNK_H;
        //uint riceLostThisYear = userData.getRiceLostThisYear() + riceOfChunksDisabled;
        uint riceLostThisYear = (uint)(wt.getNumberOfChunks() * RiceTerrainTile.MAX_RICE_UNITS * WorldTerrain.RICE_CHUNK_W * WorldTerrain.RICE_CHUNK_H * (1 + invMan.getRicePerChunkBonus() * 0.01f) - anualProduction);

        m_riceLostNumberText.text = riceLostThisYear.ToString();

        int anualRiceSold = userData.gold.getRiceGoldAddThisYear();

        m_riceSoldNumberText.text = anualRiceSold.ToString();

        bool ecoGrant = InvestigationManager.GetInstance().isInvestigated(INVESTIGATIONS_ID.ECO_SUBVENCION);

        if (ecoGrant)
        {
            int ecoGrantBonus = CoopManager.GetInstance().getCurrentEcologyBonus();
            m_grantEcologyNumberText.text = ecoGrantBonus.ToString();
        }
        else
        {
            m_grantEcologyNumberText.text = "";
            GameObject.Find("EcologyGrantText").GetComponent <Text>().enabled          = false;
            GameObject.Find("EcologyGrantNumberUnits").GetComponent <Image> ().enabled = false;
            GameObject.Find("EcologyGrantButtonHelp").SetActive(false);
        }

        RankingManager.GetInstance().addScore((int)anualProduction);

        CoopManager.GetInstance().happyNewYear();

        UserDataManager.GetInstance().resetYearlyData();

        /*
         * const float TON = 1000000.0f;
         * if (anualRiceSold < TON) {
         *      m_riceProductionNumberText.text = anualRiceSold.ToString ();
         * } else {
         *      m_riceProductionNumberText.text = (anualRiceSold / TON).ToString ("0.00");
         *      m_riceProductionNumberUnitsText = "T";
         * }
         */
        GameObject.Find("Logic").GetComponent <TimeManager> ().pauseTime();
    }
 public static void init()
 {
     m_am      = ActionManager.GetInstance();
     m_bm      = BuildingsManager.GetInstance();
     m_tm      = GameObject.Find("Logic").GetComponent <TimeManager>();
     m_cm      = CoopManager.GetInstance();
     m_um      = UserDataManager.GetInstance();
     m_im      = InvestigationManager.GetInstance();
     m_lm      = GameObject.Find("Logic").GetComponent <LogicManager>();
     m_pm      = PenalizationManager.GetInstance();
     m_phasem  = GameObject.FindGameObjectWithTag("Logic").GetComponent <PhaseManager>();
     m_plaguem = PlagueManager.GetInstance();
     m_rm      = RankingManager.GetInstance();
     m_rom     = RiceObjectsManager.GetInstance();
     m_workerm = WorkerManager.GetInstance();
     m_worldm  = WorldTerrain.GetInstance();
     m_tutMan  = GameObject.FindGameObjectWithTag("Tutorial").GetComponent <TutorialManager> ();
 }
Exemplo n.º 11
0
    private void updateCoopList()
    {
        int expansionLevel = Math.Max(CoopManager.GetInstance().getCurrentExpansionLevel(), 1);

        m_coopPanelImages[(int)MilestoneType.EXPANSION].sprite = Resources.Load <Sprite>(IMG_EXPANSION_PATH + expansionLevel);

        int ecologyLevel = Math.Max(CoopManager.GetInstance().getCurrentEcologyLevel(), 1);

        m_coopPanelImages[(int)MilestoneType.ECOLOGY].sprite = Resources.Load <Sprite>(IMG_ECOLOGY_PATH + ecologyLevel);

        int productionLevel = Math.Max(CoopManager.GetInstance().getCurrentTotalProductionLevel(), 1);

        m_coopPanelImages[(int)MilestoneType.PRODUCTION].sprite = Resources.Load <Sprite>(IMG_PRODUCTION_PATH + productionLevel);

        int anualProductionLevel = Math.Max(CoopManager.GetInstance().getCurrentAnualProductionLevel(), 1);

        m_coopPanelImages[(int)MilestoneType.ANUAL_PRODUCTION].sprite = Resources.Load <Sprite>(IMG_ANUAL_PRODUCTION_PATH + anualProductionLevel);
    }
Exemplo n.º 12
0
 public void load(LogicManagerData logicManagerData)
 {
     _tileSelectedPosition = new uint[2] {
         26, 15
     };
     _hasTileSelected = false;
     ActionManager.GetInstance();
     CoopManager.GetInstance();
     PenalizationManager.GetInstance();
     //WorldTerrain.GetInstance().initWorld();
     //BuildingsManager.GetInstance().init();
     UserDataManager.GetInstance().init();
     RiceObjectsManager.GetInstance();
     _cloudSpawner = new CloudSpawner(WorldTerrain.CLOUDS_Z_LAYER);
     gameObject.GetComponent <TimeManager>().addListenerToYearChange(this.happyNewYear);
     gameObject.GetComponent <TimeManager>().addListenerToMonthChange(happyNewMonth);
     gameObject.GetComponent <TimeManager>().addListerToDayChange(this.newDayCallback);
 }
Exemplo n.º 13
0
    public void ClearOneChunk(int id)
    {
        if (visitedChunk != null && visitedChunk.Length > id)
        {
            //TO DO: CAREFUL SOMETIMES THIS IS NULL IDK WHY
            if (!visitedChunk [id])
            {
                remainingChunks--;
                visitedChunk [id] = true;

                if (activePlague.getID() == 1)
                {
                    CoopManager.GetInstance().loseEcologyPlageControlPoint();
                }

                if (remainingChunks == 0)
                {
                    cleanPlague();
                }
            }
        }
    }
Exemplo n.º 14
0
    private void updateSelectedMilestone()
    {
        string milestoneDescription = "";
        string currentBonus         = "";
        string nextBonus            = "";

        CoopManager coopMan = CoopManager.GetInstance();

        switch (m_selectedMilestone)
        {
        case MilestoneType.EXPANSION:
            if (!coopMan.expansionBonusIsInMaxLvl())
            {
                milestoneDescription = Dictionary.getString("CURRENTLY_YOU_HAVE") + " " + WorldTerrain.GetInstance().getNumberOfChunks() + " " + Dictionary.getString("OF") + " "
                                       + CoopManager.GetInstance().getNextExpansionGoal() + " " + Dictionary.getString("FIELDS_CURRENT_GOAL");
            }
            else
            {
                milestoneDescription = Dictionary.getString("MAX_BONUS");
            }
            currentBonus = Dictionary.getString("CURRENT_BONUS") + ": " + coopMan.getCurrentExpansionBonus() + Dictionary.getString("OBJECT_DISCOUNT");
            if (!coopMan.expansionBonusIsInMaxLvl())
            {
                nextBonus = Dictionary.getString("NEXT_BONUS") + ": " + coopMan.getNextExpansionBonus() + Dictionary.getString("OBJECT_DISCOUNT");
            }
            break;

        case MilestoneType.ECOLOGY:
            if (!Tutorial_Ecology.init)
            {
                TutorialManager tutMan = GameObject.FindGameObjectWithTag("Tutorial").GetComponent <TutorialManager> ();
                tutMan.startTuto(new Tutorial_Ecology());
            }

            if (!coopMan.ecologyBonusIsInMaxLvl())
            {
                milestoneDescription = Dictionary.getString("YOU_HAVE") + " " + coopMan.getLastYearEcologyScore()
                                       + " " + Dictionary.getString("ECOLOGY_MILESTONE_DESC");
            }
            else
            {
                milestoneDescription = Dictionary.getString("MAX_BONUS");
            }
            currentBonus = Dictionary.getString("CURRENT_BONUS") + ": " + coopMan.getCurrentEcologyBonus() + " " + Dictionary.getString("COINS_PER_YEAR");
            if (!coopMan.ecologyBonusIsInMaxLvl())
            {
                nextBonus = Dictionary.getString("NEXT_BONUS") + ": " + coopMan.getNextEcologyBonus() + " " + Dictionary.getString("COINS_PER_YEAR");
            }
            break;

        case MilestoneType.PRODUCTION:
            if (!coopMan.totalProductionBonusIsInMaxLvl())
            {
                milestoneDescription = Dictionary.getString("PRODUCTION_MILESTONE_DESC_1") + " " + UserDataManager.GetInstance().getTotalRiceProduced() / 1000.0f
                                       + " " + Dictionary.getString("PRODUCTION_MILESTONE_DESC_2") + " " + coopMan.getNextTotalProductionGoal() + " t.";
            }
            else
            {
                milestoneDescription = Dictionary.getString("MAX_BONUS");
            }
            currentBonus = Dictionary.getString("CURRENT_BONUS") + ": " + coopMan.getCurrentTotalProductionBonus() + Dictionary.getString("COINS_AUGMENTED");
            if (!coopMan.totalProductionBonusIsInMaxLvl())
            {
                nextBonus = Dictionary.getString("NEXT_BONUS") + ": " + coopMan.getNextTotalProductionBonus() + Dictionary.getString("COINS_AUGMENTED");
            }
            break;

        case MilestoneType.ANUAL_PRODUCTION:
            if (!coopMan.anualProductionBonusIsInMaxLvl())
            {
                milestoneDescription = Dictionary.getString("ANUAL_PRODUCTION_MILESTONE_DESC_1") + " " + coopMan.getLastYearProduction() / 1000.0f
                                       + " " + Dictionary.getString("ANUAL_PRODUCTION_MILESTONE_DESC_2") + " " + coopMan.getNextAnualProductionGoal() + " t.";
            }
            else
            {
                milestoneDescription = Dictionary.getString("MAX_BONUS");
            }
            MyUtils.Pair.Pair <int, int> currentAnualProductionBonus = coopMan.getCurrentAnualProductionBonus();
            currentBonus = Dictionary.getString("CURRENT_BONUS") + ": " + currentAnualProductionBonus.First + Dictionary.getString("ANUAL_PRODUCTION_BONUS_1") + " " + currentAnualProductionBonus.Second
                           + Dictionary.getString("ANUAL_PRODUCTION_BONUS_2");
            MyUtils.Pair.Pair <int, int> nextAnualProductionBonus = coopMan.getNextAnualProductionBonus();
            if (!coopMan.anualProductionBonusIsInMaxLvl())
            {
                nextBonus = Dictionary.getString("NEXT_BONUS") + ": " + nextAnualProductionBonus.First + Dictionary.getString("ANUAL_PRODUCTION_BONUS_1") + " " + nextAnualProductionBonus.Second
                            + Dictionary.getString("ANUAL_PRODUCTION_BONUS_2");
            }
            break;
        }

        m_itemDescriptionText.text  = milestoneDescription;
        m_currentItemBonusText.text = currentBonus;
        m_nextItemBonusText.text    = nextBonus;

        for (int i = 0; i < (int)MilestoneType.NUMBER_MILESTONES; ++i)
        {
            m_coopPanels[i].GetComponent <Image>().enabled = false;
        }
        m_coopPanels[(int)m_selectedMilestone].GetComponent <Image>().enabled = true;
    }
Exemplo n.º 15
0
    public void DisplayAbilities()
    {
        switch (GameModeManager.gameModeToLoad)
        {
        case GameModes.Single:
            SinglePlayerManager manager = GameObject.FindWithTag("SPManager").GetComponent <SinglePlayerManager>();
            for (int i = 0; i < manager.playerAbilitySprites.Count; i++)
            {
                if (i < currentAbilityImages.Count)
                {
                    manager.playerAbilitySprites[i].GetComponent <Image>().sprite = currentAbilityImages[i];
                    manager.playerAbilitySprites[i].enabled = true;
                }
                else
                {
                    manager.playerAbilitySprites[i].enabled = false;
                }
            }
            manager.UpdateHUD();
            break;

        case GameModes.Coop:
            CoopManager Cmanager = GameObject.FindWithTag("CPManager").GetComponent <CoopManager>();
            if (currentPlayer == "Player1")
            {
                for (int i = 0; i < Cmanager.player1AbilitySprites.Count; i++)
                {
                    if (i < currentAbilityImages.Count)
                    {
                        Cmanager.player1AbilitySprites[i].GetComponent <Image>().sprite = currentAbilityImages[i];
                        Cmanager.player1AbilitySprites[i].enabled = true;
                    }
                    else
                    {
                        Cmanager.player1AbilitySprites[i].enabled = false;
                    }
                }
            }
            else if (currentPlayer == "Player2")
            {
                for (int i = 0; i < Cmanager.player2AbilitySprites.Count; i++)
                {
                    if (i < currentAbilityImages.Count)
                    {
                        Cmanager.player2AbilitySprites[i].GetComponent <Image>().sprite = currentAbilityImages[i];
                        Cmanager.player2AbilitySprites[i].enabled = true;
                    }
                    else
                    {
                        Cmanager.player2AbilitySprites[i].enabled = false;
                    }
                }
            }
            Cmanager.UpdateHUD();
            break;

        case GameModes.PvP:
            PvPManager Pmanager = GameObject.FindWithTag("PPManager").GetComponent <PvPManager>();
            if (currentPlayer == "Player1")
            {
                for (int i = 0; i < Pmanager.player1AbilitySprites.Count; i++)
                {
                    if (i < currentAbilityImages.Count)
                    {
                        Pmanager.player1AbilitySprites[i].GetComponent <Image>().sprite = currentAbilityImages[i];
                        Pmanager.player1AbilitySprites[i].enabled = true;
                    }
                    else
                    {
                        Pmanager.player1AbilitySprites[i].enabled = false;
                    }
                }
            }
            else if (currentPlayer == "Player2")
            {
                for (int i = 0; i < Pmanager.player2AbilitySprites.Count; i++)
                {
                    if (i < currentAbilityImages.Count)
                    {
                        Pmanager.player2AbilitySprites[i].GetComponent <Image>().sprite = currentAbilityImages[i];
                        Pmanager.player2AbilitySprites[i].enabled = true;
                    }
                    else
                    {
                        Pmanager.player2AbilitySprites[i].enabled = false;
                    }
                }
            }
            Pmanager.UpdateHUD();
            break;
        }
    }
Exemplo n.º 16
0
    // Update is called once per frame
    void Update()
    {
        if (!inRange && !stuck)
        {
            UpdateAnimations("Walk");
            transform.position += Vector3.right * directionFacing * speed * Time.deltaTime;
        }
        else
        {
            UpdateAnimations("Idle");
        }

        //inRange = false;
        RaycastHit2D hit;

        if (Physics2D.Raycast(new Vector2(transform.position.x + (0.1f * directionFacing), transform.position.y), Vector2.right * directionFacing))
        {
            hit = Physics2D.Raycast(new Vector2(transform.position.x + (0.1f * directionFacing), transform.position.y), Vector2.right * directionFacing);
            //Debug.DrawLine(gameObject.transform.position, hit.transform.position,Color.magenta);
            switch (hit.transform.tag)
            {
            case "Boundary":
                if (Vector3.Distance(hit.transform.position, transform.position) <= 0.8f)
                {
                    patience--;
                    if (patience <= 0)
                    {
                        patience = 5;
                        switch (GameModeManager.gameModeToLoad)
                        {
                        case GameModes.Single:
                            SinglePlayerManager manager = GameObject.FindWithTag("SPManager").GetComponent <SinglePlayerManager>();
                            int spawnNum = Random.Range(0, manager.enemySpawns.Length);
                            //Debug.Log("New Enemy Spawn" + spawnNum);
                            transform.position = manager.enemySpawns[spawnNum].transform.position;
                            break;

                        case GameModes.Coop:
                            CoopManager Cmanager  = GameObject.FindWithTag("CPManager").GetComponent <CoopManager>();
                            int         CspawnNum = Random.Range(0, Cmanager.enemySpawns.Length);
                            //Debug.Log("New Enemy Spawn" + CspawnNum);
                            transform.position = Cmanager.enemySpawns[CspawnNum].transform.position;
                            break;

                        case GameModes.PvP:

                            break;
                        }
                        //transform.position = GameObject.FindWithTag("EnemySpawn").transform.position;
                    }
                    else
                    {
                        directionFacing *= -1;
                    }
                }
                else
                {
                    inRange = false;
                }
                return;

            case "Player":
            case "Player1":
            case "Player2":
                patience = 5;
                if (Vector3.Distance(hit.transform.position, transform.position) <= 0.35f)
                {
                    inRange = true;
                    if (attackDelay <= Time.time)
                    {
                        attackDelay = Time.time + (1f / (float)attackCoolDown);
                        UpdateAnimations("Fire");
                        Attack();
                    }
                }
                else
                {
                    inRange = false;
                }
                return;
            }
            inRange = false;
        }
        if (Physics2D.Raycast(new Vector2(transform.position.x + (0.1f * -directionFacing), transform.position.y), Vector2.right * -directionFacing, 0.5f))
        {
            hit = Physics2D.Raycast(new Vector2(transform.position.x + (0.1f * -directionFacing), transform.position.y), Vector2.right * -directionFacing, 0.5f);
            if (hit.transform.tag == "Player" || hit.transform.tag == "Player1" || hit.transform.tag == "Player2")
            {
                directionFacing *= -1;
            }
        }
    }