コード例 #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            buildings buildings = db.buildings.Find(id);

            db.buildings.Remove(buildings);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #2
0
 public ActionResult Edit([Bind(Include = "ID,Name,Address")] buildings buildings)
 {
     if (ModelState.IsValid)
     {
         db.Entry(buildings).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(buildings));
 }
コード例 #3
0
        public ActionResult Create([Bind(Include = "ID,Name,Address")] buildings buildings)
        {
            if (ModelState.IsValid)
            {
                db.buildings.Add(buildings);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(buildings));
        }
コード例 #4
0
        // GET: buildings/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            buildings buildings = db.buildings.Find(id);

            if (buildings == null)
            {
                return(HttpNotFound());
            }
            return(View(buildings));
        }
コード例 #5
0
    // spawns building of input type
    public void spawn(buildings building)
    {
        switch (building)
        {
        case buildings.fort:
            spawnFort();
            break;

        case buildings.house:
            spawnHouse();
            break;

        case buildings.watchTower:
            spawnWatchTower();
            break;

        case buildings.farm:
            spawnFarm();
            break;
        }
    }
コード例 #6
0
    public buildings ClosestBuilding()
    {
        int       xDis = 0, yDis = 0;
        double    distance = 1000;
        double    temp     = 1000;
        buildings target   = null;

        foreach (buildings u in building)
        {
            if (u is FactoryBuildings)
            {
                FactoryBuildings b = (FactoryBuildings)u;
                if (factionType != b.Faction)
                {
                    xDis = Mathf.Abs((PosX - b.PosX) * (PosX - b.PosX));
                    yDis = Mathf.Abs((PosY - b.PosY) * (PosY - b.PosY));

                    distance = Mathf.Round(Mathf.Sqrt(xDis + yDis));
                }
            }
            else if (u is ResourceBuildings)
            {
                ResourceBuildings b = (ResourceBuildings)u;
                if (factionType != b.Faction)
                {
                    xDis = Mathf.Abs((PosX - b.PosX) * (PosX - b.PosX));
                    yDis = Mathf.Abs((PosY - b.PosY) * (PosY - b.PosY));

                    distance = Mathf.Round(Mathf.Sqrt(xDis + yDis));
                }
            }
            if (distance < temp)
            {
                temp   = distance;
                target = u;
            }
        }
        return(target);
    }
コード例 #7
0
        private string GetGuerrillaDTO(string name)
        {
            //load guerrilla
            var guerrilla = (from guerrillaDB in _context.Guerrilla
                             where guerrillaDB.Name.Equals(name)
                             select new guerrilla()
            {
                guerrillaName = guerrillaDB.Name,
                name = guerrillaDB.Name,
                email = guerrillaDB.Email,
                faction = guerrillaDB.Faction,
                rank = guerrillaDB.Rank,
                timestamp = guerrillaDB.Timestamp
            }).Single();

            //load resources
            resources resources = new resources();
            List <GuerrillaResources> resourcesDB = _context.GuerrillaResources.Where(r => r.Guerrilla.Equals(name)).ToList();

            foreach (GuerrillaResources guerrillaResources in resourcesDB)
            {
                if (guerrillaResources.Resource.Equals(_oil))
                {
                    resources.oil = guerrillaResources.Quantity;
                }
                if (guerrillaResources.Resource.Equals(_money))
                {
                    resources.money = guerrillaResources.Quantity;
                }
                if (guerrillaResources.Resource.Equals(_people))
                {
                    resources.people = guerrillaResources.Quantity;
                }
            }
            guerrilla.resources = resources;

            //load units
            buildings             buildings = new buildings();
            army                  army      = new army();
            List <GuerrillaUnits> unitsDB   = _context.GuerrillaUnits.Where(u => u.Guerrilla.Equals(name)).ToList();

            foreach (GuerrillaUnits guerrillaUnits in unitsDB)
            {
                if (guerrillaUnits.Unit.Equals(_bunker))
                {
                    buildings.bunker = guerrillaUnits.Quantity;
                }
                if (guerrillaUnits.Unit.Equals(_assault))
                {
                    army.assault = guerrillaUnits.Quantity;
                }
                if (guerrillaUnits.Unit.Equals(_engineer))
                {
                    army.engineer = guerrillaUnits.Quantity;
                }
                if (guerrillaUnits.Unit.Equals(_tank))
                {
                    army.tank = guerrillaUnits.Quantity;
                }
            }
            guerrilla.resources = resources;
            guerrilla.buildings = buildings;
            guerrilla.army      = army;

            return(JsonConvert.SerializeObject(guerrilla));
        }
