Inheritance: StateBehaviour
Example #1
0
    private void Start()
    {
        gameState = GameObject.Find("GameState").GetComponent <GameStateBehaviour>();
        TextAsset asset = Resources.Load <TextAsset>("Credits");

        text.GetComponent <UnityEngine.UI.Text>().text = asset.text;
    }
 public override void OnEnter(GameStateBehaviour game)
 {
     base.OnEnter(game);
     game.SetText(name);
     PlayerData.Instance.ForceRefresh();
     Time.timeScale = 1f;
 }
Example #3
0
    IEnumerator LoadLvl(GameStateBehaviour game)
    {
        if (combatSceneLoad == null)
        {
            combatSceneLoad = SceneManager.LoadSceneAsync(2);
        }
        combatSceneLoad.allowSceneActivation = false;

        while (!combatSceneLoad.isDone)
        {
            game.SetSlider(combatSceneLoad.progress * 100);
            if (combatSceneLoad.progress >= .9f)
            {
                game.SetSlider(100);
                game.SetText("Press Any Key to Start");
                if (Input.GetKeyDown(KeyCode.E))
                {
                    ToState(game, Next);
                }
            }
            yield return(null);
        }

        PlayerData.Instance.ForceRefresh();
        yield return(null);
    }
Example #4
0
 public override void OnEnter(GameStateBehaviour game)
 {
     gsb = game;
     game.SetText("game over");
     SceneManager.LoadScene(3);
     game.StartCoroutine(Countdown());
 }
Example #5
0
 public override void UpdateState(GameStateBehaviour game)
 {
     if (Input.GetKeyDown(KeyCode.Space))
     {
         ToState(game, Next);
     }
 }
Example #6
0
    GameStateBehaviour CreateState(GameState state)
    {
        GameStateBehaviour behaviour = GameStateFactory.Create(state);

        behaviour.transform.parent = transform;

        return(behaviour);
    }
Example #7
0
 public override void ToState(GameStateBehaviour game, IGameState state)
 {
     game.StopAllCoroutines();
     Debug.Log("move to state::" + game.Current + "->" + state);
     game.Current.OnExit(game);
     game.Current = state;
     game.Current.OnEnter(game);
 }
Example #8
0
 public override void UpdateState(GameStateBehaviour game)
 {
     base.UpdateState(game);
     if (Input.GetKeyDown(KeyCode.E))
     {
         ToState(game, Next);
     }
 }
Example #9
0
 public override void UpdateState(GameStateBehaviour game)
 {
     if (!Input.GetKeyDown(KeyCode.Space))
     {
         return;
     }
     Debug.Log("move to " + Next.name);
     ToState(game, Next);
 }
Example #10
0
        void Start()
        {
            _text      = GetComponent <Text>();
            _gameState = GameStateBehaviour.Resolve();

            if (_gameState != null)
            {
                _text.text = _gameState._level.ToString();
            }
        }
Example #11
0
    // Use this for initialization
    void Start()
    {
        gameState = GameObject.FindGameObjectWithTag("GameState").GetComponent <GameStateBehaviour>();
        Mesh mesh = ConvertToFlat(GenerateMesh());

        meshFilter.mesh         = mesh;
        meshCollider.sharedMesh = mesh;

        raiseBehaviour = GetComponent <RaiseBehaviour>();
    }
Example #12
0
	void Start () {
		
		beerPong = FindObjectOfType<BeerPong> ();
		gamePlay = FindObjectOfType<GameStateBehaviour> ();
		hoopRenderer = hoop.GetComponent<Renderer> ();
		thisRenderer = GetComponent <Renderer> ();
		thisCollider = GetComponent <Collider> ();
		hoopRenderer.material.color = onInvisibilityColor;
		offSetTime += Random.Range (0, 20f);
	}
