示例#1
0
    Boss BuildBoss(DataBoss data)
    {
        //Spawn
        var g = mgPrefab.SpawnPrefabGame("Boss");
        var b = g.GetComponent <Boss>();

        b.mgLevel    = this;
        b.mgParticle = mgParticle;

        //Build stats
        var h = b.health;

        h.Init(data.health.value);

        //Size
        var s = b.mgSize;

        s.SetDefaultSize(b.transform.localScale);

        //Build attacks
        foreach (DataAttack da in data.attacks)
        {
            b.AddAttack(da);
        }

        //Setup after load
        b.Setup();

        return(b);
    }
示例#2
0
    public void StartLevel(DataBoss db)
    {
        state    = State.SETUP;
        fightEnd = false;

        //Spawn boss
        data = db;
        boss = BuildBoss(db);
        boss.transform.position = spawnBoss.position;

        //Spawn player
        player = BuildPlayer(db.player);
        player.transform.position = spawnPlayer.position;

        //UI
        panelGame.SetHealthBoss(0, db.health.value, db.health.value);
        panelGame.SetHealthPlayer(db.player.health.value);
        panelGame.ShowDesc("Press SLASH to start");
    }
示例#3
0
    public void LoadBoss(DataBoss boss, BuildState state)
    {
        this.boss  = boss;
        bossName   = boss.name.value;
        this.state = state;

        //Attacks
        attacks = new List <DataAttack>();
        if (boss.attacks != null && boss.attacks.Length > 0)
        {
            attacks.AddRange(boss.attacks);
        }
        UpdateAttackList();

        //Create Key&Values
        kvSpawner.Clear();

        kvSpawner.SpawnInputField("Name:", InputField.ContentType.Standard, boss.name);
        kvSpawner.SpawnInputField("Boss health:", InputField.ContentType.IntegerNumber, boss.health);
        kvSpawner.SpawnSlider("Size multiplier:", 0.5f, 3f, boss.sizeMult);
        kvSpawner.SpawnListButton("Graphic", M.GetListOfEnum(typeof(Player.eGraphic)), boss.player.graphic);
        kvSpawner.SpawnInputField("Player health:", InputField.ContentType.IntegerNumber, boss.player.health);
    }
示例#4
0
 void EditBoss(DataBoss boss)
 {
     mgPanel.Forward(panelBuild);
     mgEditBoss.LoadBoss(boss, BuildState.EDIT);
 }
示例#5
0
 void FightBoss(DataBoss boss)
 {
     mgPanel.Forward(panelFight);
     mgLevel.StartLevel(boss);
 }