Esempio n. 1
0
    public override void Click(Asset asset)
    {
        sNavi = SceneNavigator.Instance;

        _isClicked = true;

        sNavi.changeSceneIfSatisfied(asset);
    }
        public IEnumerator OneFail()
        {
            Asset failKitten = new Asset("CP [Kitten]",
                                         new Vector3(0, 0),
                                         new Character("Kitten", "We're missing an important item."));

            Cutscene      nextScene    = new Cutscene((passKitten, null), backgrounds[0]);
            Cutscene      errorScene   = new Cutscene((failKitten, null), backgrounds[1]);
            Asset         asset        = new Asset(assetName, assetPosition, new PaCElement(nextScene));
            PointandClick currentScene = new PointandClick(new List <Asset> {
                asset
            }, backgrounds[1]);

            GameObject aPanel      = GameObject.FindWithTag("AssetsPanel");
            GameObject eventSystem = GameObject.FindWithTag("EventSystem");

            SceneNavigator sNavi    = eventSystem.GetComponent <SceneNavigator>();
            AssetViewer    aViewer  = eventSystem.GetComponent <AssetViewer>();
            DialogueViewer dlViewer = eventSystem.GetComponent <DialogueViewer>();

            currentScene.show();
            sNavi.setCurrentScene(currentScene);

            HasBeenClicked     clickedCondition = new HasBeenClicked(asset);
            List <Conditional> conditionals     = new List <Conditional> {
                clickedCondition
            };

            sNavi.addConditions(asset, conditionals);
            sNavi.addErrorScene(asset, clickedCondition, errorScene);

            yield return(new WaitForSeconds(1f));

            sNavi.changeSceneIfSatisfied(aViewer.getSceneAssetFrom(aPanel.transform.GetChild(0).gameObject));

            yield return(new WaitForSeconds(3f));

            Assert.AreEqual(errorScene, sNavi.getCurrentScene());

            Asset navButton = dlViewer.getNavButton();

            navButton.getState().Click(navButton);

            Assert.AreEqual(currentScene, sNavi.getCurrentScene());

            yield return(new WaitForSeconds(3f));
        }