예제 #1
0
 public void StartGame()
 {
     gameTime  = MAXGAMETIME;
     worldEra  = timePeriod.timePeriodEnum.cambrianStage2;
     playerEra = timePeriod.timePeriodEnum.cambrianStage2;
     eraChanged.Invoke();
 }
예제 #2
0
 // Use this for initialization
 void Start()
 {
     worldEra           = worldState.worldEra;
     timeSinceLastSpawn = TIMEBETWEENSPAWNS;
     worldState.eraChanged.AddListener(createCreatureEraChange);
     //createCreatureEvent = new createCreatureEventClass();
     createCreatureEvent.AddListener(createCreatureEventDebug);
 }
예제 #3
0
    // Use this for initialization
    void Start()
    {
        playerEra = timePeriod.timePeriodEnum.intro;
        worldEra  = timePeriod.timePeriodEnum.intro;
        gameTime  = 0;

        timeScaleStartColour.r = 65 / 255.0f;
        timeScaleStartColour.g = 136 / 255.0f;
        timeScaleStartColour.b = 85 / 255.0f;
        timeScaleStartColour.a = 1;

        timeScaleEndColour.r = 167 / 255f;
        timeScaleEndColour.g = 110 / 255f;
        timeScaleEndColour.b = 21 / 255f;
        timeScaleEndColour.a = 1;

        timeScaleColourDelta = timeScaleEndColour - timeScaleStartColour;
    }
예제 #4
0
    // Update is called once per frame
    void Update()
    {
        if (worldState.worldEra != worldEra)
        {
            Debug.Log("We've switched Eras!");
        }
        worldEra = worldState.worldEra;

        if (worldState.gameIsActive())
        {
            timeSinceLastSpawn -= Time.deltaTime;
            if (timeSinceLastSpawn < 0)
            {
                timeSinceLastSpawn = TIMEBETWEENSPAWNS;
                createCreature();
            }
        }
    }
예제 #5
0
    // Update is called once per frame
    void Update()
    {
        if (worldState.playerEra != playerEra)
        {
            Debug.Log("Level Up!");
            Vector3 loc = avatar.gameObject.GetComponentInChildren <Transform>().position;
            //PlayerController pc = avatar.GetComponent<PlayerController>();

            GameObject newavatar;

            //swap out avatar
            //	if (!worldState.gameIsActive())
            //		;
            Transform[] ta = avatar.gameObject.GetComponentsInChildren <Transform>();
            foreach (Transform t in ta)
            {
                if (t.transform != avatar.transform)
                {
                    Destroy(t.gameObject);
                }
            }
            //somehow remove avatar
            if (worldState.playerEra == timePeriod.timePeriodEnum.cambrianStage2)
            {
                newavatar = Instantiate(creatures.amoebaPrefab);
                newavatar.transform.position = loc;
                newavatar.transform.parent   = avatar.transform;
            }
            if (worldState.playerEra == timePeriod.timePeriodEnum.cambrianStage4)
            {
                newavatar = Instantiate(creatures.wormPrefab);
                newavatar.transform.position = loc;
                newavatar.transform.parent   = avatar.transform;
            }
            if (worldState.playerEra == timePeriod.timePeriodEnum.cambrianStage5)
            {
                newavatar = Instantiate(creatures.trilobitePrefab);
                newavatar.transform.position = loc;
                newavatar.transform.parent   = avatar.transform;
            }
        }
        playerEra = worldState.playerEra;
    }
예제 #6
0
 // Use this for initialization
 void Start()
 {
     playerEra = worldState.playerEra;
 }
예제 #7
0
    // Update is called once per frame
    void Update()
    {
        Time.timeScale = scale;
        //subtract time if the game has started
        if (worldEra != timePeriod.timePeriodEnum.intro)
        {
            gameTime -= Time.deltaTime;
        }

        //update the timer bar
        if (gameTime > 0)
        {
            float pct = gameTime / MAXGAMETIME;
            timeScale.fillAmount = 1 - pct;
            timeScale.color      = timeScaleStartColour + (1 - pct) * timeScaleColourDelta;
            int age = 505 + (int)(25 * pct);
            timeScaleText.text = age + " Million Years Ago...";
        }
        else
        {
            timeScale.fillAmount = 1;             //done
        }

        // Control world age development
        if (worldEra == timePeriod.timePeriodEnum.cambrianStage2 &&
            gameTime / MAXGAMETIME < (NUMGAMESTAGES - 1) / (float)NUMGAMESTAGES)
        {
//			worldEra = timePeriod.timePeriodEnum.cambrianStage2x;
            worldEra = timePeriod.timePeriodEnum.cambrianStage4;
            eraChanged.Invoke();
        }

/*		if (worldEra == timePeriod.timePeriodEnum.cambrianStage2x &&
 *                              gameTime / MAXGAMETIME < 4 / 6.0) {
 *                      worldEra = timePeriod.timePeriodEnum.cambrianStage3;
 *                      eraChanged.Invoke();
 *              }
 *              if (worldEra == timePeriod.timePeriodEnum.cambrianStage3 &&
 *                              gameTime / MAXGAMETIME < 0.5){
 *                      worldEra = timePeriod.timePeriodEnum.cambrianStage3x;
 *                      eraChanged.Invoke();
 *              }
 *              if (worldEra == timePeriod.timePeriodEnum.cambrianStage3x &&
 *                              gameTime / MAXGAMETIME < 2/6.0){
 *                      worldEra = timePeriod.timePeriodEnum.cambrianStage4;
 *                      eraChanged.Invoke();
 *              }*/
        if (worldEra == timePeriod.timePeriodEnum.cambrianStage4 &&
            gameTime / MAXGAMETIME < (NUMGAMESTAGES - 2) / (float)NUMGAMESTAGES)
        {
            worldEra = timePeriod.timePeriodEnum.cambrianStage5;
            eraChanged.Invoke();
        }
        if (worldEra == timePeriod.timePeriodEnum.cambrianStage5 &&
            gameTime < 0)
        {
            worldEra = timePeriod.timePeriodEnum.collapse;
            startCollapseEvent.Invoke();
            eraChanged.Invoke();
        }
        if (worldEra == timePeriod.timePeriodEnum.collapse &&
            gameTime < -FADETOCOLLAPSETIME)
        {
            worldEra = timePeriod.timePeriodEnum.showcase;
            eraChanged.Invoke();
        }
        if (worldEra == timePeriod.timePeriodEnum.showcase &&
            gameTime < -(FADETOCOLLAPSETIME + SHOWCASETIME))
        {
            worldEra = timePeriod.timePeriodEnum.intro;
            eraChanged.Invoke();
        }

        //enable/disable the time bar based on the world era
        if (!gameIsActive())
        {
            timeScale.enabled       = false;
            timeScaleText.enabled   = false;
            timeScaleBorder.enabled = false;
        }
        else
        {
            timeScale.enabled       = true;
            timeScaleText.enabled   = true;
            timeScaleBorder.enabled = true;
        }

        playerEra = worldEra;
        //control start button visiblity
        startButton.enabled = (worldEra == timePeriod.timePeriodEnum.intro);
        startButton.targetGraphic.enabled = (worldEra == timePeriod.timePeriodEnum.intro);
        startButton.transform.FindChild("Text").gameObject.GetComponent <Text>().text = (worldEra == timePeriod.timePeriodEnum.intro) ? "Start!" : "";
    }