Esempio n. 1
0
        public CountryRegionViewModel(Entities.Region region)
        {
            Name         = region.Name;
            RegionID     = region.ID;
            SpawnEnabled = region.CanSpawn;

            var passages = region.Passages.ToList();

            passages = passages.Concat(region.Passages1).ToList();

            foreach (var passage in passages)
            {
                Passages.Add(new CountryRegionPassageViewModel(passage, region.ID));
            }

            Developement         = (double)region.Development;
            DefenseSystemQuality = region.DefenseSystemQuality;
            if (region.Hospital != null)
            {
                Hospital = new CountryRegionHospitalInformation(region.Hospital);
            }

            foreach (var resource in region.Resources.ToList())
            {
                Resources.Add(new RegionResourceViewModel(resource));
            }
        }
Esempio n. 2
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.CompareTag("Passage"))
     {
         passageWay = other.GetComponent <Passages>();
         passageWay.ShowCost();
     }
 }
Esempio n. 3
0
        public StoryPassage GetPassage(string passageName)
        {
            StoryPassage passage;

            if (!Passages.TryGetValue(passageName, out passage))
            {
                throw new StoryException(String.Format("Passage '{0}' does not exist.", passageName));
            }
            return(passage);
        }
Esempio n. 4
0
        public async Task <Passages> GetPassagesByTripId(string id, StopPassagesType type = StopPassagesType.Departure)
        {
            var response = await Request.TripPassages(id, type).ConfigureAwait(false);

            var passage = JsonConvert.DeserializeObject <TripPassages>(response.Data);
            var result  = new Passages();

            result.ActualPassages = passage.ActualPassages.Select(ap => PassageConverter.Convert(ap)).ToList();
            result.OldPassages    = passage.OldPassages.Select(ap => PassageConverter.Convert(ap)).ToList();
            return(result);
        }
Esempio n. 5
0
        TwinePassage GetPassage(string passageName)
        {
            string       pid = passageName;
            TwinePassage passage;

            if (!Passages.TryGetValue(pid, out passage))
            {
                throw new Exception(String.Format("Passage '{0}' does not exist.", pid));
            }
            return(passage);
        }
        public double ComputeRelevance(string[] terms)
        {
            var termConfidence = new double[terms.Length];
            var i = 0;

            foreach (var term in terms)
            {
                var confidence = 0.0;
                if (Passages[0].Text.Contains(term, StringComparison.CurrentCultureIgnoreCase))
                {
                    confidence += ConfidenceFormula[FormulaTerms.Title] * 1;
                }

                if (Tags.Any(accessor => accessor.data.Contains(term, StringComparison.CurrentCultureIgnoreCase)))
                {
                    confidence += ConfidenceFormula[FormulaTerms.Tags] * 1;
                }
                else if (Passages.Find(passage => passage.Annotations.Count > 0).Annotations.Any(annotation =>
                                                                                                 annotation.Infons["identifier"].Contains(term, StringComparison.CurrentCultureIgnoreCase)))
                {
                    confidence += ConfidenceFormula[FormulaTerms.Tags] * 1;
                }
                else if (Passages.Find(passage => passage.Annotations.Count > 0).Annotations.Any(annotation =>
                                                                                                 annotation.Infons["type"].Contains(term, StringComparison.CurrentCultureIgnoreCase)))
                {
                    confidence += ConfidenceFormula[FormulaTerms.Tags] * 1;
                }
                else if (Passages.Find(passage => passage.Annotations.Count > 0).Annotations.Any(annotation =>
                                                                                                 annotation.Text.Contains(term, StringComparison.CurrentCultureIgnoreCase)))
                {
                    confidence += ConfidenceFormula[FormulaTerms.Tags] * 1;
                }

                if (Passages.Find(passage => passage.Infons["type"].Equals("abstract")).Text.Contains(
                        term, StringComparison.CurrentCultureIgnoreCase))
                {
                    confidence += ConfidenceFormula[FormulaTerms.Abstract] * 1;
                }

                termConfidence[i] = confidence;
                i++;
            }

            return(termConfidence.Average());
        }
