Beispiel #1
0
        public override void AddMeeple(Meeple meeple, SubArea subArea)
        {
            if (meeples.Count > 0)
                throw new InvalidOperationException();

            meeples.Add(meeple);
        }
Beispiel #2
0
        public override void Execute(TriggerBase trigger)
        {
            Map     map     = null;
            SubArea subarea = null;

            if (!trigger.IsArgumentDefined("map") && !trigger.IsArgumentDefined("subarea"))
            {
                if (!(trigger is GameTrigger))
                {
                    trigger.ReplyError("You have to define a map or a subarea if your are not ingame");
                    return;
                }

                map = (trigger as GameTrigger).Character.Map;
            }
            else if (trigger.IsArgumentDefined("map"))
            {
                map = trigger.Get <Map>("map");
            }
            else if (trigger.IsArgumentDefined("subarea"))
            {
                subarea = trigger.Get <SubArea>("subarea");
            }

            if (map != null)
            {
                var pool = map.SpawningPools.OfType <ClassicalSpawningPool>().FirstOrDefault();

                if (pool == null)
                {
                    trigger.ReplyError("No spawning pool on the map");
                    return;
                }

                if (pool.SpawnNextGroup())
                {
                    trigger.Reply("Next group spawned");
                }
                else
                {
                    trigger.ReplyError("Spawns limit reached");
                }
            }

            else if (subarea != null)
            {
                var i = subarea.Maps.Select(subMap => subMap.SpawningPools.OfType <ClassicalSpawningPool>().FirstOrDefault()).Where(pool => pool != null).Count(pool => pool.SpawnNextGroup());

                trigger.Reply("{0} groups spawned", i);
            }
        }
Beispiel #3
0
        /// <summary>
        /// Returns a SubArea from the SubAreas table
        /// </summary>
        /// <param name="subAreaName"> Name of sub area </param>
        /// <param name="areaName"> Name of area subArea occurs in </param>
        /// <param name="dbConnection"> Reuse dbConnection to save memory </param>
        /// <returns> A SubArea, passing it the dbconnection for it to fetch all information it needs </returns>
        public SubArea GetSubAreaByAreaName(string subAreaName, string areaName, IDbConnection dbConnection)
        {
            using (IDbCommand dbcmd = dbConnection.CreateCommand()) {
                dbcmd.CommandText = "SELECT * FROM SubAreas WHERE Name = '" + subAreaName + "'";

                using (IDataReader reader = dbcmd.ExecuteReader()) {
                    SubArea  newSubArea          = null;
                    string   name                = "";
                    int      minMonsterNum       = 0;
                    int      maxMonsterNum       = 0;
                    string   defaultBGPackName   = "";
                    string[] subAreaEvents       = null;
                    int[]    subAreaEventChances = null;
                    string[] monsterPool;
                    int[]    monsterChances;
                    string[] championBuffs = new string[3];

                    if (reader.Read())
                    {
                        subAreaEvents       = new string[(int)Mathf.Ceil((reader.FieldCount - 7) / 2)];
                        subAreaEventChances = new int[(int)Mathf.Ceil((reader.FieldCount - 7) / 2)];
                        for (int i = 0; i < subAreaEvents.Length; i++)
                        {
                            subAreaEvents[i]       = reader.GetString(i * 2 + 2);
                            subAreaEventChances[i] = reader.GetInt32(i * 2 + 3);
                        }

                        name = reader.GetString(1);
                        Tuple <string[], int[]> monsterInfo = GetMonsterPool(name, dbConnection);
                        monsterPool       = monsterInfo.Item1;
                        monsterChances    = monsterInfo.Item2;
                        minMonsterNum     = reader.GetInt32(reader.FieldCount - 5);
                        maxMonsterNum     = reader.GetInt32(reader.FieldCount - 4);
                        defaultBGPackName = name;

                        championBuffs[0] = reader.GetString(reader.FieldCount - 3);
                        championBuffs[1] = reader.GetString(reader.FieldCount - 2);
                        championBuffs[2] = reader.GetString(reader.FieldCount - 1);

                        newSubArea = new SubArea(name, areaName, subAreaEvents, subAreaEventChances, monsterPool, monsterChances, minMonsterNum, maxMonsterNum,
                                                 defaultBGPackName, championBuffs, dbConnection);
                    }
                    else
                    {
                        Debug.LogError("SubArea " + subAreaName + " does not exist in the DB");
                    }

                    return(newSubArea);
                }
            }
        }
