예제 #1
0
 public void StartAdventure()
 {
     adventureController = GameObject.Instantiate(AdventureControllerPrefab);
     adventureController.GenerateMap();
     adventureController.OnAdventureOver += AdventureController_OnAdventureOver;
     adventureController.StartAdventure();
 }
        public async Task GetPlot_OK()
        {
            var result = new Domain.Plot
            {
                PlotId      = 1,
                Choices     = new List <Domain.Plot>(),
                Action      = "Yes",
                Description = "test"
            };

            _adventureServiceMock.Setup(adv => adv.GetPlot(It.IsAny <int>())).ReturnsAsync(result);

            var controller = new AdventureController(_adventureServiceMock.Object);
            var res        = await controller.GetPlot(1);

            var objResult = res.Result as ObjectResult;

            Assert.NotNull(res);
            Assert.True(objResult.StatusCode == (int)HttpStatusCode.OK);
            var value = Assert.IsType <Domain.Plot>(objResult.Value);

            Assert.Equal(result.PlotId, value.PlotId);
            Assert.Equal(result.Description, value.Description);
            Assert.Equal(result.Choices.Count, value.Choices.Count);
        }
예제 #3
0
    void Awake()
    {
        inst = this;

        var gragInput = gameObject.AddComponent <GragInput>();

        gragInput.OnGragStart  += OnGragStart;
        gragInput.OnGraging    += OnGraging;
        gragInput.OnInertiaing += OnInertiaing;

        var zoomInput = gameObject.AddComponent <ZoomInput>();

        zoomInput.OnZoomIn  += OnZoomIn;
        zoomInput.OnZoomOut += OnZoomOut;

        var clickInput = gameObject.AddComponent <ClickInput>();

        clickInput.OnClick += OnClick;

        m_MapController = gameObject.AddComponent <MapController>();

        m_CameraController = gameObject.AddComponent <CameraController>();

        m_FightController = gameObject.AddComponent <FightController>();
        m_FightController.OnFightFinish += OnFightFinish;

        m_ExploreMechanism = gameObject.AddComponent <ExploreMechanism2>();
        m_ExploreMechanism.SetMapController(m_MapController);

        m_HeroController = gameObject.AddComponent <HeroController>();
        m_HeroController.OnFinishMoveToTile += OnFinishMoveToTile;
    }
예제 #4
0
 public void Setup()
 {
     _gameCache           = new MemoryCache(mco);
     _welcomeSontroller   = new WelcomeController(new AdventureServer.Services.AppVersionService());
     _adventureFramework  = new AdventureFrameworkService(_gameCache);
     _adventureController = new AdventureController(_adventureFramework);
     // _playAdventureController = new PlayAdventureController(_adventureController);
 }
예제 #5
0
 public static AdventureController Instance()
 {
     if (!adventureController)
     {
         adventureController = FindObjectOfType <AdventureController>();
     }
     return(adventureController);
 }
예제 #6
0
 public void handleEnemyDeath(CombatCharacter enemy)
 {
     charactersInCombat.Remove(enemy);
     if (charactersInCombat.Count == 1)
     {
         gameStarted = false;
         AdventureController.Instance().victoryAnimation();
     }
 }
        public async Task GetAdventure_NotFound()
        {
            _adventureServiceMock.Setup(adv => adv.GetAdventureDetails(1)).ReturnsAsync(null as Domain.Adventure);

            var controller = new AdventureController(_adventureServiceMock.Object);
            var res        = await controller.GetAdventure(1);

            var objResult = res.Result as NotFoundResult;

            Assert.NotNull(res);
            Assert.True(objResult.StatusCode == (int)HttpStatusCode.NotFound);
        }
        public async Task GetAdventure_Failed()
        {
            _adventureServiceMock.Setup(opp => opp.GetAdventureDetails(1)).ThrowsAsync(new Exception());

            var controller = new AdventureController(_adventureServiceMock.Object);
            var res        = await controller.GetAdventure(1);

            var ObjRes = res.Result as StatusCodeResult;

            Assert.NotNull(res);
            Assert.True(ObjRes.StatusCode == 500);
        }
예제 #9
0
 private void endCutscene()
 {
     if (curCutscene == curAdventure.preAdventureCutscene)
     {
         resolvePreBattleCutscene();
     }
     else
     {
         switchToBattle();
         AdventureController.Instance().continueWithAdventure();
     }
 }