Esempio n. 7
0
        public async Task <Passages> GetPassagesByStopId(int id, StopPassagesType type = StopPassagesType.Departure, StopType stopType = StopType.Tram | StopType.Bus)
        {
            StopInfo tramInfo;
            StopInfo busInfo;

            if ((stopType & StopType.Tram) == StopType.Tram)
            {
                var response = await Request.StopPassages(id, type, false).ConfigureAwait(false);

                tramInfo = JsonConvert.DeserializeObject <StopInfo>(response.Data);
            }
            else
            {
                tramInfo = new StopInfo {
                    ActualPassages = new List <StopPassage>(), OldPassages = new List <StopPassage>()
                }
            };
            if ((stopType & StopType.Bus) == StopType.Bus)
            {
                var response = await Request.StopPassages(id, type, true).ConfigureAwait(false);

                busInfo = JsonConvert.DeserializeObject <StopInfo>(response.Data);
            }
            else
            {
                busInfo = new StopInfo {
                    ActualPassages = new List <StopPassage>(), OldPassages = new List <StopPassage>()
                }
            };
            var result = new Passages();

            result.ActualPassages = tramInfo.ActualPassages
                                    .Select(ap => PassageConverter.Convert(ap))
                                    .Concat(busInfo.ActualPassages
                                            .Select(ap => PassageConverter.Convert(ap, true)))
                                    .OrderBy(p => p.ActualRelative)
                                    .ToList();
            result.OldPassages = tramInfo.OldPassages
                                 .Select(ap => PassageConverter.Convert(ap))
                                 .Concat(busInfo.OldPassages
                                         .Select(ap => PassageConverter.Convert(ap, true)))
                                 .OrderBy(p => p.ActualRelative)
                                 .ToList();
            return(result);
        }
Esempio n. 8
0
        private void AddRandomNeighborChamber(Rectangle chamber)
        {
            Point passage    = new Point(0, 0);
            int   nborWidth  = Utilities.RandomNumber(MinChamberWidth, MaxChamberWidth);
            int   nborHeight = Utilities.RandomNumber(MinChamberHeight, MaxChamberHeight);
            Point nborPos    = new Point(0, 0);

            switch (Utilities.RandomNumber(1, 4))
            {
            case 1:
                passage = PassageNorth(chamber);
                nborPos = ChamberNorth(passage, nborWidth, nborHeight);
                break;

            case 2:
                passage = PassageSouth(chamber);
                nborPos = ChamberSouth(passage, nborWidth);
                break;

            case 3:
                passage = PassageWest(chamber);
                nborPos = ChamberWest(passage, nborWidth, nborHeight);
                break;

            case 4:
                passage = PassageEast(chamber);
                nborPos = ChamberEast(passage, nborHeight);
                break;

            default:
                break;
            }

            Rectangle neighbor = new Rectangle(nborPos, new Point(nborWidth, nborHeight));

            if (CanFitChamber(GetChamberWithWalls(neighbor)) &&
                (ForceRegularChambers && !ChamberIntersects(GetChamberWithWalls(neighbor)) || !ForceRegularChambers && !ChamberIntersects(neighbor)))
            {
                Chambers.Add(neighbor);
                Passages.Add(passage);
            }
        }
Esempio n. 9
0
        /// <summary>
        /// Perform any required actions from standing on a tile
        /// </summary>
        /// <param name="occupant">Actor standing on the tile</param>
        public void Trigger(Actor occupant)
        {
            // Action from type of tile
            switch (GetCell(occupant.Location))
            {
            case DungeonCell.StairDown:
            case DungeonCell.StairUp:
                // Get passage
                var passage = Passages.FirstOrDefault(i => i.Location == occupant.Location);
                if (passage != null && passage.PassageType != Passage.PassageTypeEnum.OneWay)
                {
                    occupant.MoveLevel(passage);
                }
                break;

            default:
                // Do nothing
                break;
            }
        }
Esempio n. 10
0
        private void CreateDB(List <JsonQuery> collections, object sender = null)
        {
            int i     = 0;
            int total = collections.Count;

            foreach (JsonQuery jq in collections)
            {
                CollectionQuery cq = new CollectionQuery(jq);

                foreach (var jp in jq.passages)
                {
                    CollectionPassage cp = new CollectionPassage(jp, jq.query_id);
                    Passages.Add(cp.passage_ID, cp);

                    cq.AddPassagesID(jp.passage_ID);
                }

                Querys.Add(cq.query_id, cq);
                if (sender != null && i++ % 100 == 0)
                {
                    (sender as BackgroundWorker).ReportProgress(100 * i / total);
                }
            }
        }
Esempio n. 11
0
 public Passage GetPassage(int x, int y)
 {
     return(Passages.LastOrDefault(t => t.OutX == x && t.OutY == y));
 }