Beispiel #4
0
 void PlaceAll(SubArea a0)
 {
     if (a0.childsSubArea.Count == 0)
     {
         Place(a0);
     }
     else
     {
         for (int i = 0; i < a0.childsSubArea.Count; i++)
         {
             PlaceAll(a0.childsSubArea[i]);
         }
     }
 }
Beispiel #5
0
        // GET: /SubArea/Delete/5
        public ActionResult Delete(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SubArea subarea = db.SubAreas.Find(id);

            if (subarea == null)
            {
                return(HttpNotFound());
            }
            return(View(subarea));
        }
        // GET: SubAreas/Details/5
        public ActionResult Details(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SubArea subArea = db.SubArea.Find(id);

            if (subArea == null)
            {
                return(HttpNotFound());
            }
            return(View(subArea));
        }
Beispiel #7
0
        public IHttpActionResult DeleteSubArea(int id)
        {
            SubArea subArea = db.SubArea.Find(id);

            if (subArea == null)
            {
                return(NotFound());
            }

            db.SubArea.Remove(subArea);
            db.SaveChanges();

            return(Ok(subArea));
        }
        public ActionResult Create([Bind(Include = "Id,Nombre,Referente,Area_id")] SubArea subArea, long id_piso)
        {
            if (ModelState.IsValid)
            {
                Piso pi = db.Piso.Find(id_piso);
                subArea.Pisos.Add(pi);
                db.SubArea.Add(subArea);

                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(subArea));
        }
Beispiel #9
0
        public int AddSubArea(SubArea model)
        {
            var allSubAreas = subAreaRepository.GetAll();
            int lastId      = 0;

            if (allSubAreas.Count() > 0)
            {
                lastId = allSubAreas[allSubAreas.Count() - 1].Id;
            }
            model.Id = lastId + 1;
            subAreaRepository.Insert(model);
            subAreaRepository.Save();
            return(model.Id);
        }
Beispiel #10
0
 public void GenerateNewArea()
 {
     GameManager.areaStats.tiles = new int[GameManager.areaStats.size.x, GameManager.areaStats.size.y];
     mainSubArea = new SubArea
     {
         size   = new Vector2Int(GameManager.areaStats.size.x - 4, GameManager.areaStats.size.y - 4),
         anchor = Vector2Int.one * 2,
     };
     MaxSplit(mainSubArea);
     Place(mainSubArea);
     Replace(1, 0);
     PlaceAll(mainSubArea);
     Replace(0, -1);
     ConnectAll(mainSubArea);
 }
Beispiel #11
0
        // GET: /SubArea/Edit/5
        public ActionResult Edit(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SubArea subarea = db.SubAreas.Find(id);

            if (subarea == null)
            {
                return(HttpNotFound());
            }
            ViewBag.AreaID = new SelectList(db.Areas, "ID", "AreaName", subarea.AreaID);
            return(View(subarea));
        }
 public ActionResult Edit([Bind(Include = "Id,Descricao,Ativo,IdArea")] SubArea subArea)
 {
     try
     {
         subArea.AlteradoEm  = DateTime.Now;
         subArea.AlteradoPor = _login.GetIdUsuario(System.Web.HttpContext.Current.User.Identity.Name);
         TryUpdateModel(subArea);
         return(RedirectToAction("Index", new { idArea = subArea.IdArea }));
     }
     catch (ArgumentException e)
     {
         ModelState.AddModelError(string.Empty, e.Message);
         return(View(subArea));
     }
 }
        private void OnChangeSubArea(RolePlayActor actor, SubArea subArea)
        {
            var achievement = subArea.Record.Achievement;

            lock (this.m_lock)
            {
                if (achievement != null)
                {
                    if (!this.m_finishedAchievements.Contains(achievement))
                    {
                        this.CompleteAchievement(achievement);
                    }
                }
            }
        }
