Beispiel #1
0
 private void OnDestroy()
 {
     if (Instance == this)
     {
         Instance = null;
     }
 }
Beispiel #2
0
 void OnDisable()
 {
     LevelEventManager.StopListening("PlayerDamageTaken", DamagePlayer);
     LevelEventManager.StopListening("PlayerInstantDeath", KillPlayer);
     LevelEventManager.StopListening("EnemyKilled", CountEnemyDeath);
     LevelEventManager.StopListening("LevelComplete", LoadNextLevel);
 }
Beispiel #3
0
    public void Die()
    {
        Destroy(gameObject);
        Debug.Log("Wasp has ceased evil activities");

        LevelEventManager.TriggerEvent("EnemyKilled");
    }
Beispiel #4
0
    public void Die()
    {
        Destroy(gameObject);
        Debug.Log("Spider has been murdered");

        LevelEventManager.TriggerEvent("EnemyKilled");
    }
Beispiel #5
0
 void OnTriggerEnter2D(Collider2D col)
 {
     if (col.gameObject.tag == "Player")
     {
         LevelEventManager.TriggerEvent("PlayerInstantDeath");
     }
 }
Beispiel #6
0
 void OnTriggerEnter2D(Collider2D collider)
 {
     if (collider.gameObject.tag.Equals("Player"))
     {
         Debug.Log("Level exit reached");
         LevelEventManager.TriggerEvent("LevelComplete");
     }
 }
Beispiel #7
0
    void OnCollisionEnter2D(Collision2D col)
    {
        GameObject other = col.gameObject;

        if (other.tag == "Player")
        {
            LevelEventManager.TriggerEvent("PlayerDamageTaken");
        }
    }
Beispiel #8
0
 void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
     }
     else if (Instance != this)
     {
         Destroy(gameObject);
     }
 }
Beispiel #9
0
    // Use this for initialization
    void Start()
    {
        player = Instantiate(playerPrefab, spawnPoint.transform.position, Quaternion.identity);
        player.transform.SetParent(entityContainer.transform);

        hitPoints = hitPointObjects.Length;
        Debug.Log("Player has " + hitPoints + " hit points");

        entityContainerScript = entityContainer.GetComponent <EntityContainer>();

        LevelEventManager.TriggerEvent("PlayerSpawned");
    }
Beispiel #10
0
    void OnCollisionEnter2D(Collision2D collision)
    {
        GameObject other = collision.gameObject;

        if (other.tag.Equals("Ground") && animator != null)
        {
            animator.SetBool("IsOnGround", true);
            jumpCount = 0;
        }
        else if (other.tag == "Enemy")
        {
            LevelEventManager.TriggerEvent("PlayerDamageTaken");
        }
    }
    IEnumerator GenerateExit()
    {
        Vector3 offset;

        exitInstance = Instantiate(exit, lastObjectGenerated.transform.position, Quaternion.identity);
        offset       = new Vector3(exitInstance.GetComponent <BoxCollider2D>().bounds.size.x / 2 + 5f, 0, 0);


        exitInstance.transform.position += offset;

        Debug.Log("Generated exit at " + exitInstance.transform.position);
        LevelEventManager.TriggerEvent("LevelExitCreated");

        yield return(null);
    }
Beispiel #12
0
    void Explode()
    {
        GameObject explosion       = Instantiate(sporeExplosionPrefab, transform.position, Quaternion.identity);
        float      explosionRadius = explosion.GetComponent <SpriteRenderer>().bounds.size.x / 2 + 1f;

        if (Vector3.Distance(player.transform.position, explosion.transform.position) <= explosionRadius)
        {
            Vector3 knockback = Vector3.Normalize(player.transform.position - explosion.transform.position);

            player.GetComponent <Rigidbody2D>().AddForce(knockback * 5f, ForceMode2D.Impulse);

            LevelEventManager.TriggerEvent("PlayerDamageTaken");
        }
        Destroy(explosion, 1f);
    }
Beispiel #13
0
    void OnTriggerEnter2D(Collider2D col)
    {
        if (player != null)
        {
            return;
        }

        LevelEventManager.TriggerEvent("EnteredBossArena");

        GameObject other = col.gameObject;

        if (other.tag == "Player")
        {
            player = other;
        }
    }
Beispiel #14
0
    public IEnumerator DieRoutine()
    {
        Debug.Log("Boss has been slain");
        Rigidbody2D rb = GetComponent <Rigidbody2D>();

        rb.bodyType     = RigidbodyType2D.Dynamic;
        rb.gravityScale = 1;

        StopCoroutine(attack);
        StopAllCoroutines();

        yield return(new WaitForSeconds(2f));

        LevelEventManager.TriggerEvent("LevelComplete");

        yield return(null);
    }
