//It's a call back called when a new year happens to be public void happyNewYear() { //Debug.Log("Happy new year!"); /* * if(InvestigationManager.GetInstance().isInvestigated(INVESTIGATIONS_ID.COOP)) { * CoopManager.GetInstance().happyNewYear(); * } */ WorldTerrain.GetInstance().resetEndOfTheYear(); BuildingsManager.GetInstance().reset(); PenalizationManager.GetInstance().reset(); if (b_firstAutoSave) { GameObject.Find("Logic").GetComponent <LogicManager> ().initAutoSave(); b_firstAutoSave = false; PlayerPrefs.SetInt("FirstAutoSaveDone", 1); } GameObject yearlySumPanel = Resources.Load("Prefabs/YearlySumPanelLostFocusLayer") as GameObject; UnityEngine.Object.Instantiate(yearlySumPanel); FaunaFelizManager.GetInstance().newYearUpdate(); }
private void showBuildingsSelectedPage(List <BUILDINGS> buildingsID) { buyLeftPanel.gameObject.SetActive(false); buyCenterPanel.gameObject.SetActive(false); buyRightPanel.gameObject.SetActive(false); BuildingsManager buildingsMan = BuildingsManager.GetInstance(); int initialObject = itemsPerPage * selectedPage; for (int i = 0; i < itemsPerPage && i < buildingsID.Count - initialObject; ++i) { Building buildingToAdd = buildingsMan.getBuilding(buildingsID[initialObject + i]); //int objectPrice = buildingToAdd.getInitialCost(); string quantityText = Dictionary.getString("P_UPGR_LEVEL") + (buildingToAdd.getCurrentLevel() + 1); switch (i) { case 0: buyLeftPanel.gameObject.SetActive(true); changePanel(buyLeftPanel, buildingsID[initialObject + i], buildingToAdd.getImgPath(), PanelPosition.LEFT, quantityText); break; case 1: buyCenterPanel.gameObject.SetActive(true); changePanel(buyCenterPanel, buildingsID[initialObject + i], buildingToAdd.getImgPath(), PanelPosition.CENTER, quantityText); break; case 2: buyRightPanel.gameObject.SetActive(true); changePanel(buyRightPanel, buildingsID[initialObject + i], buildingToAdd.getImgPath(), PanelPosition.RIGHT, quantityText); break; } } }
public void actionClicked() { if (!b_haveAllObjectsRequired) { openBuyMenu(); } else if (!b_areEnoughWorkers) { openHireMenu(); } else { const int ID_SEND_HARVEST_TRAD = 17; const int ID_SEND_HARVEST_MODERN = 29; if (m_actions[m_currentAction].id != ID_SEND_HARVEST_MODERN && m_actions[m_currentAction].id != ID_SEND_HARVEST_TRAD) { m_actions[m_currentAction].doMenuAction(); } else { int chunk = ((ChunkAction)m_actions[m_currentAction]).chunk; uint riceInChunk = WorldTerrain.GetInstance().getRiceChunkProduction(chunk); if (!BuildingsManager.GetInstance().isBuilded(BUILDINGS.PLANTA)) { Building_Trill trill = (Building_Trill)BuildingsManager.GetInstance().getBuilding(BUILDINGS.TRILL); uint currentFreeCapacity = trill.getCurrentFreeCapacity(); if (currentFreeCapacity >= riceInChunk) { m_actions[m_currentAction].doMenuAction(); } else { //uint possibleLost = riceInChunk - currentFreeCapacity; GameObject panelTemplate = Resources.Load("Prefabs/RiceOverflowLostFocusLayer") as GameObject; GameObject panelInstance = Instantiate(panelTemplate); GameObject panel = panelInstance.transform.FindChild("RiceOverflowPanel").gameObject; panel.GetComponent <RiceOverflowPanelBehaviour>().init((MenuAction)m_actions[m_currentAction]); } } else { Building_Planta planta = (Building_Planta)BuildingsManager.GetInstance().getBuilding(BUILDINGS.PLANTA); uint currentFreeCapacity = planta.getCurrentFreeCapacity(); if (currentFreeCapacity >= riceInChunk) { m_actions[m_currentAction].doMenuAction(); } else { //uint possibleLost = riceInChunk - currentFreeCapacity; GameObject panelTemplate = Resources.Load("Prefabs/RiceOverflowLostFocusLayer") as GameObject; GameObject panelInstance = Instantiate(panelTemplate); GameObject panel = panelInstance.transform.FindChild("RiceOverflowPanel").gameObject; panel.GetComponent <RiceOverflowPanelBehaviour>().init((MenuAction)m_actions[m_currentAction]); } } } kill(); } }
private void Start() { this.gameSceneController = GameObject.Find("GameSceneController").GetComponent <GameSceneController>(); this.buildingsManager = BuildingsManager.GetInstance(); this.actorsManager = ActorsManager.GetInstance(); this.InvokeRepeating("CheckResult", 0f, 0.1f); }
public void CmdPerfomAttack(string defenderId, Team attackerTeam, float attackPoints) { GameActor defender = UnitsManager.GetInstance().GetByUniqueNetworkId(defenderId); if (defender == null) { defender = BuildingsManager.GetInstance().GetByUniqueNetworkId(defenderId); } VisibleLogger.GetInstance().LogDebug( string.Format("Damage [{0}] for {1}", defender.GetId() , attackPoints )); defender.ActorAttributes.HealthPoints -= attackPoints; if (HpLessThanZero(defender) && defender.LifeState == GameActor.UnitLifeState.LIVING) { VisibleLogger.GetInstance().LogDebug( string.Format("Changing [{0}] state {1} -> {2}", defender.GetId() , defender.LifeState, GameActor.UnitLifeState.WAITING_FOR_DEAD_ACTION )); PlayersManager.GetInstance().Get(attackerTeam).Gold += defender.ActorAttributes.KillReward; defender.LifeState = GameActor.UnitLifeState.WAITING_FOR_DEAD_ACTION; } }
public void newDayCallback() { BuildingsManager.GetInstance().newDayCallback(); WorldTerrain.GetInstance().newDayCallback(); GameObject.Find("Logic").GetComponent <PlagueLogic>().NewDayCallback(); //updateActionPanel (); }
private void buildBuilding(BUILDINGS buildingId, uint i, uint j) { BuildingsManager buildingsMan = BuildingsManager.GetInstance(); Building building = buildingsMan.getBuilding(buildingId); buildingsMan.build(buildingId, i, j); WorldTerrain worldTerrain = WorldTerrain.GetInstance(); worldTerrain.createBuilding(i, j, building.getVerticalTiles(), building.getHorizontalTiles()); if (buildingId == BUILDINGS.PLANTA) { Building_Trill trill = (Building_Trill)buildingsMan.getBuilding(BUILDINGS.TRILL); Building_Silo silo = (Building_Silo)buildingsMan.getBuilding(BUILDINGS.SILO); Building_Era era = (Building_Era)buildingsMan.getBuilding(BUILDINGS.ERA); trill.stopProduction(); silo.stopProduction(); era.stopProduction(); uint rice = trill.getAllTheRice(); rice += silo.getAllTheRice(); rice += era.getAllTheRice(); ((Building_Planta)building).sendRice(rice); destroyBuilding(BUILDINGS.TRILL); destroyBuilding(BUILDINGS.SILO); destroyBuilding(BUILDINGS.ERA); } }
// Funcion para actualizar la lista de la compra void updateUpgradeList() { // CLEAR List <BUILDINGS> buildingsIds = new List <BUILDINGS>(); BuildingsManager buildingsMan = BuildingsManager.GetInstance(); foreach (BUILDINGS buildingId in Enum.GetValues(typeof(BUILDINGS))) { if (buildingId != 0 && buildingsMan.isBuilded(buildingId)) { if (buildingId == BUILDINGS.ERA || buildingId == BUILDINGS.SILO || buildingId == BUILDINGS.TRILL) { if (buildingsMan.isBuilded(BUILDINGS.PLANTA)) { continue; } } buildingsIds.Add(buildingId); } } // UPDATE DATA if (m_selectedID == 0 && buildingsIds.Count > 0) { m_selectedID = buildingsIds[0]; } numOfPages = Convert.ToInt32(Math.Ceiling(buildingsIds.Count / (float)itemsPerPage)); selectedPage = Math.Min(selectedPage, numOfPages - 1); selectedPage = Math.Max(selectedPage, 0); showBuildingsSelectedPage(buildingsIds); m_buildingsID = buildingsIds; updateDirButts(); }
void updateBuildingList(bool changeOfTab) { List <BUILDINGS> buildingsIds = new List <BUILDINGS>(); BuildingsManager buildingsMan = BuildingsManager.GetInstance(); foreach (BUILDINGS buildingId in Enum.GetValues(typeof(BUILDINGS))) { if (buildingId != 0 && !buildingsMan.isBuilded(buildingId)) { if (buildingId != BUILDINGS.PLANTA || InvestigationManager.GetInstance().isInvestigated(INVESTIGATIONS_ID.PLANTA)) { buildingsIds.Add(buildingId); } } } if (changeOfTab) { selectedId = buildingsIds.Count > 0 ? (int)buildingsIds[0] : 0; } // UPDATE DATA numOfPages = Convert.ToInt32(Math.Ceiling(buildingsIds.Count / (float)itemsPerPage)); selectedPage = Math.Min(selectedPage, numOfPages - 1); selectedPage = Math.Max(selectedPage, 0); showBuildingsSelectedPage(buildingsIds); //m_buildingsID = buildingsIds; }
void executeBuildingBuy() { BuildingsManager buildingMan = BuildingsManager.GetInstance(); int buildingPrice = buildingMan.getBuilding((BUILDINGS)selectedId).getInitialCost(); if ((BUILDINGS)selectedId == BUILDINGS.CASA) { _tutMan.eventDone(TutorialManager.EVENTS.MENU_BUY_HOUSE); } if ((BUILDINGS)selectedId == BUILDINGS.PLANTER) { _tutMan.eventDone(TutorialManager.EVENTS.MENU_BUY_PLANTELL); } if ((BUILDINGS)selectedId == BUILDINGS.TRILL) { _tutMan.eventDone(TutorialManager.EVENTS.MENU_BUY_TRILL); } if ((BUILDINGS)selectedId == BUILDINGS.ERA) { _tutMan.eventDone(TutorialManager.EVENTS.MENU_BUY_ERA); } if ((BUILDINGS)selectedId == BUILDINGS.SILO) { _tutMan.eventDone(TutorialManager.EVENTS.MENU_BUY_SILO); } UserDataManager.GetInstance().gold.espendGold(buildingPrice); GameObject.FindGameObjectWithTag("Logic").GetComponent <LogicManager>().startBuilding(TileTerrainType.BUILDING, (BUILDINGS)selectedId); UpdateBuyList(false); sideMenu.closeMenu(); //kill (); gameObject.transform.parent.gameObject.SetActive(false); }
public void constructionBuildingCancel() { if (logicState == LOGIC_STATE.DELETING) { deletingCancel(); } else { BUILDING_INFO.clearRepresentation(); if (BUILDING_INFO.terrainID == TileTerrainType.BUILDING) { Building building = BuildingsManager.GetInstance().getBuilding(BUILDING_INFO.buildingID); UserDataManager.GetInstance().gold.addGold(building.getInitialCost()); } else if (BUILDING_INFO.terrainID == TileTerrainType.RICE_TERRAIN) { UserDataManager.GetInstance().gold.addGold(WorldTerrain.PRICE_RiceChunk); } else if (BUILDING_INFO.terrainID == TileTerrainType.CANAL) { WorldTerrain wt = WorldTerrain.GetInstance(); wt.cancelCanalsTmp(); } } if (_buildingPanel != null) { _buildingPanel.SendMessage("kill"); } logicState = LOGIC_STATE.DEFAULT; }
private void HandleEvent_Press(GameObject go, bool state) { if (state) { if (this.buildingDescriptionLabel != null) { this.buildingDescriptionLabel.text = this.Description; } } else if (this.IsDragging) { if (this.CheckBuildingPositionValid() && BuildingsManager.GetInstance().PayForTheBuilding(this.Building.CoinCostLevel1) && !this.gameSceneCtrl.IsArmageddon) { GameController gameCtrl = GameObject.Find("GameController") .GetComponent <GameController>(); if (gameCtrl != null && gameCtrl.GameType == GameType.PVP) { gameCtrl.Client.SendCreateBuilding(this.buildingObj.transform.position, this.Building.BuildingType); } this.buildingObj.GetComponent <BuildingController>() .GetFSM() .ChangeState(Building_StateBuilding.Instance()); } else { BuildingsManager.GetInstance().DestroyBuilding(this.buildingObj); } this.IsDragging = false; } }
private void updateBuildingWork() { Building building = BuildingsManager.GetInstance().getBuilding(m_buildingID); string workInfo = building.getWorkInfo(); m_buldingWork.text = workInfo + Dictionary.getString("PROCESSED_PER_DAY"); }
public void constructionBuildingConfirm() { if (logicState == LOGIC_STATE.DELETING) { deletingConfirm(); } else { if (BUILDING_INFO.terrainID == TileTerrainType.BUILDING) { buildBuilding(BUILDING_INFO.buildingID, _tileSelectedPosition [0], _tileSelectedPosition [1]); Building building = BuildingsManager.GetInstance().getBuilding(BUILDING_INFO.buildingID); building.constructAtPos(_tileSelectedPosition [0], _tileSelectedPosition [1]); } else if (BUILDING_INFO.terrainID == TileTerrainType.RICE_TERRAIN) { WorldTerrain.GetInstance().createRiceChunk(_tileSelectedPosition [0], _tileSelectedPosition [1], false); } else if (BUILDING_INFO.terrainID == TileTerrainType.CANAL) { WorldTerrain wt = WorldTerrain.GetInstance(); wt.confirmCanalsTmp(); UserDataManager.GetInstance().gold.espendGold(_buildingPanel.GetComponent <MultipleBuildingPanel> ().getCost()); } BUILDING_INFO.clearRepresentation(); } logicState = LOGIC_STATE.DEFAULT; }
public void selectBuilding(BUILDINGS buildingID) { if (buildingID != m_selectedID) { m_selectedID = buildingID; int index = m_buildingsID.IndexOf(buildingID); selectedPage = index / itemsPerPage; int positionSelected = index % itemsPerPage; buyLeftPanel.gameObject.SetActive(false); buyCenterPanel.gameObject.SetActive(false); buyRightPanel.gameObject.SetActive(false); BuildingsManager buildingsMan = BuildingsManager.GetInstance(); int initialObject = itemsPerPage * selectedPage; for (int i = 0; i < itemsPerPage && i < m_buildingsID.Count - initialObject; ++i) { Building buildingToAdd = buildingsMan.getBuilding(m_buildingsID[initialObject + i]); //int objectPrice = buildingToAdd.getInitialCost(); string quantityText = Dictionary.getString("P_UPGR_LEVEL") + (buildingToAdd.getCurrentLevel() + 1); switch (i) { case 0: buyLeftPanel.gameObject.SetActive(true); changePanel(buyLeftPanel, m_buildingsID[initialObject + i], buildingToAdd.getImgPath(), PanelPosition.LEFT, quantityText); break; case 1: buyCenterPanel.gameObject.SetActive(true); changePanel(buyCenterPanel, m_buildingsID[initialObject + i], buildingToAdd.getImgPath(), PanelPosition.CENTER, quantityText); break; case 2: buyRightPanel.gameObject.SetActive(true); changePanel(buyRightPanel, m_buildingsID[initialObject + i], buildingToAdd.getImgPath(), PanelPosition.RIGHT, quantityText); break; } } switch (positionSelected) { case 0: changePanelToSelected(buyLeftPanel); changePanelToUnselected(buyCenterPanel); changePanelToUnselected(buyRightPanel); break; case 1: changePanelToUnselected(buyLeftPanel); changePanelToSelected(buyCenterPanel); changePanelToUnselected(buyRightPanel); break; case 2: changePanelToUnselected(buyLeftPanel); changePanelToUnselected(buyCenterPanel); changePanelToSelected(buyRightPanel); break; } } updateBuildingInfo(); }
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); }
public void DestroyBuilding() { if (selectedBuilding) { BuildingsManager.GetInstance().DestoryBuildingAtCoordinate(selectedBuilding.coordinate); } }
// ---AUX --- private void upgradeBuilding(BUILDINGS buildingType) { Building b = BuildingsManager.GetInstance().getBuilding(buildingType); GoldReserve goldReserve = UserDataManager.GetInstance().gold; goldReserve.espendGold(b.getNextLevelCost()); b.upgrade(); }
private void updateTexts() { Building building = BuildingsManager.GetInstance().getBuilding(BUILDINGS.PLANTA); List <Pair <string, string> > specificInfo = building.getSpecificBuildingInfo(); m_buildingRiceStored.text = specificInfo[0].First + specificInfo[0].Second; m_buldingWork.text = building.getWorkInfo() + " " + "per dia"; }
void OnArriveAtTile() { if (tasks.Count > 0) { Task task = tasks[0]; GameObject platform = BuildingsManager.GetInstance().Build(task.data, task.coordinate); tasks.RemoveAt(0); } }
IEnumerator EnvironmentTick() { while (true) { //PERFORMANCE: might not want to recalculate every frame BuildingsManager.GetInstance().RecalculateResources(); yield return(null); } }
// Start is called before the first frame update void Start() { Controls.GetInstance().OnSelectPlatform += (HexTile platform) => { Debug.Log("ok!"); Building building = BuildingsManager.GetInstance().BuildingAtCoordinate(platform.coordinate); LoadData(building); }; SetOpen(false); }
public void addActionInProgress(ChunkAction action) { _actionInProgress.Add(action); //actions that have consequences per chunk not per tile if (action.id == 18 || action.id == 25) { Building_Planter planter = (Building_Planter)BuildingsManager.GetInstance().getBuilding(BUILDINGS.PLANTER); planter.agafarPlanta(); } }
private void ActSendRiceToSilo() { Building_Era era = (Building_Era)BuildingsManager.GetInstance().getBuilding(BUILDINGS.ERA); Building_Silo silo = (Building_Silo)BuildingsManager.GetInstance().getBuilding(BUILDINGS.SILO); //uint ricePrepared = era.getAndEraseRicePrepared (); uint riceToSend = Math.Min(silo.getCurrentFreeCapacity(), era.getRicePrepared()); era.takeRicePrepared(riceToSend); silo.sendRice(riceToSend); }
private void ActSendRiceToEra() { Building_Trill trill = (Building_Trill)BuildingsManager.GetInstance().getBuilding(BUILDINGS.TRILL); Building_Era era = (Building_Era)BuildingsManager.GetInstance().getBuilding(BUILDINGS.ERA); //uint ricePrepared = trill.getAndEraseRicePrepared (); uint riceToSend = Math.Min(era.getCurrentFreeCapacity(), trill.getRicePrepared()); trill.takeRicePrepared(riceToSend); era.sendRice(riceToSend); }
public void destroyBuilding(BUILDINGS buildingId) { BuildingsManager buildingsMan = BuildingsManager.GetInstance(); Building building = buildingsMan.getBuilding(buildingId); buildingsMan.destroy(buildingId); WorldTerrain worldTerrain = WorldTerrain.GetInstance(); worldTerrain.destroyBuilding(building.getRow(), building.getCol(), building.getVerticalTiles(), building.getHorizontalTiles()); }
public void ExecuteBuy() { BuildingsManager buildingMan = BuildingsManager.GetInstance(); int upgradePrice = buildingMan.getBuilding(m_selectedID).getNextLevelCost(); UserDataManager.GetInstance().gold.espendGold(upgradePrice); buildingMan.upgrade(m_selectedID); updateUpgradeList(); //updateQuantities(); updateBuildingInfo(); }
public void BuildAllModernBuildings() { BuildingsManager buildingsMan = BuildingsManager.GetInstance(); WorldTerrain worldTerrain = WorldTerrain.GetInstance(); Building building = buildingsMan.build(BUILDINGS.CASA, 25, 27); worldTerrain.createBuilding(building.getRow(), building.getCol(), building.getVerticalTiles(), building.getHorizontalTiles()); building = buildingsMan.build(BUILDINGS.PLANTER, 27, 27); worldTerrain.createBuilding(building.getRow(), building.getCol(), building.getVerticalTiles(), building.getHorizontalTiles()); building = buildingsMan.build(BUILDINGS.PLANTA, 29, 25); worldTerrain.createBuilding(building.getRow(), building.getCol(), building.getVerticalTiles(), building.getHorizontalTiles()); }
private List <MenuAction> getBEstabloActions() { List <MenuAction> actions = new List <MenuAction>(); Building_Stable building = (Building_Stable)BuildingsManager.GetInstance().getBuilding(BUILDINGS.ESTABLO); MenuAction action = new MenuAction(); action.title = Dictionary.getString("BUY"); action.enabled = true; action.doMenuAction = new DoMenuAction(building.openBuyMenu); actions.Add(action); return(actions); }
// Getters Building Actions private List <MenuAction> getBCasaActions() { List <MenuAction> actions = new List <MenuAction> (); Building_Home casa = (Building_Home)BuildingsManager.GetInstance().getBuilding(BUILDINGS.CASA); MenuAction action = new MenuAction(); action.title = Dictionary.getString("HIRE"); action.enabled = true; action.doMenuAction = new DoMenuAction(casa.openHirePanel); actions.Add(action); return(actions); }