Beispiel #14
0
        public ActionResult Add(AddSubArea nsubarea)
        {
            List <Area> arealist = AgroExpressDBAccess.GetallEnabledArea();

            if (arealist != null)
            {
                nsubarea.arealist = arealist.Select(x => new SelectListItem
                {
                    Value = x.PKAreaId.ToString(),
                    Text  = x.AreaName
                });
            }


            if (ModelState.IsValid)
            {
                if (AgroExpressDBAccess.isSubAreaExist(nsubarea.SubAreaName))
                {
                    ModelState.AddModelError("SubAreaName", "Sub Area name already exist!!!");
                    return(View(nsubarea));
                }
                else
                {
                    SubArea newentry = new SubArea();

                    newentry.SubAreaName = nsubarea.SubAreaName;
                    newentry.AreaId      = nsubarea.AreaId;
                    newentry.IsDeleted   = false;
                    if (AgroExpressDBAccess.AddSubArea(newentry))
                    {
                        ViewBag.success = "Sub Area added successfully";
                        ModelState.Clear();
                        AddSubArea tem = new AddSubArea();
                        if (arealist != null)
                        {
                            tem.arealist = arealist.Select(x => new SelectListItem
                            {
                                Value = x.PKAreaId.ToString(),
                                Text  = x.AreaName
                            });
                        }

                        return(View(tem));
                    }
                }
            }
            return(View(nsubarea));
        }
Beispiel #15
0
        // GET: Operaciones/SubArea/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SubArea subArea = db.SubArea.Find(id);

            if (subArea == null)
            {
                return(HttpNotFound());
            }
            ViewBag.IdArea        = new SelectList(db.Area, "Id", "Nombre", subArea.IdArea);
            ViewBag.IdResponsable = new SelectList(db.Personas, "Id", "Nombre", subArea.IdResponsable);
            return(View(subArea));
        }
        public IActionResult FormularioEditSubArea(ListaArea model)
        {
            if (ModelState.IsValid)
            {
                SubArea updateSubArea = db.SubArea.FirstOrDefault(c => c.Id == model.SubAreaUnica.Id);
                updateSubArea.Nombre = model.NombreSubArea;
                //updateArea.RutJefe = model.AreaUnica.RutJefe;
                db.SubArea.Update(updateSubArea);
                db.SaveChanges();

                return(RedirectToAction("IndiceSubAreas", new { AreaId = model.AreaUnica.Id }));
            }
            else
            {
                return(FormularioEditSubArea(model.SubAreaUnica.Id));
            }
        }
Beispiel #17
0
        public RSV_Global <SubArea> Actualizar([FromBody] SubArea entity)
        {
            RSV_Global <SubArea> infoResultado = new RSV_Global <SubArea>();

            try
            {
                infoResultado.Datos           = this.Business.ActualizarSubArea(entity);
                infoResultado.Exitoso         = true;
                infoResultado.CodigoRespuesta = 200;
            }
            catch (Exception ex)
            {
                infoResultado = this.SetError(infoResultado, ex);
            }

            return(infoResultado);
        }
 public IActionResult FormularioCrearSubArea(ListaArea model)
 {
     if (ModelState.IsValid)
     {
         SubArea subarea = new SubArea()
         {
             Nombre = model.NombreSubArea,
             IdArea = model.AreaUnica.Id
         };
         db.SubArea.Add(subarea);
         db.SaveChanges();
         return(RedirectToAction("IndiceSubAreas", new { AreaId = model.AreaUnica.Id }));
     }
     else
     {
         return(FormularioCrearSubArea(model.AreaUnica.Id));
     }
 }
Beispiel #19
0
        private void simpleButton3_Click(object sender, EventArgs e)
        {
            Form storeForm = new Form();

            storeForm.Controls.Add(new AddArea());
            storeForm.BackColor     = System.Drawing.Color.White;
            storeForm.StartPosition = FormStartPosition.CenterScreen;
            storeForm.Width         = 320;
            //storeForm.WindowState = FormWindowState.Maximized;
            DialogResult x = storeForm.ShowDialog();

            if (x == DialogResult.Cancel)
            {
                dbContext = new Purchase.AccountingSystem();
                bindingSource2.DataSource = dbContext.AreasSets.ToList();
                SubArea.Refresh();
            }
        }
