示例#1
0
        public bool StartGame(Transform container)
        {
            Debug.Log("MiniGameManager.StartGame");

            if (playing)
            {
                return(false);
            }

            if (container == null)
            {
                return(false);
            }

            while (container.childCount > 0)
            {
                Transform child = container.GetChild(0);
                child.parent = null;
                GameObject.Destroy(child.gameObject);
            }

            game = CreateGame(container);
            if (game == null || game.CheckFinish())
            {
                return(false);
            }
            game.StartGame();
            playing = true;
            return(true);
        }
示例#2
0
    void Awake()
    {
        ui   = GameObject.Find("UICanvas/Canvas").GetComponent <Canvas>();
        game = GameObject.Find("Game").GetComponent <IMiniGame>();

        countDown = ui.transform.Find("CountDown").gameObject.GetComponent <CountDown>();
    }
示例#3
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.gameObject.tag == "minigame-bonus")
        {
            IMiniGameBonus miniGameBonus = collision.gameObject.GetComponent <IMiniGameBonus>();
            IMiniGame      miniGame      = GameObject.FindGameObjectWithTag("minigame").GetComponent <IMiniGame>();

            GameManager.instance.AddToTime(miniGameBonus.BonusValue);
            miniGameBonus.Destroy();
            miniGame.Win();
        }
    }
    public void OnSceneLoaded(Scene scene, LoadSceneMode mode)
    {
        if (mode == LoadSceneMode.Additive)
        {
            MapController.instance.mapCamera.gameObject.SetActive(false);
            MapController.instance.SetUIEnabled(false);
        }

        if (scene.name == "CutScene")
        {
            CutSceneController.instance.SetCutScene(cutScenePath);
            currentMiniGame = CutSceneController.instance;
        }
    }
示例#5
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.gameObject.tag == "minigame-bonus")
        {
            IMiniGameBonus miniGameBonus = collision.gameObject.GetComponent <IMiniGameBonus>();
            IMiniGame      miniGame      = collision.gameObject.GetComponentInParent <IMiniGame>();

            miniGameBonus.Destroy();

            if (LoseOnCollision)
            {
                miniGame.Lose();
            }
        }
    }
示例#6
0
 private void TryGetGameReward()
 {
     if (game != null)
     {
         game.TryGetGameReward();
         game = null;
     }
     else
     {
         var miniGame = CreateGame(null);
         if (miniGame != null)
         {
             miniGame.TryGetGameReward();
         }
     }
 }
示例#7
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.gameObject.tag == "minigame-bonus")
        {
            transform.parent.GetComponent <SpriteRenderer>().sprite = Sprite;
            transform.parent.GetComponent <AudioSource>().Play();

            GameObject miniGameBonusObject = collision.gameObject;

            Rigidbody2D rb = miniGameBonusObject.GetComponent <Rigidbody2D>();
            rb.velocity    = Vector2.zero;
            rb.isKinematic = true;

            collision.collider.enabled = false;

            IMiniGameBonus miniGameBonus = miniGameBonusObject.GetComponent <IMiniGameBonus>();
            GameManager.instance.AddToTime(miniGameBonus.BonusValue);

            IMiniGame miniGame = GameObject.FindGameObjectWithTag("minigame").GetComponent <IMiniGame>();
            miniGame.Win();
        }
    }
    // Update is called once per frame
    void Update()
    {
        if (currentMiniGame != null)
        {
            SceneManager.SetActiveScene(currentMiniGame.ControllerObject.scene);

            if (currentMiniGame.IsFinished())
            {
                if (currentMiniGame.DidComplete())
                {
                    MapController.instance.CompleteNode(currentNodeID);
                }

                SceneManager.UnloadSceneAsync(currentMiniGame.ControllerObject.scene);
                currentMiniGame = null;

                SceneManager.SetActiveScene(MapController.instance.gameObject.scene);
                MapController.instance.mapCamera.gameObject.SetActive(true);
                MapController.instance.SetUIEnabled(true);
            }
        }
    }
 public void SetMinigame(IMiniGame miniGame)
 {
     currentMiniGame = miniGame;
 }