Example #1
0
 void OnDie(Damageable damageable)
 {
     StoryManager.GetSingleton().SetBoolean("player_is_dead", true);
     target.CurrentHealth = target.MaxHealth;
     StartCoroutine(DeathSequence.Start(
                        DarknessOverlay.GetOverlay(),
                        player.animator,
                        playerRenderer,
                        player.GetComponent <Flasher>()
                        ));
 }
    void OnTriggerEnter2D(Collider2D col)
    {
        Destroy(gameObject, 0.1f);
        DarknessOverlay darknessOverlay = (DarknessOverlay)GameObject.Find("Game_Manager").GetComponent <Game>().darknessOverlayScript;
        float           curTransparency = darknessOverlay.getTransparency();

        if (curTransparency > 0.10f)
        {
            darknessOverlay.setTransparency(curTransparency - 0.10f);
        }
    }
Example #3
0
    void Start()
    {
        //Instantiate Camera & player
        cam    = Instantiate(cam);
        Player = Instantiate(Player);
        Player.AddComponent <PlayerMovement>();
        PlayerInstanceMovementScript = (PlayerMovement)Player.GetComponent(typeof(PlayerMovement));
        PlayerInstanceMovementScript.addCamera(cam);
        coinControlScript = new CoinControl();

        //Instantiate score
        //Score ScoreScript = (Score)Player.GetComponent(typeof(PlayerMovement));
        //ScoreScript.addPlayer(Player);

        //Initate image control
        playerMarketScript = (PlayerMarket)Player.GetComponent(typeof(PlayerMarket));
        playerMarketScript.setPlayer(Player);

        //get darkness script
        darknessOverlayObject = Instantiate(darknessOverlayObject);
        darknessOverlayScript = (DarknessOverlay)darknessOverlayObject.GetComponent(typeof(DarknessOverlay));


        //Instantiate backgounds
        BackgroundImageFirst  = Instantiate(BackgroundImageFirst);
        BackgroundImageSecond = Instantiate(BackgroundImageSecond);

        //add parallax
        Player.AddComponent <Parallax>();
        ParallaxScript = (Parallax)Player.GetComponent(typeof(Parallax));
        ParallaxScript.Construct(BackgroundImageFirst, BackgroundImageSecond, cam);

        //add camera component to movement controls
        PlayerControlsScript = (PlayerControls)Player.GetComponent(typeof(PlayerControls));
        PlayerControlsScript.addCamera(cam);

        //get start positions
        startPosPlayer = Player.transform.position;
        backgroundPos1 = BackgroundImageFirst.transform.position;
        backgroundPos2 = BackgroundImageSecond.transform.position;

        //Start game
        startGame();
    }
Example #4
0
    public static IEnumerator FlashTransition(MapDirections direction, DarknessOverlay darkness)
    {
        int animation = darkness.StartAnimation();

        darkness.UpdateValues(Vector3.zero, 0.0f, animation);
        darkness.SetColor(Color.white, animation);
        GameObject.FindGameObjectWithTag("GameController").GetComponent <WorldController>().SwitchTo(direction);

        float flashTime = 1.0f;
        float animTime  = 1.0f;

        while (animTime > 0.0f)
        {
            yield return(null);

            darkness.SetColor(new Color(1.0f, 1.0f, 1.0f, animTime * animTime), animation);
            animTime -= Time.deltaTime / flashTime;
        }

        darkness.EndAnimation(animation);
    }
Example #5
0
    public static IEnumerator Start(DarknessOverlay darkness, AnimationController playerAnimator, SpriteRenderer playerSpriteRenderer, Flasher damageFlasher)
    {
        damageFlasher.enabled = false;
        Time.timeScale        = 0.0f;

        float spinTime       = 2.0f;
        float spinRate       = 16.0f;
        float endSpinRate    = 2.0f;
        float spinRateChange = (endSpinRate - spinRate) / spinTime;
        float angle          = 0.0f;

        float startRadius      = 12.0f;
        float endRadius        = 0.0f;
        float darkesRadius     = startRadius;
        float radiusChangeRage = (endRadius - startRadius) / spinTime;

        playerSpriteRenderer.sortingLayerName = "Overlay";

        int animation = darkness.StartAnimation();

        darkness.SetColor(Color.black, animation);

        playerAnimator.SetFloat("Distance", 0.0f);

        while (spinTime > 0.0f)
        {
            playerAnimator.SetInteger("Direction", Mathf.FloorToInt(angle));
            angle    += spinRate * Time.unscaledDeltaTime;
            spinRate += spinRateChange * Time.unscaledDeltaTime;
            spinTime -= Time.unscaledDeltaTime;

            darkness.UpdateValues(playerAnimator.transform.position, darkesRadius, animation);

            darkesRadius += radiusChangeRage * Time.unscaledDeltaTime;

            yield return(null);
        }

        playerAnimator.SetInteger("Direction", 0);

        yield return(new WaitForSecondsRealtime(1.0f));

        GameObject.FindGameObjectWithTag("GameController").GetComponent <WorldController>().SwitchTo(MapDirections.Dead);
        playerAnimator.SetBool("Dead", true);

        yield return(new WaitForSecondsRealtime(1.0f));

        while (darkesRadius < startRadius)
        {
            darkesRadius -= 2.0f * radiusChangeRage * Time.unscaledDeltaTime;
            darkness.UpdateValues(playerAnimator.transform.position, darkesRadius, animation);
            yield return(null);
        }

        playerAnimator.SetBool("Dead", false);
        darkness.EndAnimation(animation);
        playerSpriteRenderer.sortingLayerName = "Default";
        Time.timeScale = 1.0f;
        yield return(null);

        yield return(StoryFunctionBindings.GetBindings().interact("on_player_death"));
    }
 public void Start()
 {
     gameObject.SetActive(false);
     currentOverlay = this;
 }