Beispiel #20
0
        public override void ExecuteRemove(TriggerBase trigger)
        {
            Map     map     = null;
            SubArea subarea = null;

            if (trigger.IsArgumentDefined("map"))
            {
                map = trigger.Get <Map>("map") ?? (trigger as GameTrigger).Character.Map;
            }
            else if (trigger.IsArgumentDefined("subarea"))
            {
                subarea = trigger.Get <SubArea>("subarea") ?? (trigger as GameTrigger).Character.SubArea;
            }
            else
            {
                throw new Exception("SubArea neither Map is defined");
            }

            var spawns = MonsterManager.Instance.GetMonsterSpawns().Where(entry =>
                                                                          entry.MonsterId == trigger.Get <MonsterTemplate>("monster").Id&&
                                                                          (map == null || entry.MapId == map.Id) &&
                                                                          (subarea == null || entry.SubAreaId == subarea.Id)).ToArray();


            WorldServer.Instance.IOTaskPool.AddMessage(
                () =>
            {
                foreach (var spawn in spawns)
                {
                    MonsterManager.Instance.RemoveMonsterSpawn(spawn);

                    if (spawn.Map != null)
                    {
                        spawn.Map.RemoveMonsterSpawn(spawn);
                    }
                    else if (spawn.SubArea != null)
                    {
                        spawn.SubArea.RemoveMonsterSpawn(spawn);
                    }

                    trigger.Reply("Monster spawn {0} removed", spawn.Id);
                }
            });
        }
        // GET: SubAreas/Edit/5
        public ActionResult Edit(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            SubArea subArea = db.SubArea.Find(id);

            if (subArea == null)
            {
                return(HttpNotFound());
            }

            ViewBag.DDLAreas = db.Area.ToList();
            ViewBag.DDLPisos = db.Piso.OrderBy(p => p.Numero).ToList();

            return(View(subArea));
        }
        public List <object> Get(List <object> input)
        {
            Country country = null;
            State   state   = null;
            City    city    = null;
            Area    area    = null;
            SubArea subArea = null;

            if (input.Count > 0)
            {
                country = _faciTechDbContext.Country
                          .Include("States")
                          .Include("States.Cities")
                          .Where(e => e.Name == input[0].ToString())
                          .FirstOrDefault();
            }

            if (country != null && input.Count > 1)
            {
                state = country.States.Where(e => e.Name == input[1].ToString()).FirstOrDefault();
            }

            if (state != null && input.Count > 2)
            {
                city = state.Cities.Where(e => e.Name == input[2].ToString()).FirstOrDefault();
            }

            if (city != null && input.Count > 3)
            {
                area = _faciTechDbContext
                       .Area
                       .Include("SubAreas")
                       .Where(e => e.CityId == city.Id && e.Name == input[3].ToString()).FirstOrDefault();
            }
            if (area != null && input.Count > 4)
            {
                subArea = area.SubAreas.Where(e => e.Name == input[4].ToString()).FirstOrDefault();
            }
            return(new List <object>()
            {
                country?.Id, state?.Id, city?.Id, area?.Id, subArea?.Id
            });
        }
        /// <summary>
        /// CrearSubAreaAsync
        /// </summary>
        /// <param name="SubArea">Entidad SubArea</param>
        /// <returns>Vista modelo SubAreaViewModel</returns>
        /// <autor>Oscar Julian Rojas</author>
        /// <date>09/06/2020</date>
        public async Task <SubAreaViewModel> CrearSubAreaAsync(SubArea Subarea)
        {
            using (var connection = new SqliteConnection(_config["SqliteConnections"]))
            {
                await connection.OpenAsync();

                var guid = Guid.NewGuid().ToString();
                Subarea.Id = guid;
                SqliteCommand comando = new SqliteCommand(
                    query.CrearSubAreaQuery(Subarea), connection);
                var resultado = await comando.ExecuteNonQueryAsync();

                if (resultado > default(int))
                {
                    return(new SubAreaViewModel().SubAreaToSubAreaViewModel(Subarea));
                }
                return(null);
            }
        }