Example #13
0
	void Awake () {

		beerPong = FindObjectOfType<BeerPong> ();
		gamePlay = FindObjectOfType<GameStateBehaviour> ();

		particleShader = Shader.Find ("Particles/Additive");
		defaultShader = obstacleRenderer.material.shader;
		baseColor = currentColor;
		currentColor = onInvisibilityColor;

		randomActivaitionOffset = Random.Range (0, 30);
		randomSpeedOffset = Random.Range (0.5f, 1f);

		StartCoroutine(ResetTransition());
	}
Example #14
0
 protected bool Init(bool enableAR = false)
 {
     if (gameState != null)
     {
         return(true);
     }
     if (GameObject.Find("GameState") == null)
     {
         return(false);
     }
     gameState    = GameObject.Find("GameState").GetComponent <GameStateBehaviour>();
     buttonCanvas = GameObject.Find("ButtonCanvas").GetComponent <ButtonCanvasBehaviour>();
     if (!enableAR && VuforiaBehaviour.Instance != null)
     {
         VuforiaBehaviour.Instance.enabled = false;
     }
     return(true);
 }
    void Awake()
    {
        if (Instance != null)
        {
            Destroy(gameObject);
        }
        else
        {
            Instance = this;
            DontDestroyOnLoad(this);
        }

        var playerPrefab      = Resources.Load("PlayerBehaviour");
        var gamePrefab        = Resources.Load("GameBehaviour");
        var environmentPrefab = Resources.Load("EnvironmentBehaviour");

        var pb = Instantiate(playerPrefab, transform) as GameObject;
        var eb = Instantiate(environmentPrefab, transform) as GameObject;
        var gb = Instantiate(gamePrefab, transform) as GameObject;

        playerBehaviour      = pb.GetComponent <PlayerBehaviour>();
        environmentBehaviour = eb.GetComponent <EnvironmentBehaviour>();
        gameBehaviour        = gb.GetComponent <GameBehaviour>();



        playerBehaviour.PlayerMovementEvent.AddListener(OnPlayerMove);

        Upgradeables = new List <IUpgradeable>()
        {
            playerBehaviour, environmentBehaviour, gameBehaviour
        };

        behaviours = new List <GameObject>()
        {
            pb, eb, gb
        };
        behaviours.ForEach(go => go.SetActive(false));

        upgradeDict = new Dictionary <string, IUpgradeable>();
        Upgradeables.ForEach(u => upgradeDict.Add(u.GetType().ToString(), u));
    }
    public override void UpdateState(GameStateBehaviour game)
    {
        if (SceneManager.GetActiveScene().buildIndex != 2)
        {
            return;
        }
        if (timer >= goldTimer)
        {
            timer = 0;
            PlayerData.Instance.GainGold(GoldGainPerSecond);
        }

        timer += Time.deltaTime;
        var wincondition  = game.WinCondition;
        var losecondition = game.LoseCondition;

        if (wincondition)
        {
            game.SetText("You win. r To restart");
        }
        if (losecondition)
        {
            game.SetText("You lose. r To restart");
            Time.timeScale = 0f;
        }

        if (Input.GetKeyDown(KeyCode.R))
        {
            ToState(game, Previous);
            PlayerData.Instance.ResetGame();
        }


        if (Input.GetKeyDown(KeyCode.Escape))
        {
            ToState(game, Next);
        }
    }
Example #17
0
 public virtual void ToState(GameStateBehaviour game, IGameState state)
 {
 }
Example #18
0
 public virtual void UpdateState(GameStateBehaviour game)
 {
 }
Example #19
0
 public virtual void OnExit(GameStateBehaviour game)
 {
 }
Example #20
0
 public virtual void OnEnter(GameStateBehaviour game)
 {
 }
Example #21
0
 public override void OnExit(GameStateBehaviour game)
 {
     game.StopAllCoroutines();
 }