コード例 #8
0
    public override void CheckAttackRange(List <Unit> uni, List <buildings> build)
    {
        units    = uni;
        building = build;

        closestUnit     = ClosestEnemy();
        closestBuilding = ClosestBuilding();

        int enemyType;

        int xDis = 0, yDis = 0;

        int uDistance = 10000, bDistance = 10000;
        int distance;

        if (closestUnit is MeleeUnit)
        {
            MeleeUnit M = (MeleeUnit)closestUnit;
            xDis = Mathf.Abs((PosX - M.PosX) * (PosX - M.PosX));
            yDis = Mathf.Abs((PosY - M.PosY) * (PosY - M.PosY));

            uDistance = (int)Mathf.Round(Mathf.Sqrt(xDis + yDis));
        }
        else if (closestUnit is RangedUnits)
        {
            RangedUnits R = (RangedUnits)closestUnit;
            xDis = Mathf.Abs((PosX - R.PosX) * (PosX - R.PosX));
            yDis = Mathf.Abs((PosY - R.PosY) * (PosY - R.PosY));

            uDistance = (int)Mathf.Round(Mathf.Sqrt(xDis + yDis));
        }
        else if (closestUnit is WizzardUnits)
        {
            WizzardUnits R = (WizzardUnits)closestUnit;
            xDis = Mathf.Abs((PosX - R.PosX) * (PosX - R.PosX));
            yDis = Mathf.Abs((PosY - R.PosY) * (PosY - R.PosY));

            uDistance = (int)Mathf.Round(Mathf.Sqrt(xDis + yDis));
        }

        if (closestBuilding is FactoryBuildings)
        {
            FactoryBuildings FB = (FactoryBuildings)closestBuilding;
            xDis = Mathf.Abs((PosX - FB.PosX) * (PosX - FB.PosX));
            yDis = Mathf.Abs((PosY - FB.PosY) * (PosY - FB.PosY));

            bDistance = (int)Mathf.Round(Mathf.Sqrt(xDis + yDis));
        }
        else if (closestBuilding is ResourceBuildings)
        {
            ResourceBuildings RB = (ResourceBuildings)closestBuilding;
            xDis = Mathf.Abs((PosX - RB.PosX) * (PosX - RB.PosX));
            yDis = Mathf.Abs((PosY - RB.PosY) * (PosY - RB.PosY));

            bDistance = (int)Mathf.Round(Mathf.Sqrt(xDis + yDis));
        }

        if (units[0] != null)
        {
            if (uDistance < bDistance)
            {
                distance  = uDistance;
                enemyType = 0;
            }
            else
            {
                distance  = bDistance;
                enemyType = 1;
            }
        }
        else
        {
            distance  = bDistance;
            enemyType = 1;
        }

        //Checks to see if they are below 25% health so they move rather than attacking
        if (Health > MaxHealth * 0.25)
        {
            if (distance <= AttackRange)
            {
                IsAttacking = true;
                Combat(enemyType);
            }
            else
            {
                IsAttacking = false;
                Move(enemyType);
            }
        }
        else
        {
            Move(enemyType);
        }
    }