Beispiel #24
0
        /// <summary>
        ///
        /// </summary>
        public new void Dispose()
        {
            SubArea.RemoveUpdatable(this);
            SubArea.RemoveHandler(base.Dispatch);

            m_entityById.Clear();
            m_entityById = null;

            m_entityByName.Clear();
            m_entityByName = null;

            m_cells.Clear();
            m_cells = null;

            m_subArea = null;

            Pathmaker = null;

            base.Dispose();
        }
        // POST: api/EditSubArea
        public void Post(object refurbishedSubArea, bool edit)
        {
            JObject     juser            = refurbishedSubArea as JObject;
            RealSubArea recievingSubArea = juser.ToObject <RealSubArea>();
            SubArea     subArea          = new SubArea();

            if (edit == false)
            {
                subArea = SubAreaUtils.NewSubToSubArea(recievingSubArea, subAreaController);
                int   subAreaId   = subAreaController.AddSubArea(subArea);
                int[] studentsIds = UserUtils.UserToUserIds(recievingSubArea.studentsObj).ToArray();
                SubAreaAssignUtils.AssignUsersToSubArea(studentsIds, subAreaController, subAreaId);
            }
            else
            {
                subArea = SubAreaUtils.EditedSubToSubArea(recievingSubArea, subAreaController);
                subAreaController.EditSubArea(recievingSubArea.Id, subArea);
                ChangeSubAreaUsers(recievingSubArea.Id, recievingSubArea.studentsObj);
            }
        }
Beispiel #26
0
        public SubArea usp_SubAreas_Seleccionar(decimal pIdSubArea)
        {
            SubArea subArea = null;

            var command = this.Database.GetDbConnection().CreateCommand();

            command.CommandType = CommandType.StoredProcedure;
            command.CommandText = "[dbo].[usp_SubAreas_Seleccionar]";
            command.Parameters.Add(Parameter.NewParameter("@IdSubArea", SqlDbType.Int, 9, pIdSubArea));
            command.Connection.Open();
            using (var reader = command.ExecuteReader())
            {
                if (reader != null)
                {
                    subArea = reader.Translate <SubArea>().FirstOrDefault();
                }
            }
            command.Connection.Close();

            return(subArea);
        }
        public async Task <ActionResult <SubArea> > PostSubArea(SubArea subArea)
        {
            _context.SubArea.Add(subArea);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (SubAreaExists(subArea.SubAreaId))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("GetSubArea", new { id = subArea.SubAreaId }, subArea));
        }
Beispiel #28
0
        public static RealExam ExamToRealExam(Exam exam, RealExamQuestion[] questions, SubAreaController subAreaController, AreaController areaController)
        {
            SubArea subArea     = subAreaController.GetById(exam.subAreaId);
            Area    currentArea = areaController.getById(subArea.parentAreaId);
            string  areaName    = currentArea.name;

            return(new RealExam
            {
                Id = exam.Id,
                fromDate = exam.fromDate.ToShortDateString() + " " + exam.fromDate.ToLongTimeString(),
                untilDate = exam.untilDate.ToShortDateString() + " " + exam.untilDate.ToLongTimeString(),
                title = exam.title,
                subAreaId = exam.subAreaId,
                subarea = subArea.name,
                area = areaName,
                areaId = currentArea.Id,
                examElements = questions,
                staticQuestions = exam.staticQuestions,
                numberQuestions = exam.numberQuestions,
            });
        }
Beispiel #29
0
        public SubArea usp_SubAreas_Actualizar(SubArea pSubArea)
        {
            List <DbParameter> parameters = new List <DbParameter>()
            {
                Parameter.NewParameter("@IdSubArea", SqlDbType.Int, 9, pSubArea.IdSubArea),
                Parameter.NewParameter("@NombreSubArea", SqlDbType.NVarChar, 400, pSubArea.NombreSubArea),
                Parameter.NewParameter("@IdArea", SqlDbType.Int, 9, pSubArea.IdArea),
                Parameter.NewParameter("@Usuario", SqlDbType.Int, 9, pSubArea.UsuarioCreacion)
            };

            var command = this.Database.GetDbConnection().CreateCommand();

            command.CommandType = CommandType.StoredProcedure;
            command.CommandText = "[dbo].[usp_SubAreas_Actualizar]";
            command.Parameters.AddRange(parameters.ToArray());

            command.Connection.Open();
            pSubArea.IdSubArea = (decimal)command.ExecuteScalar();
            command.Connection.Close();

            return(pSubArea);
        }
        /// <summary>
        /// ObtenerSubAreaAsync
        /// </summary>
        /// <param name="SubArea">Entidad SubArea</param>
        /// <returns>Vista modelo SubAreaViewModel</returns>
        /// <autor>Oscar Julian Rojas</author>
        /// <date>09/06/2020</date>
        public async Task <SubAreaViewModel> ObtenerSubAreaAsync(SubArea Subarea)
        {
            using (var connection = new SqliteConnection(_config["SqliteConnections"]))
            {
                await connection.OpenAsync();

                SqliteCommand comando = new SqliteCommand(
                    query.ObtenerSubAreaQuery(Subarea), connection);
                SqliteDataReader reader = await comando.ExecuteReaderAsync();

                var subareaViewModel = new SubAreaViewModel();
                while (reader.Read())
                {
                    subareaViewModel.Id     = reader.GetString(0);
                    subareaViewModel.Name   = reader.GetString(1);
                    subareaViewModel.Code   = reader.GetInt32(2);
                    subareaViewModel.AreaId = reader.GetString(3);
                }

                return(subareaViewModel);
            }
        }
