Example #1
0
    public void initialize()
    {
        mr         = ObjectPool.getObjectPool();
        lvlManager = LevelManager.getLevelManager();
        ui         = mr.getObject(ObjectPool.categorie.essential, (int)ObjectPool.essential.UI).GetComponent <UI_Canvas>();

        lerpList = new List <lerpInfo>();

        collected = false;
        opened    = false;

        /*if (Type == ItemType.SmallBox || Type == ItemType.BigBox)
         * {
         *  gameObject.GetComponent<Renderer>().material.color = new Color(0.296f, 0.141f, 0.057f, 1);
         * }*/
        if (Type == ItemType.SmallBox)
        {
            generateSmallBoxContent();
            theTresure = gameObject.GetComponentInChildren <Animator>();
        }
        if (Type == ItemType.BigBox)
        {
            generateBigBoxContent();
            theTresure = gameObject.GetComponentInChildren <Animator>();
        }
    }
    private void StartLevel()
    {
        levelManager.GenerateMap();

        //Set Player on Start Isle
        playerObject.GetComponent <CharacterController>().enabled = false;

        Isle startIsle = levelManager.startIsle.IsleObj;

        levelManager.currentIsle        = startIsle.isleAbstract;
        playerObject.transform.position = startIsle.PlayerStartPoint.transform.position;
        playerObject.transform.rotation = startIsle.PlayerStartPoint.transform.rotation;
        playerObject.GetComponent <NavMeshTarget>().IslePosition = startIsle.transform.position;

        levelManager.currentIsle.IsleObj.StartIsle();
        levelManager.currentIsle.IsleObj.AddBorders();

        // activate Character Controller
        playerObject.GetComponent <CharacterController>().enabled = true;

        // show UI (inclusive Mini-Map)
        UI_Canvas ui = mr.getObject(ObjectPool.categorie.essential, (int)ObjectPool.essential.UI).GetComponent <UI_Canvas>();

        ui.ShowMiniMap();
        Stats stats = playerObject.GetComponent <Stats>();

        ui.UpdateLive(stats.health, stats.maxHealth);
        ui.UpdateKeys(playerObject.GetComponent <Player>().NumberSmallKeys);
    }
Example #3
0
    public IEnumerator LevelCheckHandler()
    {
        while (true)
        {
            yield return(new WaitForSeconds(1));

            if (ListEnemies.Count <= 0)
            {
                // Level finished

                UI_Canvas ui = mr.getObject(ObjectPool.categorie.essential, (int)ObjectPool.essential.UI).GetComponent <UI_Canvas>();
                ui.ShowMessage("Isle cleared!\nPortals are open now!");

                UnlockPortals();

                UnlockSmallBoxes();

                isleAbstract.finished = true;

                StopCoroutine(levelCheckRoutine);

                yield return(null);
            }
        }
    }
Example #4
0
    public void StartIsle()
    {
        // clear list
        for (int i = 0; i < ListEnemies.Count; i++)
        {
            mr.returnObject(ListEnemies[i].GetComponent <GhostCopy>().ghost.gameObject);
            mr.returnObject(ListEnemies[i]);
        }
        ListEnemies.Clear();

        for (int i = 0; i < EnemyPoints.Count; i++)
        {
            EnemyPoints[i].Initialize();

            if (EnemyPoints[i].CanCreateEnemy == true)
            {
                ExplosionScript expl = mr.getObject(ObjectPool.categorie.explosion, (int)ObjectPool.explosion.enemySpawn).GetComponent <ExplosionScript>();
                expl.Initialize(EnemyPoints[i].transform.position);
            }
        }

        enemySpawnRoutine = StartCoroutine(EnemySpawnHandler());

        UI_Canvas ui = mr.getObject(ObjectPool.categorie.essential, (int)ObjectPool.essential.UI).GetComponent <UI_Canvas>();

        ui.ShowMessage("Destroy all enemies!");
    }