Example #22
0
    private void Start()
    {
        gameState = GameObject.Find("GameState").GetComponent <GameStateBehaviour>();
        TSVLookup tsv = null;

        try
        {
            tsv = new TSVLookup("Cards/" + cardName);
        }
        catch (NullReferenceException)
        {
            if (previousCardName != null)
            {
                transform.GetChild(0).GetChild(0).gameObject.name = previousCardName;
            }
        }

        if (previousCardName == null)
        {
            startTime = 0;
        }

        Sprite background = Resources.Load <Sprite>("Cards/" + cardName);
        Sprite buttons    = Resources.Load <Sprite>("Cards/" + cardName + "-buttons");

        if (buttons == null)
        {
            buttons = background;
        }
        transform.GetChild(0).GetComponent <UnityEngine.UI.Image>().overrideSprite = background;
        transform.GetChild(0).GetChild(0).GetChild(0).GetComponent <UnityEngine.UI.Image>().overrideSprite = buttons;

        if (tsv != null)
        {
            int count = 0;
            foreach (string card in tsv.Lookup())
            {
                foreach (string condition in tsv.Lookup(card))
                {
                    string flags     = condition;
                    string newStatus = null;
                    if (condition.IndexOf('#') != -1)
                    {
                        flags     = condition.Substring(0, condition.IndexOf('#'));
                        newStatus = condition.Substring(condition.IndexOf('#') + 1);
                    }
                    if (gameState.EvaluateFlags(flags))
                    {
                        if (newStatus != null && status != newStatus)
                        {
                            status    = newStatus;
                            startTime = 0;
                        }

                        if (count > 0)
                        {
                            Instantiate(transform.GetChild(0).GetChild(0), transform.GetChild(0));
                        }

                        Transform t = transform.GetChild(0).GetChild(count);
                        t.gameObject.name = card;
                        int[] coords
                            = Array.ConvertAll <string, int>(tsv.Lookup(card, condition)[0].Split(','), int.Parse);
                        t.GetComponent <RectTransform>().anchoredPosition
                            = new Vector2(coords[0], 512 - coords[1] - coords[3]);
                        t.GetComponent <RectTransform>().sizeDelta
                            = new Vector2(coords[2], coords[3]);
                        t.GetChild(0).GetComponent <RectTransform>().anchoredPosition
                            = new Vector2(-coords[0], -(512 - coords[1] - coords[3]));
                        if (coords.Length > 4 && (coords[4] & 1) == 0)
                        {
                            t.GetChild(0).GetComponent <UnityEngine.UI.Image>().overrideSprite = background;
                        }
                        else
                        {
                            t.GetChild(0).GetComponent <UnityEngine.UI.Image>().overrideSprite = buttons;
                        }
                        if (coords.Length > 4 && (coords[4] & 2) != 0)
                        {
                            t.GetChild(0).gameObject.name = "Glow";
                        }
                        count++;
                        break;
                    }
                }
            }
        }
    }