Beispiel #31
0
        /// <summary>
        /// Mező hozzáadása területhez.
        /// </summary>
        /// <param name="subArea">Mező amit hozzá akarunk adni a területhez.</param>
        public override void AddSubArea(SubArea subArea)
        {
            base.AddSubArea(subArea);

            //szomszédos belső elemek kezelése
            List<SubArea> adjacentSubAreas = OpenSubAreas.Where(item => item | subArea).ToList();

            adjacentSubAreas.ForEach(item =>
            {
                if (IsSurrounded(item))
                {
                    OpenSubAreas.Remove(item);
                    SurroundedSubAreas.Add(item);
                }
            });

            //hozzáadandó elem kezelése
            subAreas.Add(subArea);
            if (IsSurrounded(subArea))
                SurroundedSubAreas.Add(subArea);
            else
                OpenSubAreas.Add(subArea);
        }
        public ActionResult Edit([Bind(Include = "Id,Nombre,Referente,Area_id")] SubArea subArea, long id_piso)
        {
            if (ModelState.IsValid)
            {
                // guardamos los datos de la subArea
                db.Entry(subArea).State = EntityState.Modified;
                db.SaveChanges();

                // recuperamos la coleccion de Pisos de la SubArea
                SubArea sa = db.SubArea.Include(s => s.Pisos).ToList().Find(su => su.Id == subArea.Id);

                //borramos los antiguos Piso.. ojo modificar esto luego ya que borra todos los p
                sa.Pisos.Clear();

                // añadimos el nuevo piso
                Piso pi = db.Piso.Find(id_piso);
                subArea.Pisos.Add(pi);

                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(subArea));
        }
        public bool SubAreaCreate(ViewModels.SubAreaViewModel subAreaViewModel)
        {
            bool ret = false;
            try
            {
                SubArea subArea = new SubArea();
                subArea.SubAreaID = subAreaViewModel.SubAreaID;
                subArea.Name = subAreaViewModel.Name;
                subArea.ResponsibleID = subAreaViewModel.ResponsibleID;
                subArea.ResponsibleID2 = subAreaViewModel.ResponsibleID2;
                subArea.AreaID = subAreaViewModel.AreaID;    
                subArea.MidAreaID = subAreaViewModel.MidAreaID;

                db.SubArea.Add(subArea);
                db.SaveChanges();

                ret = true;
            }
            catch
            {
            }
            return ret;
        }
Beispiel #34
0
 /// <summary>
 /// Kiértékeli, hogy egy mező körbe van-e véve a területhez tartozó többi mezővel, vagy van még szabad oldala.
 /// </summary>
 /// <param name="item">A vizsgált részterület.</param>
 /// <returns>A vizsgált részterület be van-e kerítve vagy nem.</returns>
 private bool IsSurrounded(SubArea item)
 {
     List<SubArea> adjacents = SubAreas.Where(area => area | item).ToList();
     return item.Edges.All(edge => adjacents.Any(adjacent => adjacent.Position.DirectionTo(item.Position) == edge));
 }
Beispiel #35
0
        protected IEnumerable<SubArea> GetAdjacentSubAreas(SubArea target)
        {
            IEnumerable<Direction> directions = target.Edges;

            return SubAreas.Where(a => a.Position | target.Position);
        }
Beispiel #36
0
 public virtual void AddSubArea(SubArea subArea)
 {
     if (subArea.AreaType != AreaType)
         throw new ArgumentException("Nem egyezik az alterület típusa a terület típusával.");
 }
Beispiel #37
0
 public virtual void AddMeeple(Meeple meeple, SubArea subArea)
 {
 }
Beispiel #38
0
 public RoadArea(SubArea subArea)
     : base()
 {
     AddSubArea(subArea);
 }