Example #1
0
 public void AddBuilding(RhitLocation location)
 {
     if (!Buildings.Contains(location))
     {
         Buildings.Add(location);
     }
 }
    public virtual void Init(LidServer a_server, int a_type, int a_ownerPid = 0, int a_health = 100, bool a_isNew = true)
    {
        m_isStatic  = false;
        m_server    = a_server;
        m_type      = a_type;
        m_ownerPid  = a_ownerPid;
        m_def       = Buildings.GetBuildingDef(m_type);
        m_decayTime = m_def.decayTime * (double)((float)a_health / 100f);
        if (!m_def.persistent)
        {
            return;
        }
        Vector3 position    = base.transform.position;
        float   a_x         = position.x * 1.00001f;
        Vector3 position2   = base.transform.position;
        float   a_y         = position2.z * 1.00001f;
        Vector3 eulerAngles = base.transform.rotation.eulerAngles;

        m_dbBuilding = new DatabaseBuilding(a_type, a_x, a_y, eulerAngles.y * 1.00001f, a_ownerPid, a_health);
        m_sql        = m_server.GetSql();
        if (null != m_sql)
        {
            if (a_isNew)
            {
                m_dbBuilding.flag = eDbAction.insert;
                m_sql.SaveBuilding(m_dbBuilding);
            }
            m_nextSqlUpdateTime = Random.Range(100f, 300f);
        }
    }
        /// <summary>
        /// Called before each game simulation frame. Performs the dispatching for this simulation phase.
        /// </summary>
        public override void OnBeforeSimulationFrame()
        {
            uint currentFrame = SimulationManager.instance.m_currentFrameIndex;

            Buildings?.ProcessFrame(currentFrame);
            CitizenProcessor?.ProcessFrame(currentFrame);
        }
        public async Task <IActionResult> PutBuildings(long id, Buildings buildings)
        {
            if (id != buildings.Id)
            {
                return(BadRequest());
            }

            _context.Entry(buildings).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BuildingsExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Example #5
0
 public void RemoveBuilding(RhitLocation location)
 {
     if (Buildings.Contains(location))
     {
         Buildings.Remove(location);
     }
 }
Example #6
0
 public void Add(Buildings b)
 {
     lock (this)
     {
         _buildingList.Add(b);
     }
 }
        private void LoadBuildings()
        {
            this.Cursor = Cursors.WaitCursor;

            try
            {
                var       userid   = Controller.user.id;
                Buildings bManager = (userid == 0 ? new Buildings(false) : new Buildings(userid));
                _Buildings = bManager.buildings.ToList();
                _Buildings.Insert(0, new Building()
                {
                    Name = " -- All Buildings --", ID = 0
                });
                cmbBuilding.DataSource    = _Buildings;
                cmbBuilding.ValueMember   = "ID";
                cmbBuilding.DisplayMember = "Name";
                if (_Buildings.Count > 0)
                {
                    cmbBuilding.SelectedIndex = 0;
                }
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
        }
//--------------------------------------------------------------------------------------------
    void Start()
    {
        seed = UnityEngine.Random.Range(0, 1000);
        Roads road = new Roads();

        road.width   = width;
        road.height  = height;
        road.mean    = mean;
        road.std_dev = std_dev;
        road.generateRandomPoints();
        road.returnEdges();
        edges = road.edges;


        road.placeRoads();
        roads = road.roads;

        Buildings buildings = new Buildings();

        buildings.width  = width;
        buildings.height = height;
        buildings.edges  = edges;
        buildings.c      = offsetFromRoad;      //intercept offset
        buildings.placeBuildings();
        buildings.putBuildingsWithPerlinNoise();
        houses = buildings.houses;



        scatterHouses();
        removeIntersections();
    }
        public async Task <ActionResult <Buildings> > PostBuildings(Buildings Buildings)
        {
            _context.Buildings.Add(Buildings);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetBuildings", new { id = Buildings.id }, Buildings));
        }
Example #10
0
    private void OnEnterState(int prevState, int newState)
    {
        mCurrentStateTime = 0.0f;

        eCharacterStates prevCharState = (eCharacterStates)prevState;
        eCharacterStates newCharState  = (eCharacterStates)newState;

        Debug.Log("Prev State: " + prevCharState + " New State: " + newCharState);

        // Trigger new state
        switch (newCharState)
        {
        case eCharacterStates.Idle:
            break;

        case eCharacterStates.Walk:
            mDestinationPosition = GetRandomDestination();
            break;

        case eCharacterStates.Work:
            mTargetBuilding = GetClosestWorkplace();
            break;

        case eCharacterStates.Dead:
            mSoulScore = 0;
            OnCharacterDead?.Invoke(this);
            break;
        }
    }
Example #11
0
        /// <summary>
        ///   Controlla se è possibile costruire un determinato edificio
        /// </summary>
        /// <param name = "b">L'edificio che si vuole controllare</param>
        /// <exception cref = "NotConnectedException">Solleva un eccezione se non si è connessi a internet</exception>
        /// <returns>Vero se è possibile crearlo, Falso se non è possibile</returns>
        public CanBuildReturnValues CanBuild(Buildings b)
        {
            BrowsePage(b.Page());
            if (Document.All.Count == 0) throw new NotConnectedException();

            foreach (HtmlElement element in Document.All)
            {
                if (element.GetAttribute("className") == "construction" && element.FirstChild != null && element.FirstChild.GetAttribute("className") == "pusher")
                    return CanBuildReturnValues.InConstruction;

                if (element.GetAttribute("ref") == "") continue;
                if (int.Parse(element.GetAttribute("ref")) != (int)b) continue;

                string @class = element.Parent.Parent.Parent.GetAttribute("className");
                switch (@class)
                {
                    case "on":
                        return CanBuildReturnValues.Yes;
                    case "off":
                        return CanBuildReturnValues.Unavaiable;
                    default:
                        return CanBuildReturnValues.NotEnoughResources;
                }
            }
            throw new NotConnectedException();
        }
Example #12
0
 private void OnCollisionEnter2D(Collision2D other)
 {
     if (other.gameObject.CompareTag("Weapon"))
     {
         FindObjectOfType <AudioManager>().Play("Hit");
         Character character = other.gameObject.GetComponent <Weapon>().character;
         if (character != null)
         {
             rb.AddForce(new Vector2(other.transform.right.x * -character.Stacs.Atk * 10, Vector2.up.y * 10));
             enemy.Damage(character.Stacs.StrAttack, def);
             enemy.DisplayStats();
         }
         else
         {
             rb.AddForce(new Vector2(other.transform.right.x * -30 * 10, Vector2.up.y * 10));
             enemy.Damage(25, def);
         }
     }
     if (other.gameObject.CompareTag("Tramps"))
     {
         FindObjectOfType <AudioManager>().Play("Hit");
         Buildings building = other.gameObject.GetComponent <Buildings>();
         rb.AddForce(new Vector2(other.transform.right.x * -building.Stacs.Atk, 0));
         enemy.Damage(building.Stacs.StrAttack, def);
         enemy.DisplayStats();
     }
 }
        public int CalculateIt(Buildings building)
        {
            var revision = ProvinceRevisionFactory.FromFarmsResourcesAndCulture((int)farmsSlider.Value, GetResources(), CultureLevel.Primitive);
            var calculator = AutofacServiceLocator.Container.Resolve<INeededTurnsCalculator>();

            return calculator.Calculate(revision, building);
        }
Example #14
0
 private void Update()
 {
     if (Input.GetMouseButtonUp(1))
     {
         int       i    = Random.Range(0, 3);
         Buildings type = Buildings.A;
         if (i == 0)
         {
             type = Buildings.A;
         }
         else if (i == 1)
         {
             type = Buildings.B;
         }
         else if (i == 2)
         {
             type = Buildings.C;
         }
         Build(type, Input.mousePosition);
     }
     if (Input.GetKeyUp(KeyCode.A))
     {
         BuildSys.GetIns().GetBuildObjFromIndex("A_0").DoLevelUp(5);
         //Remove("A_0");
     }
 }
Example #15
0
    public static BuildObj BuildObj(string buildIndex)
    {
        Buildings b   = BuildSys.GettypeFromIndex(buildIndex);
        BuildObj  obj = null;

        switch (b)
        {
        case Buildings.A:
            obj = new Abuilding(buildIndex);
            break;

        case Buildings.B:
            obj = new Bbuilding(buildIndex);
            break;

        case Buildings.C:
            obj = new Cbuilding(buildIndex);
            break;

        case Buildings.D:
            break;

        case Buildings.E:
            break;

        default:
            break;
        }
        return(obj);
    }
Example #16
0
    public void UpdateMap(GameData gameData)
    {
        if (PositionHasBeenSet)
        {
            Characters.Clear();
            Buildings.Clear();

            for (int i = 0; i < gameData.Sprites.Count(); i++)
            {
                if (gameData.Sprites[i].MiniMapTexture != null)
                {
                    Vector2 miniMapPos = new Vector2(gameData.Sprites[i].Bounds.X, gameData.Sprites[i].Bounds.Y);
                    miniMapPos  = miniMapPos * Ratio;                                                                                                                                                                 //Scale the position down to the minimap size
                    miniMapPos += PositionUpperLeft;                                                                                                                                                                  //Move the position to the correct location of the screen
                    miniMapPos -= new Vector2((gameData.Sprites[i].MiniMapTexture.Width * gameData.Sprites[i].MiniMapScale) / 2, (gameData.Sprites[i].MiniMapTexture.Height * gameData.Sprites[i].MiniMapScale) / 2); //Move the position to upperleft corner. The SpriteBase holds the position of the center

                    if (gameData.Sprites[i].IsMovable)
                    {
                        Characters.Add(new MinimapObject()
                        {
                            Texture = gameData.Sprites[i].MiniMapTexture, Color = gameData.Sprites[i].Color, Position = miniMapPos, Scale = gameData.Sprites[i].MiniMapScale, Opacity = gameData.Sprites[i].MiniMapOpacity
                        });
                    }
                    else
                    {
                        Buildings.Add(new MinimapObject()
                        {
                            Texture = gameData.Sprites[i].MiniMapTexture, Color = gameData.Sprites[i].Color, Position = miniMapPos, Scale = gameData.Sprites[i].MiniMapScale, Opacity = gameData.Sprites[i].MiniMapOpacity
                        });
                    }
                }
            }
        }
    }
Example #17
0
        public async Task <IActionResult> PutBuildings(long id, Buildings Buildings)
        {
            if (id != Buildings.id)
            {
                return(BadRequest());
            }

            _context.Entry(Buildings).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BuildingsExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            var jsonPut = new JObject();

            jsonPut["Update"] = "Update done to Buildings id : " + id;
            return(Content(jsonPut.ToString(), "application/json"));
        }
Example #18
0
    public void OnChildTriggerEnter2D(GameObject childNotifier, Collider2D collision)
    {
        //Debug.Log(childNotifier.name + " triggered by " + collision.name);

        // Check if the player hit one of the child triggers
        if (collision.name == "PlayerView" || collision.gameObject.CompareTag("Player"))
        {
            // if we player is standing at the house door
            if (childNotifier.name == home.name)
            {
                //Debug.Log("PlayerView at house door");
                standingInFrontOf = Buildings.Home;
                UpdateActionButtonText();
            }
            // if the player is standing at the castle door
            else if (childNotifier.name == castle.name)
            {
                //Debug.Log("PlayerView at castle door");
                standingInFrontOf = Buildings.Castle;
                UpdateActionButtonText();
            }
            // if the player is standing at the Inn door
            else if (childNotifier.name == inn.name)
            {
                //Debug.Log("PlayerView at inn door");
                standingInFrontOf = Buildings.Inn;
                UpdateActionButtonText();
            }
        }
    }
    private Node GetObjectUnderMouse()
    {
        var currentLoc = SelectRect.Position;

        if (currentLoc != null)
        {
            var zoneUnder     = Zones.FirstOrDefault(a => a.Position == currentLoc);
            var buildingUnder = Buildings.FirstOrDefault(a => a.Position == currentLoc);
            var roadUnder     = Roads.FirstOrDefault(a => a.Position == currentLoc);
            if (zoneUnder != null)
            {
                return(zoneUnder as Node);
            }
            else if (buildingUnder != null)
            {
                return(buildingUnder as Node);
            }
            else if (roadUnder != null)
            {
                return(roadUnder as Node);
            }
            else
            {
                return(null);
            }
        }
        else
        {
            return(null);
        }
    }
Example #20
0
 public static void OnLoad()
 {
     foreach (RenderableBuilding b in Buildings.Values)
     {
         b.Dispose();
     }
     Buildings.Clear();
     foreach (RenderablePlot p in Plots.Values)
     {
         p.Dispose();
     }
     Plots.Clear();
     foreach (Plot p in Haswell.Controller.City.Grid)
     {
         if (p.Building != null)
         {
             if (p.Building is Road)
             {
                 Buildings[p.Building] = new RenderableRoad((Road)p.Building);
             }
             else
             {
                 Buildings[p.Building] = new RenderableBuilding(p.Building);
             }
         }
         Plots[p] = new RenderablePlot(p);
         Plots[p].Create(SceneMgr, cityNode);
     }
     GameConsole.ActiveInstance.WriteLine("Game Loaded.");
     GuiMgr.AddInfoPopup("Game Loaded.");
 }
Example #21
0
    private void LookForNewTarget()
    {
        float tartgetMaxRadius = 10f;

        Collider2D[] collider2DArray = Physics2D.OverlapCircleAll(transform.position, tartgetMaxRadius);

        foreach (Collider2D collider2d in collider2DArray)
        {
            Buildings buildings = collider2d.GetComponent <Buildings>();

            if (buildings != null)
            {
                if (targetTransform == null)
                {
                    targetTransform = buildings.transform;
                }
                else
                {
                    if (Vector3.Distance(transform.position, buildings.transform.position)
                        < Vector3.Distance(transform.position, transformHq.position))
                    {
                        targetTransform = buildings.transform;
                    }
                }
            }
        }
    }
Example #22
0
        public async Task DeleteAsync(SimpleUser user, Buildings buildings, CancellationToken cancellationToken = default(CancellationToken))
        {
            if (user == null)
            {
                throw new ArgumentNullException(nameof(user));
            }

            if (buildings == null)
            {
                throw new ArgumentNullException(nameof(buildings));
            }

            buildings.DeleteTime = DateTime.Now;
            buildings.DeleteUser = user.Id;
            buildings.IsDeleted  = true;
            Context.Attach(buildings);
            var entry = Context.Entry(buildings);

            entry.Property(x => x.IsDeleted).IsModified  = true;
            entry.Property(x => x.DeleteUser).IsModified = true;
            entry.Property(x => x.DeleteTime).IsModified = true;

            try
            {
                await Context.SaveChangesAsync(cancellationToken);
            }
            catch (DbUpdateConcurrencyException)
            {
                throw;
            }
        }
Example #23
0
        public void DemolishBuilding(Tile tile)
        {
            if (tile == null || (bool)!tile?.HasBuilding)
            {
                return;
            }
            var buildingToDemolish = tile.Building;
            var mainTile           = buildingToDemolish.Tile;
            var tilesToDemolish    = new List <Tile>();

            for (var i = 0; i < buildingToDemolish.Size; i++)
            {
                for (var j = 0; j < buildingToDemolish.Size; j++)
                {
                    var tileToDemolish = Tiles[mainTile.X + i, mainTile.Y + j];
                    tilesToDemolish.Add(tileToDemolish);
                }
            }

            buildingToDemolish.Tile = null;
            Buildings.Remove(buildingToDemolish);
            tilesToDemolish.ForEach(t => t.Building = null);
            tilesToDemolish.ForEach(t => Graph.RecreateEdges(t));

            foreach (var tileToDemolish in tilesToDemolish)
            {
                foreach (var neighbor in tileToDemolish.Neighbors)
                {
                    neighbor?.Building?.OnChange();
                }
            }

            OnChange();
        }
Example #24
0
 /// <summary>
 /// Called before each game simulation frame. Performs the dispatching for this simulation phase.
 /// </summary>
 public override void OnBeforeSimulationFrame()
 {
     if ((SimulationManager.instance.m_currentFrameIndex & 0xFF) == 0)
     {
         Buildings?.StartBuildingProcessingFrame();
     }
 }
        internal void FinishConstruction()
        {
            this.IsConstructing = false;

            if (Builder_Village)
            {
                this.Level.BuilderVillageWorkerManager.DeallocateWorker(this);
            }
            else
            {
                this.Level.VillageWorkerManager.DeallocateWorker(this);
            }

            SetUpgradeLevel(GetUpgradeLevel() + 1);
            if (GetResourceProductionComponent() != null)
            {
                GetResourceProductionComponent().Reset();
            }

            int constructionTime = GetConstructionItemData().GetConstructionTime(GetUpgradeLevel());

            this.Level.Avatar.AddExperience((int)Math.Pow(constructionTime, 0.5f));
            if (GetHeroBaseComponent(true) != null)
            {
                Buildings data = (Buildings)GetData();
                Heroes    hd   = CSV.Tables.Get(Gamefile.Heroes).GetData(data.HeroType) as Heroes;
                Level.Avatar.SetUnitUpgradeLevel(hd, 0);
                Level.Avatar.SetHeroHealth(hd, 0);
                Level.Avatar.SetHeroState(hd, 3);
            }
        }
Example #26
0
    /// <summary>
    /// First initializeing  Produce menu with buildings object
    /// </summary>
    void LoadProduceMenu()
    {
        entities         = new Dictionary <string, Entity[]>();
        produceMenuItems = new List <GameObject>();

        //Get all building entities
        Entity[] bEntity = new Entity[buildings.Length];

        group = producePanel.GetComponent <GridLayoutGroup>();
        SetContentSizes();
        for (int i = 0; i < buildings.Length; i++)
        {
            GameObject obj = buildings[i].gameObject;
            bEntity[i] = obj.GetComponent <Entity>();

            GameObject go = ObjectPooler.Instance.GetPooledObject(entityItemUI.name);
            go.transform.SetParent(producePanel.transform);
            produceMenuItems.Add(go);
            go.SetActive(true);
            LoadBuilding(go, bEntity[i]);

            Buildings build = obj.GetComponent <Buildings>();
            if (entities.ContainsKey(build._name))
            {
                continue;
            }
            Entity[] ent = new Entity[build.products.Length];
            for (int j = 0; j < build.products.Length; j++)
            {
                ent[j] = build.products[j].GetComponent <Entity>();
            }
            entities.Add(build._name, ent);
        }
        entities.Add(strBuild, bEntity);
    }
Example #27
0
        /// <summary>
        /// Вывести статистику определенных объектов на карте
        /// </summary>
        public void WriteReport()
        {
            var ed = Doc.Editor;

            ed.WriteMessage($"\nОпределенно объектов инсоляции на чертеже:");
            // Здания
            var groupsBuildings = Buildings.GroupBy(g => g.Building.IsProjectedBuilding).Select(s => {
                if (s.Key)
                {
                    // Проектируемые
                    return($"Проектируемые-{s.Count()}шт.");
                }
                else
                {
                    // Окружающие
                    return($"Окр.застройка-{s.Count()}шт.");
                }
            });

            ed.WriteMessage($"\nЗданий: {Buildings?.Count ?? 0} шт. {string.Join(", ",groupsBuildings)}");
            // Точек
            ed.WriteMessage($"\nРасчетных точек: {InsPoints?.Count ?? 0} шт.");
            // Площадок
            ed.WriteMessage($"\nПлощадок: {Places?.Count ?? 0} шт.");
        }
Example #28
0
        public static Building FindBuilding(int playerId, int buildingId)
        {
            foreach (GameObject gameObject in Object.FindObjectsOfType(typeof(GameObject)) as GameObject[])
            {
                Building building = gameObject.GetComponent <Building>();
                if ((building != null) && (building.playerId == playerId) && (building.id == buildingId))
                {
                    return(building);
                }
            }

            Player player = FindPlayer(playerId);

            if (player)
            {
                Buildings buildings = player.GetComponentInChildren <Buildings>();
                foreach (Transform child in buildings.transform)
                {
                    Building building = child.gameObject.GetComponent <Building>();
                    if ((building) && (building.id == buildingId))
                    {
                        return(building);
                    }
                }
            }
            return(null);
        }
Example #29
0
        public async Task <ActionResult <Buildings> > PostBuilding(Buildings building)
        {
            _context.Buildings.Add(building);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetBuilding", new { id = building.Id }, building));
        }
Example #30
0
        private void addColumn(ColumnDefinition definition, Vector3 pos)
        {
            Column column = new Column(definition, pos, Data, Atlas);

            columnsByPosition.Add((int)pos.X + (int)pos.Z * Data.Width, column);
            Buildings.AddNode(column);
        }
    ///If wanted to change/add defaults, change/add inside if statements
    public void AddBuildingToListWithDefaultSoldiers(string name, int sizeX, int sizeY)
    {
        List <Unit> defaultUnits = new List <Unit>();

        if (name == "Barracks")
        {
            defaultUnits.Add(transform.GetComponent <UnitManager>().UnitList.Find(x => x.GetName() == "Pikeman"));
            defaultUnits.Add(transform.GetComponent <UnitManager>().UnitList.Find(x => x.GetName() == "Archer"));
        }
        else if (name == "Cave")
        {
            defaultUnits.Add(transform.GetComponent <UnitManager>().UnitList.Find(x => x.GetName() == "H**o Erectus"));
        }
        else if (name == "Archery")
        {
            defaultUnits.Add(transform.GetComponent <UnitManager>().UnitList.Find(x => x.GetName() == "Archer"));
        }
        else if (name == "Cami")
        {
            defaultUnits.Add(transform.GetComponent <UnitManager>().UnitList.Find(x => x.GetName() == "Feto"));
        }
        else if (name == "Sanayi")
        {
            defaultUnits.Add(transform.GetComponent <UnitManager>().UnitList.Find(x => x.GetName() == "Tank"));
        }
        else if (name == "Otopark")
        {
            defaultUnits.Add(transform.GetComponent <UnitManager>().UnitList.Find(x => x.GetName() == "Mafia"));
        }

        Buildings newBuilding = new Buildings(name, sizeX, sizeY, defaultUnits);

        ListOfBuildings.Add(newBuilding);
    }
Example #32
0
        /// <summary>
        /// Változtatások mentése.
        /// </summary>
        private void SaveChanges()
        {
            // ellenőrzések
            if (String.IsNullOrEmpty(EditedBuilding.Name))
            {
                OnMessageApplication("Az épületnév nincs megadva!");
                return;
            }
            if (EditedBuilding.City == null)
            {
                OnMessageApplication("A város nincs megadva!");
                return;
            }
            if (EditedBuilding.ShoreId == null)
            {
                OnMessageApplication("A tengerpart típus nincs megadva!");
                return;
            }

            // mentés
            if (EditedBuilding.Id == 0) // ha új az épület
            {
                _model.CreateBuilding(EditedBuilding);
                Buildings.Add(EditedBuilding);
                SelectedBuilding = EditedBuilding;
            }
            else // ha már létezik az épület
            {
                _model.UpdateBuilding(EditedBuilding);
            }

            EditedBuilding = null;

            OnBuildingEditingFinished();
        }
Example #33
0
 // Currently, the only script that inherits from Player is BattlePlayer, which is a testing script
 protected virtual void Awake()
 {
     capital      = GetComponentInChildren <Capital> ();
     stratPoints  = GetComponentInChildren <StrategicPoints> ();
     tempBuilding = GetComponentInChildren <TempBuilding> ();
     tempBuilding.gameObject.SetActive(false);
     Era           = Eras.StoneAge;
     ResourcesDict = new Dictionary <ResourceType, float> ();
     ResourcesDict.Add(ResourceType.Gold, startgold);
     ResourcesDict.Add(ResourceType.Wood, startwood);
     ResourcesDict.Add(ResourceType.Unique, startunique);
     units     = GetComponentInChildren <Units>();
     buildings = GetComponentInChildren <Buildings>();
     if (species != Species.Wolves)
     {
         species = PlayerManager.GetSpecies();
     }
     GameManager.playersDick.Add(species, this);
     gameObject.name = species.ToString();
     color           = Pop_Dynamics_Model.speciesColorDick [species];
     if (species == PlayerManager.playerSpecies)
     {
         GameManager.HumanPlayer = this;
         userInput = gameObject.AddComponent <UserInput>();
     }
     else
     {
         gameObject.AddComponent <AI>();
     }
     InitializeStatsDicks();
 }
Example #34
0
 public static Buildings GetInstance()
 {
     if (instance == null)
     {
         instance = new Buildings();
     }
     return instance;
 }
Example #35
0
 public string Repair(Buildings.BuildingsModel building)
 {
     if (Workers.Count == 0)
         return "Il n'y a pas d'ouvriers.";
     if (Owner.Owner.BuildingsList.UnionOfCrafterList.Count == 0)
         return "Sans syndicat, les ouvriers refusent de réparer.";
     if (building == null)
         return "Veillez choisir un bâtiment";
     if (building.Hp < 1)
         return "Un bâtiment détruit ne peut être réparé.";
     ToRepair.Add(building);
     return "Le bâtiment a bien été ajouté à la liste des bâtiments à réparer";
 }
Example #36
0
        /// <summary>
        ///   Esegue la costruzione di un determinato edificio
        /// </summary>
        /// <param name = "b">L'edificio che si vuole costruire</param>
        /// <exception cref = "NotConnectedException">Solleva un eccezione se non si è connessi a internet</exception>
        public void Build(Buildings b)
        {
            BrowsePage(b.Page());

            if (Document == null) throw new NotConnectedException();
            foreach (HtmlElement element in Document.All)
            {
                if (element.GetAttribute("ref") == "") continue;
                if (int.Parse(element.GetAttribute("ref")) != (int)b) continue;
                element.Parent.FirstChild.InvokeMember("click");
                element.Parent.FirstChild.RaiseEvent("onclick");
                break;
            }
        }
        public int Calculate(ProvinceRevision revision, Buildings building)
        {
            var triple = new BuildingTriple(revision.Power, revision.CultureLevel, building);
            int turnsNeeded;
            if (turns.TryGetValue(triple, out turnsNeeded))
            {
                return turnsNeeded;
            }

            return 99;

            // TODO productionCapacity && productionCost should be removed.
            int capacity = productionCapacity.Calculate(revision);
            int cost = productionCost.Calculate(revision, building);

            return cost / capacity;
        }
        public BuildingsViewModel(Buildings model)
        {
            this.CurrentlyBuilding = model.CurrentlyBuilding.ToString();
            this.EndTime = model.EndTime;
            this.StartTime = model.StartTime;

            if (model.EndTime.HasValue)
            {
                var mins = model.EndTime.Value - DateTime.Now;
                this.MinutesLeftToBuild = mins.TotalMinutes;

                var totalTime = model.EndTime.Value - model.StartTime.Value;
                var totalSegments = totalTime.TotalMinutes / 100;

                var percents = 100 - (this.MinutesLeftToBuild / totalSegments);
                this.PercentsBuilt = percents;
            }
        }
 public int Calculate(ProvinceRevision revision, Buildings target)
 {
     switch (target)
     {
         case Buildings.Soldiers:
             return 5;
         case Buildings.Fortification:
             return 50;
         case Buildings.Farm:
             return (revision.FarmsCount + 1) * (revision.FarmsCount + 1);
         case Buildings.Culture:
             return 60;
         //                case Buildings.Unknown:
         //                    break;
         default:
             throw new ArgumentOutOfRangeException("target");
     }
 }
        internal Buildings GetNextBuilding(ProvinceRevision lastRevision, Buildings lastBuilt)
        {
            if (lastBuilt == Buildings.Soldiers)
            {
                if (lastRevision.FarmsCount == 1
                        && lastRevision.SoldiersCount == 2)
                {
                    return Buildings.Soldiers;
                }

                if (lastRevision.SoldiersCount < lastRevision.FarmsCount * 2)
                {
                    return Buildings.Soldiers;
                }

                return Buildings.Farm;
            }

            return lastBuilt;
        }
 public void PlaceOrderForBuildment(Buildings type)
 {
     building = type;
     orderForBuildPlaced = true;
 }
Example #42
0
 void Awake()
 {
     buildings = Buildings.GetInstance();
     buildingName = buildingNameObject.text;
     buildingNumber = buildingNumberObject.text;
 }
 IEnumerator PlaceBuildmentOrder(Buildings type)
 {
     yield return new WaitForEndOfFrame();
     click.PlaceOrderForBuildment(type);
 }
Example #44
0
 /// <summary>
 /// Remove empty house for empty houses list
 /// </summary>
 /// <param name="house"></param>
 internal void RemoveEmptyHouse(Buildings.House house)
 {
     Debug.Assert(EmptyHouseList.Contains(house), @"(village, RemoveEmptyHouse) EmptyHouseList not have this house");
     EmptyHouseList.Remove(house);
 }
Example #45
0
 public static bool HasOrder(Buildings b)
 {
     switch (b)
     {
         case Buildings.AlchemyLabLvl1:
         case Buildings.AlchemyLabLvl2:
         case Buildings.AlchemyLabLvl3:
         case Buildings.BarnLvl1:
         case Buildings.BarnLvl2:
         case Buildings.BarnLvl3:
         case Buildings.DwarvenBunkerLvl1:
         case Buildings.DwarvenBunkerLvl2:
         case Buildings.DwarvenBunkerLvl3:
         case Buildings.EnchanterStudyLvl1:
         case Buildings.EnchanterStudyLvl2:
         case Buildings.EnchanterStudyLvl3:
         case Buildings.EngineeringWorksLvl1:
         case Buildings.EngineeringWorksLvl2:
         case Buildings.EngineeringWorksLvl3:
         case Buildings.GardenLvl1:
         case Buildings.GardenLvl2:
         case Buildings.GardenLvl3:
         case Buildings.GemBoutiqueLvl1:
         case Buildings.GemBoutiqueLvl2:
         case Buildings.GemBoutiqueLvl3:
         case Buildings.GladiatorSanctumLvl1:
         case Buildings.GladiatorSanctumLvl2:
         case Buildings.GladiatorSanctumLvl3:
         case Buildings.TailoringEmporiumLvl1:
         case Buildings.TailoringEmporiumLvl2:
         case Buildings.TailoringEmporiumLvl3:
         case Buildings.TheForgeLvl1:
         case Buildings.TheForgeLvl2:
         case Buildings.TheForgeLvl3:
         case Buildings.TheTanneryLvl1:
         case Buildings.TheTanneryLvl2:
         case Buildings.TheTanneryLvl3:
         case Buildings.LumberMillLvl1:
         case Buildings.LumberMillLvl2:
         case Buildings.LumberMillLvl3:
         case Buildings.MineLvl1:
         case Buildings.MineLvl2:
         case Buildings.MineLvl3:
         case Buildings.ScribeQuartersLvl1:
         case Buildings.ScribeQuartersLvl2:
         case Buildings.ScribeQuartersLvl3:
         case Buildings.TradingPostLvl1:
         case Buildings.TradingPostLvl2:
         case Buildings.TradingPostLvl3: // This one changes everyday... 
             return true;
         case Buildings.GnomishGearworksLvl1:
         case Buildings.GnomishGearworksLvl2:
         case Buildings.GnomishGearworksLvl3:
         case Buildings.MageTowerLvl1:
         case Buildings.MageTowerLvl2:
         case Buildings.MageTowerLvl3:
         case Buildings.BarracksLvl1:
         case Buildings.BarracksLvl2:
         case Buildings.BarracksLvl3:
         case Buildings.SalvageYardLvl1:
         case Buildings.SalvageYardLvl2:
         case Buildings.SalvageYardLvl3:
         case Buildings.StablesLvl1:
         case Buildings.StablesLvl2:
         case Buildings.StablesLvl3:
         case Buildings.StorehouseLvl1:
         case Buildings.StorehouseLvl2:
         case Buildings.StorehouseLvl3:
         case Buildings.InnTavernLvl1:
         case Buildings.InnTavernLvl2:
         case Buildings.InnTavernLvl3:
         case Buildings.FishingShackLvl1:
         case Buildings.FishingShackLvl2:
         case Buildings.FishingShackLvl3:
             break;
         default:
             GarrisonButler.Warning("HasOrder hit default case with b=" + b);
             break;
     }
     return false;
 }
 public void CreateBuilding(Vector3 position, Buildings type)
 {
     switch (type)
     {
         case Buildings.CommandCenter:
             {
                 //Transform newBuilding = (Transform)GameObject.Instantiate(commandCenterPrefab, position, commandCenterPrefab.rotation);
                 //newBuilding.GetComponent<MeshRenderer>().enabled = false;
                 //newBuilding.GetComponent<ConstructionSite>().constructionSite = constructionSite;
                 //AstarPath.active.UpdateGraphs(newBuilding.collider.bounds);
                 Transform newContruction = (Transform)GameObject.Instantiate(constructionSite, position, Quaternion.identity);
                 ConstructionSite cs = newContruction.GetComponent<ConstructionSite>();
                 cs.createdBuilding = commandCenterPrefab;
                 cs.hitpointsMax = CommandCenter.hitpointsMax;
                 foreach (var item in CommandCenter.cost)
                 {
                     Colony.colonyResources[item.Key] -= item.Value;
                 }
                 break;
             }
         case Buildings.Refinery:
             {
                 //Transform newBuilding = (Transform)GameObject.Instantiate(refineryPrefab, position, refineryPrefab.rotation);
                 //AstarPath.active.UpdateGraphs(newBuilding.collider.bounds);
                 Transform newContruction = (Transform)GameObject.Instantiate(constructionSite, position, Quaternion.identity);
                 ConstructionSite cs = newContruction.GetComponent<ConstructionSite>();
                 cs.createdBuilding = refineryPrefab;
                 cs.hitpointsMax = Refinery.hitpointsMax;
                 foreach (var item in Refinery.cost)
                 {
                     Colony.colonyResources[item.Key] -= item.Value;
                 }
                 break;
             }
         case Buildings.Mine:
             {
                 //Transform newBuilding = (Transform)GameObject.Instantiate(minePrefab, position, minePrefab.rotation);
                 //AstarPath.active.UpdateGraphs(newBuilding.collider.bounds);
                 Transform newContruction = (Transform)GameObject.Instantiate(constructionSite, position, Quaternion.identity);
                 ConstructionSite cs = newContruction.GetComponent<ConstructionSite>();
                 cs.createdBuilding = minePrefab;
                 cs.hitpointsMax = Mine.hitpointsMax;
                 foreach (var item in Mine.cost)
                 {
                     Colony.colonyResources[item.Key] -= item.Value;
                 }
                 break;
             }
         case Buildings.Hangar:
             {
                 //Transform newBuilding = (Transform)GameObject.Instantiate(hangarPrefab, position, hangarPrefab.rotation);
                 //AstarPath.active.UpdateGraphs(newBuilding.collider.bounds);
                 Transform newContruction = (Transform)GameObject.Instantiate(constructionSite, position, Quaternion.identity);
                 ConstructionSite cs = newContruction.GetComponent<ConstructionSite>();
                 cs.createdBuilding = hangarPrefab;
                 cs.hitpointsMax = Hangar.hitpointsMax;
                 foreach (var item in Hangar.cost)
                 {
                     Colony.colonyResources[item.Key] -= item.Value;
                 }
                 break;
             }
         case Buildings.UnitsFactory:
             {
                 //Transform newBuilding = (Transform)GameObject.Instantiate(unitsFactoryPrefab, position, unitsFactoryPrefab.rotation);
                 //AstarPath.active.UpdateGraphs(newBuilding.collider.bounds);
                 Transform newContruction = (Transform)GameObject.Instantiate(constructionSite, position, Quaternion.identity);
                 ConstructionSite cs = newContruction.GetComponent<ConstructionSite>();
                 cs.createdBuilding = unitsFactoryPrefab;
                 cs.hitpointsMax = UnitsFactory.hitpointsMax;
                 foreach (var item in UnitsFactory.cost)
                 {
                     Colony.colonyResources[item.Key] -= item.Value;
                 }
                 break;
             }
         case Buildings.PowerPlant:
             {
                 //Transform newBuilding = (Transform)GameObject.Instantiate(powerPlantPrefab, position, powerPlantPrefab.rotation);
                 //AstarPath.active.UpdateGraphs(newBuilding.collider.bounds);
                 Transform newContruction = (Transform)GameObject.Instantiate(constructionSite, position, Quaternion.identity);
                 ConstructionSite cs = newContruction.GetComponent<ConstructionSite>();
                 cs.createdBuilding = powerPlantPrefab;
                 cs.hitpointsMax = PowerPlant.hitpointsMax;
                 foreach (var item in PowerPlant.cost)
                 {
                     Colony.colonyResources[item.Key] -= item.Value;
                 }
                 break;
             }
         case Buildings.Silo:
             {
                 //Transform newBuilding = (Transform)GameObject.Instantiate(siloPrefab, position, siloPrefab.rotation);
                 //AstarPath.active.UpdateGraphs(newBuilding.collider.bounds);
                 Transform newContruction = (Transform)GameObject.Instantiate(constructionSite, position, Quaternion.identity);
                 ConstructionSite cs = newContruction.GetComponent<ConstructionSite>();
                 cs.createdBuilding = siloPrefab;
                 cs.hitpointsMax = Silo.hitpointsMax;
                 foreach (var item in Silo.cost)
                 {
                     Colony.colonyResources[item.Key] -= item.Value;
                 }
                 break;
             }
     }
 }
Example #47
0
 void Start()
 {
     ressourcesData = Ressources.GetInstance();
     buildingsData = Buildings.GetInstance();
 }
 // Use this for initialization
 void Start()
 {
     this.buildings = this.BuildingsGO.GetComponent<Buildings> ();
 }
 public BuildingTriple(int power, CultureLevel culture, Buildings building)
 {
     this.Power = power;
     this.Culture = culture;
     this.Building = building;
 }
 public BuiltAndTurnsAgo(Buildings builded, int turnsAge)
 {
     Builded = builded;
     TurnsAge = turnsAge;
 }
 public BuildingTriple(BuildingStruct buildingStruct)
 {
     Power = buildingStruct.Power;
     Culture = buildingStruct.Culture;
     Building = buildingStruct.Building;
 }
Example #52
0
 // House Methods
 /// <summary>
 /// Add new empty house in empty houses list
 /// </summary>
 /// <param name="house"></param>
 public void AddEmptyHouse(Buildings.House house)
 {
     // Debug.Assert(!EmptyHouseList.Contains(house), @"(village, AddEmptyHouse) This house is in EmptyHouseList");
     if (!EmptyHouseList.Contains(house))
         EmptyHouseList.Add(house);
 }