Example #5
0
 // Start is called before the first frame update
 void Awake()
 {
     if (MainCamera != null)
     {
         MainCamera.SetActive(true);
     }
     else
     {
         Debug.Log(">> No set MainCamera!");
     }
     if (UI_Canvas != null)
     {
         UI_Canvas.SetActive(true);
     }
     else
     {
         Debug.Log(">> No set UI-Canvas!");
     }
 }
Example #6
0
    public void Collect()
    {
        if (Type == ItemType.PortalKey1 || Type == ItemType.PortalKey2 || Type == ItemType.PortalKey3)
        {
            teleport();

            lvlManager.currentIsle.isleObjectType = IsleAbstract.IsleObjectType.normal;
            mr.getObject(ObjectPool.categorie.essential, (int)ObjectPool.essential.UI).GetComponent <UI_Canvas>().UpdateMiniMap();
            collected = true;

            PortalIsle portalIsle = lvlManager.bossIsle.IsleObj.GetComponent <PortalIsle>();
            portalIsle.PortalKeys++;

            if (portalIsle.PortalKeys < 3)
            {
                ui.ShowMessage(portalIsle.PortalKeys + " of 3 Portal-Keys collected.");
            }
            else
            {
                ui.ShowMessage("All Portal-Keys collected.\nMain-Portal is open now!");
            }
        }
        else if (Type == ItemType.SmallBox)
        {
            if (opened == true)
            {
                Player player      = mr.getObject(ObjectPool.categorie.essential, (int)ObjectPool.essential.player).GetComponent <Player>();
                Stats  playerStats = player.GetComponent <Stats>();

                switch (ContentSmall)
                {
                case ContentTypeSmall.SmallKey: player.NumberSmallKeys++;
                    ui.UpdateKeys(player.NumberSmallKeys);
                    ui.ShowMessage("Small key collected");
                    break;

                case ContentTypeSmall.SpeedUpgrade: playerStats.speed += ContentObj.GetComponent <StatUpgrade>().IncreaseSmallValue;
                    ui.ShowMessage("More Speed!");
                    break;

                case ContentTypeSmall.DamageUpgrade: playerStats.shotStrength += ContentObj.GetComponent <StatUpgrade>().IncreaseSmallValue;
                    ui.ShowMessage("More Damage!");
                    break;

                case ContentTypeSmall.RateUpgrade: playerStats.fireRate *= ContentObj.GetComponent <StatUpgrade>().IncreaseSmallValue;
                    ui.ShowMessage("Fire rate increased!");
                    break;

                case ContentTypeSmall.ShotSpeedUpgrade: playerStats.shotSpeed += ContentObj.GetComponent <StatUpgrade>().IncreaseSmallValue;
                    ui.ShowMessage("Shots are faster!");
                    break;
                }

                ExplosionScript itemEffect = mr.getObject(ObjectPool.categorie.explosion, (int)ObjectPool.explosion.itemCollected).GetComponent <ExplosionScript>();
                itemEffect.Initialize(ContentObj.transform.position);

                GameObject heroEffect = mr.getObject(ObjectPool.categorie.explosion, (int)ObjectPool.explosion.itemCollectedHero);
                heroEffect.GetComponent <ExplosionScript>().Initialize(player.transform.position);
                heroEffect.GetComponent <Follow>().Initialize(player.gameObject);

                mr.returnObject(ContentObj);
                ContentObj = null;

                collected = true;
            }
        }
        else if (Type == ItemType.BigBox)
        {
            Player player = mr.getObject(ObjectPool.categorie.essential, (int)ObjectPool.essential.player).GetComponent <Player>();

            if (player.NumberSmallKeys > 0)
            {
                player.NumberSmallKeys--;
                UI_Canvas ui = mr.getObject(ObjectPool.categorie.essential, (int)ObjectPool.essential.UI).GetComponent <UI_Canvas>();
                ui.UpdateKeys(player.NumberSmallKeys);

                OpenBigBox();
            }
        }
    }