コード例 #9
0
ファイル: scr_Tile.cs プロジェクト: SynthX00/Kingdom
    // Use this for initialization
    void Start()
    {
        buildingType = buildings.none;
        isBuilding   = false;

        spriteRenderer = GetComponent <SpriteRenderer>();

        gameManager = GameObject.Find("GameManager");
        gmScript    = gameManager.GetComponent <scr_GameManager>();

        levelGen    = gameManager.GetComponent <scr_GameManager>().levelGen;
        levelScript = levelGen.GetComponent <scr_LevelGenerator>();
        level       = levelScript.level;


        //set sprite
        int _i;

        switch (tileType)
        {
        case tile.empty:

            _i = 0;
            if ((int)Random.Range(0, 10) == 0)
            {
                _i = (int)Random.Range(1, tileSea.Length);
                spriteRenderer.sprite = tileSea[_i];
            }
            else
            {
                spriteRenderer.sprite = tileSea[0];
            }

            break;

        case tile.floor:

            _i = 0;
            if ((int)Random.Range(0, 10) == 0)
            {
                _i = (int)Random.Range(0, tileDirt.Length);
                spriteRenderer.sprite = tileDirt[_i];
            }
            else
            {
                spriteRenderer.sprite = tileDirt[0];
            }

            break;

        case tile.forest:

            _i = (int)Random.Range(0, tileTree.Length);
            spriteRenderer.sprite = tileTree[_i];

            break;

        case tile.stone:
            spriteRenderer.sprite = tileStone;
            break;

        case tile.gold:
            spriteRenderer.sprite = tileGold;
            break;

        default:
            spriteRenderer.sprite = tileNULL;
            break;
        }

        GameObject go;

        #region SeaEdge
        //check Sea Edge
        if (level[x, y] == 0)
        {
            if (x != levelScript.gridX - 1)
            {
                if (level[x + 1, y] != 0)
                {
                    go = new GameObject("edge_Right");
                    go.AddComponent <SpriteRenderer>().sprite       = tileEdge[0];
                    go.GetComponent <SpriteRenderer>().sortingOrder = 1;
                    go.transform.position = transform.position;
                    go.transform.parent   = transform;
                }
            }

            if (x != 0)
            {
                if (level[x - 1, y] != 0)
                {
                    go = new GameObject("edge_Left");
                    go.AddComponent <SpriteRenderer>().sprite       = tileEdge[1];
                    go.GetComponent <SpriteRenderer>().sortingOrder = 1;
                    go.transform.position = transform.position;
                    go.transform.parent   = transform;
                }
            }

            if (y != levelScript.gridY - 1)
            {
                if (level[x, y + 1] != 0)
                {
                    go = new GameObject("edge_Top");
                    go.AddComponent <SpriteRenderer>().sprite       = tileEdge[2];
                    go.GetComponent <SpriteRenderer>().sortingOrder = 1;
                    go.transform.position = transform.position;
                    go.transform.parent   = transform;
                }
            }

            if (y != 0)
            {
                if (level[x, y - 1] != 0)
                {
                    go = new GameObject("edge_Bottom");
                    go.AddComponent <SpriteRenderer>().sprite       = tileEdge[3];
                    go.GetComponent <SpriteRenderer>().sortingOrder = 1;
                    go.transform.position = transform.position;
                    go.transform.parent   = transform;
                }
            }
        }
        #endregion
    }
コード例 #10
0
ファイル: scr_Tile.cs プロジェクト: SynthX00/Kingdom
    public void SetBuilding(buildings newBuilding)
    {
        if (tileType == tile.floor)
        {
            isBuilding            = true;
            buildingType          = newBuilding;
            spriteRenderer.sprite = gmScript.buildingSprites[(int)newBuilding];
            #region comment

            /*
             * switch (newBuilding)
             * {
             *  case buildings.lumbercamp:
             *
             *      buildingType = newBuilding;
             *      spriteRenderer.sprite = gmScript.buildingSprites[(int)newBuilding];
             *
             *      break;
             *  case buildings.miningcamp1:
             *
             *      buildingType = newBuilding;
             *      spriteRenderer.sprite = gmScript.buildingSprites[(int)newBuilding];
             *
             *      break;
             *  case buildings.miningcamp2:
             *
             *      buildingType = newBuilding;
             *      spriteRenderer.sprite = gmScript.buildingSprites[(int)newBuilding];
             *
             *      break;
             *  case buildings.storehouse:
             *
             *      buildingType = newBuilding;
             *      spriteRenderer.sprite = gmScript.buildingSprites[(int)newBuilding];
             *
             *      break;
             *  case buildings.dock:
             *
             *      buildingType = newBuilding;
             *      spriteRenderer.sprite = gmScript.buildingSprites[(int)newBuilding];
             *
             *      break;
             *  case buildings.farm:
             *
             *      buildingType = newBuilding;
             *      spriteRenderer.sprite = gmScript.buildingSprites[(int)newBuilding];
             *
             *      break;
             *  case buildings.temple:
             *
             *      buildingType = newBuilding;
             *      spriteRenderer.sprite = gmScript.buildingSprites[(int)newBuilding];
             *
             *      break;
             *  case buildings.market:
             *
             *      buildingType = newBuilding;
             *      spriteRenderer.sprite = gmScript.buildingSprites[(int)newBuilding];
             *
             *      break;
             *  case buildings.wonder:
             *
             *      buildingType = newBuilding;
             *      spriteRenderer.sprite = gmScript.buildingSprites[(int)newBuilding];
             *
             *      break;
             *  case buildings.workshop:
             *
             *      buildingType = newBuilding;
             *      spriteRenderer.sprite = gmScript.buildingSprites[(int)newBuilding];
             *
             *      break;
             *  case buildings.statue:
             *
             *      buildingType = newBuilding;
             *      spriteRenderer.sprite = gmScript.buildingSprites[(int)newBuilding];
             *
             *      break;
             *  case buildings.academy:
             *
             *      buildingType = newBuilding;
             *      spriteRenderer.sprite = gmScript.buildingSprites[(int)newBuilding];
             *
             *      break;
             *  default:
             *      break;
             * }
             */
            #endregion
        }
    }