예제 #10
0
    void Destruction()
    {
        //Debug.Log("Destroy Player");
        Destroy(gameObject);
        //destrunctionCall = true;
        gameObject.SetActive(false);
        AdventureController ac = GameObject.Find("BattleManager").GetComponent <AdventureController>();

        ac.Lose();
        // Find 하기 싫은데... 그냥 Tag 달고 FindTag 해야 하나
        // 구조를 잘못 잡은 게 문제겠지만 숙제로 남겨둠
        Enemy.isExistTarget = false;
        // 얘는 왜 그냥 되냐... static 이라 그런가...
        // 그럼 ac.Lose() 를 static 메소드로 만들면 될 거 같은데 그게 왜 안되냐.
        AdventureController.isPlayerAlive = false;
    }
        public async Task GetAdventure_BadRequest()
        {
            var result = new Domain.Adventure
            {
                AdventureId = 1,
                FirstPlot   = new Domain.Plot(),
                Title       = "abc"
            };

            _adventureServiceMock.Setup(adv => adv.GetAdventureDetails(It.IsAny <int>())).ReturnsAsync(result);

            var controller = new AdventureController(_adventureServiceMock.Object);
            var res        = await controller.GetAdventure(-1);

            var ObjRes = res.Result as BadRequestResult;

            Assert.NotNull(res);
            Assert.True(ObjRes.StatusCode == 400);
        }
        public async Task GetPlot_BadRequest()
        {
            var result = new Domain.Plot
            {
                PlotId      = 1,
                Choices     = new List <Domain.Plot>(),
                Action      = "Yes",
                Description = "test"
            };

            _adventureServiceMock.Setup(adv => adv.GetPlot(It.IsAny <int>())).ReturnsAsync(result);

            var controller = new AdventureController(_adventureServiceMock.Object);
            var res        = await controller.GetPlot(-1);

            var ObjRes = res.Result as BadRequestResult;

            Assert.NotNull(res);
            Assert.True(ObjRes.StatusCode == 400);
        }
예제 #13
0
        public async Task GetWithName_ShouldReturn_AllQuestions()
        {
            // Arrange
            var adventureService = new Mock <IAdventureService>();

            adventureService.Setup(svc => svc.GetQuestionsAsync("test-adventure"))
            .ReturnsAsync(new List <Question>()
            {
                new Question()
            });
            var controller = new AdventureController(adventureService.Object);

            // Act
            var result = await controller.Get("test-adventure");

            // Assert
            Assert.NotNull(result);
            var model = Assert.IsAssignableFrom <QuestionResponse>(result);

            Assert.Single(model.Questions);
        }
예제 #14
0
        public async Task Get_ShouldReturn_AllAdventures()
        {
            // Arrange
            var adventureService = new Mock <IAdventureService>();

            adventureService.Setup(svc => svc.GetAdventuresAsync())
            .ReturnsAsync(new List <Adventure>()
            {
                new Adventure()
            });
            var controller = new AdventureController(adventureService.Object);

            // Act
            var result = await controller.Get();

            // Assert
            Assert.NotNull(result);
            var model = Assert.IsAssignableFrom <AdventureResponse>(result);

            Assert.Single(model.Adventures);
        }
예제 #15
0
    void Destruction()
    {
        //Instantiate(destructionVFX, transform.position, Quaternion.identity);
        //Instantiate(destructionSound, transform.position, Quaternion.identity);
        foreach (GameObject obj in onDestroyExecutionList)
        {
            Destroy(obj);
        }
        Destroy(gameObject);
        count--;

        if (isBoss == 1)
        {
            AdventureController ac = GameObject.Find("BattleManager").GetComponent <AdventureController>();
            ac.Win();
        }
        else if (count <= 0)
        {
            AdventureController ac = GameObject.Find("BattleManager").GetComponent <AdventureController>();
            ac.DoStage();
        }
    }
        public async Task GetAdventure_OK()
        {
            var result = new Domain.Adventure
            {
                AdventureId = 1,
                FirstPlot   = new Domain.Plot(),
                Title       = "abc"
            };

            _adventureServiceMock.Setup(adv => adv.GetAdventureDetails(1)).ReturnsAsync(result);

            var controller = new AdventureController(_adventureServiceMock.Object);
            var res        = await controller.GetAdventure(1);

            var objResult = res.Result as ObjectResult;

            Assert.NotNull(res);
            Assert.True(objResult.StatusCode == (int)HttpStatusCode.OK);
            var value = Assert.IsType <Domain.Adventure>(objResult.Value);

            Assert.Equal(result.AdventureId, value.AdventureId);
            Assert.Equal(result.Title, value.Title);
            Assert.Equal(result.FirstPlot.PlotId, value.FirstPlot.PlotId);
        }
예제 #17
0
    IEnumerator finishEncounter(float waitTime)
    {
        yield return(new WaitForSeconds(waitTime));

        AdventureController.Instance().finishEncounter();
    }
예제 #18
0
 void Start()
 {
     if (Instance == null)
     {
         Instance = this;
         GameObject.DontDestroyOnLoad(this.gameObject);
     }
     else
     {
         Destroy(this.gameObject);
     }
 }
예제 #19
0
 // Use this for initialization
 void Start()
 {
     mAdventureRig        = Component.FindObjectOfType <AdventureRig>();
     mAdventureController = Component.FindObjectOfType <AdventureController>();
 }
예제 #20
0
 public void resolvePreBattleCutscene()
 {
     switchToBattle();
     AdventureController.Instance().startAdventure(curAdventure);
 }