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 #2
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();
            }
        }
    }