Example #23
0
    private void Start()
    {
        gameState = GameObject.Find("GameState").GetComponent <GameStateBehaviour>();
        if (GameObject.FindWithTag("AREngine") != null)
        {
            engine = GameObject.FindWithTag("AREngine").GetComponent <AREngineBehaviour>();
        }

        GameObject.Find("Panel/AppDetails/AppIconMask/AppIcon").GetComponent <UnityEngine.UI.Image>().overrideSprite = Resources.Load <Sprite>("AppIcon");
        GameObject.Find("Panel/AppDetails/AppTitle").GetComponent <UnityEngine.UI.Text>().text   = Application.productName;
        GameObject.Find("Panel/AppDetails/AppVersion").GetComponent <UnityEngine.UI.Text>().text = "Version " + Application.version + "  <color=#000080>Credits...</color>  " + DeviceInput.HumanReadableEncoding(DeviceInput.deviceSerial);

        bool tutorialExists = false;

        if (Resources.Load <TextAsset>("Cards/Tutorial") != null)
        {
            tutorialExists = true;
        }
        else
        {
            for (int i = 0; i < SceneManager.sceneCountInBuildSettings; i++)
            {
                string scenePath = SceneUtility.GetScenePathByBuildIndex(i);
                scenePath = scenePath.Substring(scenePath.LastIndexOf("/") + 1);
                if (scenePath == "M0%Scene1.unity")
                {
                    tutorialExists = true;
                }
            }
        }

        if (engine != null)
        {
            if (gameState.sceneName == "M0%Scene1" && !gameState.GetFlag("M0%Scene1%End"))
            {
                GameObject.Find("Panel/ReturnToMap/Label").GetComponent <UnityEngine.UI.Text>().text = "Skip tutorial";
            }
            Destroy(GameObject.Find("Panel/ReplayTutorial"));
            Destroy(GameObject.Find("Panel/ReplayEnding"));
        }
        else if (!gameState.GetFlag("Global%GameEnd"))
        {
            if (tutorialExists)
            {
                GameObject.Find("Panel/ReturnToMap/Label").GetComponent <UnityEngine.UI.Text>().text = "Replay tutorial";
            }
            else
            {
                Destroy(GameObject.Find("Panel/ReturnToMap"));
            }
            Destroy(GameObject.Find("Panel/ReplayTutorial"));
            Destroy(GameObject.Find("Panel/ReplayEnding"));
        }
        else
        {
            if (tutorialExists)
            {
                Destroy(GameObject.Find("Panel/ReturnToMap"));
            }
            else
            {
                GameObject.Find("Panel/ReturnToMap/Label").GetComponent <UnityEngine.UI.Text>().text = "Replay ending";
                Destroy(GameObject.Find("Panel/ReplayTutorial"));
                Destroy(GameObject.Find("Panel/ReplayEnding"));
            }
        }

        GameObject.Find("Panel/LeftHandedMode").GetComponent <UnityEngine.UI.Toggle>().isOn = gameState.GetFlag("System%SwapButtonGroups");
        if (!DeviceInput.gyroPresent)
        {
            GameObject.Find("Panel/UseGyroscope").GetComponent <UnityEngine.UI.Toggle>().enabled   = false;
            GameObject.Find("Panel/UseGyroscope/Label").GetComponent <UnityEngine.UI.Text>().color = Color.gray;
            GameObject.Find("Panel/UseGyroscope/Text").GetComponent <UnityEngine.UI.Text>().text   = "Unable to detect gyroscope";
            GameObject.Find("Panel/UseGyroscope/Text").GetComponent <UnityEngine.UI.Text>().color  = Color.red;
        }
        GameObject.Find("Panel/UseGyroscope").GetComponent <UnityEngine.UI.Toggle>().isOn = gameState.GetFlag("System%UseGyroscope");
        if (!DeviceInput.compassPresent)
        {
            GameObject.Find("Panel/UseCompass").GetComponent <UnityEngine.UI.Toggle>().enabled   = false;
            GameObject.Find("Panel/UseCompass/Label").GetComponent <UnityEngine.UI.Text>().color = Color.gray;
            GameObject.Find("Panel/UseCompass/Text").GetComponent <UnityEngine.UI.Text>().text   = "Unable to detect compass";
            GameObject.Find("Panel/UseCompass/Text").GetComponent <UnityEngine.UI.Text>().color  = Color.red;
        }
        GameObject.Find("Panel/UseCompass").GetComponent <UnityEngine.UI.Toggle>().isOn = gameState.GetFlag("System%UseCompass");

#if !UNITY_ANDROID
        // compass only supported on android
        Destroy(GameObject.Find("Panel/UseCompass"));
#endif
    }
Example #24
0
 public override void OnExit(GameStateBehaviour game)
 {
     Debug.Log("exit intro");
     SceneManager.LoadScene(2);
 }
Example #25
0
 public override void OnEnter(GameStateBehaviour game)
 {
     base.OnEnter(game);
 }
 public override void OnExit(GameStateBehaviour game)
 {
     base.OnExit(game);
     Time.timeScale = 1f;
     SceneManager.LoadScene(1);
 }
Example #27
0
 public void SetState(GameState state)
 {
     RemoveState(_gameState);
     _gameState = CreateState(state);
 }
Example #28
0
 void RemoveState(GameStateBehaviour state)
 {
     _oldGameState = state;
     _.When(state.Outro()).Done(DeleteState);
 }
Example #29
0
 void Start()
 {
     _gameState = CreateState(gameStateOrder[_state]);
     _gameState.Next(OnGameStateFinish);
 }