Example #1
0
        public void UpdateRelationship(float increment)
        {
            relationship += increment;

            if (travellerType == TravellerType.Warband || travellerType == TravellerType.Invader)
            {
                if (relationship < 0)
                {
                    travellerType = TravellerType.Invader;
                }
                else
                {
                    travellerType = TravellerType.Warband;
                }
            }
        }
        public void Create_ShouldCreateNewReviewCorrectly()
        {
            int hotelId = 1;

            this.dbContext.Hotels.Add(new Hotel {
                Id = hotelId
            });
            this.dbContext.SaveChanges();

            Rating        rating        = Rating.Average;
            Season        timeOfYear    = Season.Autumn;
            TravellerType travellerType = TravellerType.Business;

            var model = new HotelReviewWriteViewModel
            {
                HotelId       = hotelId,
                Rating        = rating,
                TimeOfYear    = timeOfYear,
                TravellerType = travellerType,
            };

            string username = "******";

            this.dbContext.Users.Add(new MbUser {
                UserName = username
            });
            this.dbContext.SaveChanges();

            this.hotelReviewsService.Create(model, username);
            HotelReview result = this.dbContext.HotelReviews.First();

            result.ShouldSatisfyAllConditions
            (
                () => result.HotelId.ShouldBe(hotelId),
                () => result.Rating.ShouldBe(rating),
                () => result.TimeOfYear.ShouldBe(timeOfYear),
                () => result.TravellerType.ShouldBe(travellerType),
                () => result.User.UserName.ShouldBe(username)
            );
        }
        public void SummonRandomTraveller(TravelLocation startingPoint, TravellerType travellerType, int unitCount)
        {
            ScenePointBehavior spawnPoint    = ObtainSpawnPoint(startingPoint);
            BaseTravellerData  travellerData = new BaseTravellerData();
            GameObject         tmp           = null;

            tmp = GameObject.Instantiate(basicInvaderPrefab, spawnPoint.transform.position, Quaternion.identity, null);


            int rand = UnityEngine.Random.Range(0, 100);

            switch (travellerType)
            {
            case TravellerType.Invader:
                travellerData = travellerGenerator.GenerateRandomWarbandTraveller(unitCount, -100);
                travellerData.travellersName = "Sweet Bandits" + rand.ToString();     // Create a name generator
                break;

            case TravellerType.Merchant:
                travellerData = travellerGenerator.GenerateRandomMerchantTraveller(unitCount, 0);
                travellerData.travellersName = "Merchant of " + rand.ToString();     // Create a name generator
                break;

            case TravellerType.Hero:
                break;

            case TravellerType.Warband:
                travellerData = travellerGenerator.GenerateRandomWarbandTraveller(unitCount, 0);
                travellerData.travellersName = "Mercenary " + rand.ToString();
                break;

            default:
                break;
            }

            // Positions and Target locations
            travellerData.originalSpawnPoint      = spawnPoint.gameObject.name;
            travellerData.currentScenePoint       = spawnPoint.gameObject.name;
            travellerData.currentSceneTargetPoint = frontGate.gameObject.name;

            BaseTravellerBehavior inv = tmp.GetComponent <BaseTravellerBehavior>();

            inv.InitializeSpawnInvasion(travellerData);
            inv.armyMovement.SetPosition(spawnPoint, true);
            inv.TravelMovement(frontGate);

            if (spawnedUnits == null)
            {
                spawnedUnits = new List <BaseTravellerBehavior>();
            }

            spawnedUnits.Add(inv);
            CheckRelationship(travellerData.relationship);

            if (TransitionManager.GetInstance != null && !TransitionManager.GetInstance.isNewGame)
            {
                if (PlayerGameManager.GetInstance != null)
                {
                    PlayerGameManager.GetInstance.SaveTraveller(travellerData);
                    SaveData.SaveLoadManager.GetInstance.SaveCurrentCampaignData();
                }
            }
        }