Beispiel #15
0
    // Use this for initialization
    void Start()
    {
        int difficultyMod = defineDifficultyMod(Difficulty);

        pseudoRandom = new System.Random(seed);

        WindBurstsAmount = new int[2];
        BirdsAmount      = new int[2];

        //Mins and maxes for events

        //Param init
        int param1, param2 = 0;

        if (Difficulty > difficultyMod)
        {
            param2 = Difficulty;
            param1 = difficultyMod;
        }
        else
        {
            param2 = difficultyMod;
            param1 = Difficulty;
        }

        /* //WindBurstsAmount[0] = pseudoRandom.Next(Difficulty, difficultyMod);
         * //WindBurstsAmount[1] = pseudoRandom.Next(difficultyMod, LevelLength * 3);
         * WindBurstsAmount[0] = pseudoRandom.Next(param1, param2);
         * WindBurstsAmount[1] = pseudoRandom.Next(difficultyMod, LevelLength * 3);
         *
         * //BirdsAmount[0] = pseudoRandom.Next(Difficulty, difficultyMod);
         * //BirdsAmount[1] = pseudoRandom.Next(difficultyMod, LevelLength * 3);
         *
         * BirdsAmount[0] = pseudoRandom.Next(param1, param2);
         * BirdsAmount[1] = pseudoRandom.Next(difficultyMod, LevelLength * 3);*/
        //pseudoRandom.Next();
        GroundArray = new GameObject[LevelLength, LandHeight];
        SkyArray    = new GameObject[LevelLength, SkyHeight];

        eventManager = gameObject.GetComponent <LevelEventManager>();
        generateMap();
    }
    IEnumerator CreateExit()
    {
        SpriteRenderer treeSprite      = levelExitPrefab.GetComponentInChildren <SpriteRenderer>();
        float          scaleMultiplier = (1 / generatedTilemap.transform.localScale.x);
        float          yOffset         = treeSprite.bounds.size.y / 2 - treeSprite.bounds.size.y / 100; // subtract to avoid pixel line between sprite and ground
        float          xOffset         = treeSprite.bounds.size.x / 2;

        int xSpawnLocation = (int)(Mathf.Round(map.GetUpperBound(0) / scaleMultiplier) - xOffset);

        RaycastHit2D hit = Physics2D.Raycast(new Vector2(xSpawnLocation, 100), Vector2.down);

        if (hit.collider != null)
        {
            GameObject exit = Instantiate(levelExitPrefab, new Vector3(hit.point.x, hit.point.y + yOffset, 0), Quaternion.identity);
            LevelEventManager.TriggerEvent("LevelExitCreated");
            Debug.Log("Spawned exit at " + exit.transform.position);
        }

        yield return(null);
    }
Beispiel #17
0
    void ConfigureLevelEvents()
    {
        List <LevelEventManager.EventType> eventTypes = new List <LevelEventManager.EventType>();

        if (_gameManager.CurrentLevelInfo.weatherEvents)
        {
            _lvlEventManager = gameObject.AddComponent <LevelEventManager>();
            eventTypes.Add(LevelEventManager.EventType.Weather);
        }
        if (_gameManager.CurrentLevelInfo.levelEvents)
        {
            if (_lvlEventManager == null)
            {
                _lvlEventManager = gameObject.AddComponent <LevelEventManager>();
            }

            eventTypes.Add(LevelEventManager.EventType.Environment);
        }

        if (_lvlEventManager != null)
        {
            _lvlEventManager.Init(eventTypes, levelID, _gameManager, this);
        }
    }
Beispiel #18
0
 void OnDisable()
 {
     LevelEventManager.StopListening("LevelExitCreated", OnLevelExitCreated);
     LevelEventManager.StartListening("PlayerSpawned", OnPlayerSpawned);
 }
Beispiel #19
0
 static void ExportLEM()
 {
     GameObject        sel     = Selection.activeGameObject;
     LevelEventManager manager = sel.GetComponent <LevelEventManager>();
 }
 void OnDisable()
 {
     LevelEventManager.StopListening("PlayerSpawned", OnPlayerSpawned);
     LevelEventManager.StopListening("EnteredBossArena", OnEnterBossArena);
 }
 void OnDisable()
 {
     LevelEventManager.StartListening("PlayerSpawned", OnPlayerSpawned);
 }