Esempio n. 12
0
 public bool CheckPassagePosition(int x, int y)
 {
     return(Passages.Any(t => t.OutX == x && t.OutY == y));
 }
Esempio n. 13
0
    public IEnumerator MoveHiddenCarpetIn(Vector2 carpetDirection)
    {
        bool       portalInFront    = false;
        Vector2Int currentPosition  = new Vector2Int(allHiddenCarpetParts[allHiddenCarpetParts.Count - 1].position.x, allHiddenCarpetParts[allHiddenCarpetParts.Count - 1].position.y);
        Passages   potentialPassage = null;

        Vector2Int nextPosition = new Vector2Int(allHiddenCarpetParts[allHiddenCarpetParts.Count - 1].position.x + (int)carpetDirection.x, (allHiddenCarpetParts[allHiddenCarpetParts.Count - 1].position.y + (int)carpetDirection.y));

        foreach (HiddenSpacePassage hiddenSpacePassage in hiddenSpace.portalSpace[nextPosition.x, nextPosition.y].hiddenSpacePassages)
        {
            if (hiddenSpacePassage.orientation == endCarpetOrientation)
            {
                potentialPassage = hiddenSpacePassage.passage;

                portalInFront = true;
            }
        }
        Vector3 edgeWorldPos;

        while (hiddenSpace.IsInHiddenSpace(nextPosition) && hiddenSpace.hiddenSpace[nextPosition.x, nextPosition.y] == null && portalInFront == false && IsPortalWallInFront(currentPosition, endCarpetOrientation) == false)
        {
            HiddenSpaceCarpetPart newCarpet;
            newCarpet          = Instantiate(hiddenSpaceCarpetPart, hiddenSpace.GetWorldPosition(nextPosition), hiddenSpaceCarpetPart.transform.rotation);
            newCarpet.position = nextPosition;
            newCarpet.type     = HiddenSpaceObjects.Type.carpetPart;
            allHiddenCarpetParts.Add(newCarpet);
            hiddenSpace.hiddenSpace[nextPosition.x, nextPosition.y] = newCarpet;

            Vector3 newWorldPos = hiddenSpace.GetWorldPosition(nextPosition);

            if (carpetDirection.x == 1 || carpetDirection.x == -1)
            {
                newCarpet.transform.rotation = Quaternion.Euler(0, 0, 0);
            }
            else if (carpetDirection.y == 1 || carpetDirection.y == -1)
            {
                newCarpet.transform.rotation = Quaternion.Euler(0, 90, 0);
            }

            edgeWorldPos = Vector3.Lerp(hiddenSpace.GetWorldPosition(currentPosition), hiddenSpace.GetWorldPosition(nextPosition), 0.5f);

            float roulingTimer = 0;
            while (roulingTimer < carpetMovingSpeed)
            {
                newCarpet.transform.position   = Vector3.Lerp(edgeWorldPos, newWorldPos, roulingTimer / carpetMovingSpeed);
                newCarpet.transform.localScale = new Vector3(Mathf.Lerp(0, 1, roulingTimer / carpetMovingSpeed), 1, 1);

                roulingTimer += Time.deltaTime;
                yield return(new WaitForEndOfFrame());
            }

            newCarpet.transform.localScale = Vector3.one;
            newCarpet.transform.position   = hiddenSpace.GetWorldPosition(nextPosition);
            newCarpet.position             = nextPosition;

            currentPosition = nextPosition;
            nextPosition    = new Vector2Int(allHiddenCarpetParts[allHiddenCarpetParts.Count - 1].position.x + (int)carpetDirection.x, (allHiddenCarpetParts[allHiddenCarpetParts.Count - 1].position.y + (int)carpetDirection.y));

            if (hiddenSpace.IsInHiddenSpace(nextPosition))
            {
                foreach (HiddenSpacePassage hiddenSpacePassage in hiddenSpace.portalSpace[nextPosition.x, nextPosition.y].hiddenSpacePassages)
                {
                    if (hiddenSpacePassage.orientation == endCarpetOrientation)
                    {
                        potentialPassage = hiddenSpacePassage.passage;
                        portalInFront    = true;
                    }
                }
            }
        }

        if (portalInFront)
        {
            potentialPassage.PassCarpetHiddenSpaceToRoom(flatCarpetPartPrefab);

            carpetIsInHiddenSpace = false;
        }
    }