public void LoadAttack(DataAttack da) { attack = da; var type = da.GetType(); //Create key values kvSpawner.Clear(); nameInputField = kvSpawner.SpawnInputField("Name:", InputField.ContentType.Standard, da.name); kvSpawner.SpawnText("Attack type:", da.type); kvSpawner.SpawnInputField("Startup time:", InputField.ContentType.DecimalNumber, da.timeStart); kvSpawner.SpawnInputField("Recovery time:", InputField.ContentType.DecimalNumber, da.timeEnd); kvSpawner.SpawnToggle("Can be first attack:", da.firstAttack); if (type == typeof(DataAttackJump)) { DataAttackJump d = (DataAttackJump)da; kvSpawner.SpawnSlider("Jump time:", 0.1f, 0.6f, d.jumpTime); kvSpawner.SpawnSlider("Jump speed:", 3f, 6f, d.jumpSpeed); kvSpawner.SpawnSlider("Fall speed:", 4f, 6f, d.fallSpeed); kvSpawner.SpawnSlider("Move speed:", 0f, 0.2f, d.moveSpeed); kvSpawner.SpawnListButton("Move approach to player:", M.GetListOfEnum(typeof(Approach)), d.approachToPlayer); } else if (type == typeof(DataAttackShoot)) { DataAttackShoot d = (DataAttackShoot)da; kvSpawner.SpawnListButton("Projectile direction type:", M.GetListOfEnum(typeof(ProjectileDirection)), d.projectileDirection); kvSpawner.SpawnSlider("Amount:", 1, 50, d.projectileAmount); kvSpawner.SpawnSlider("Size:", 0.05f, 0.5f, d.scale); kvSpawner.SpawnSlider("Movement speed:", 0.01f, 0.2f, d.speedMove); kvSpawner.SpawnSlider("Homing speed:", 0f, 2f, d.speedRotation); kvSpawner.SpawnInputField("Spawn delay:", InputField.ContentType.DecimalNumber, d.spawnDelay); kvSpawner.SpawnToggle("Turn towards player:", d.facePlayer); } //Load Next Attacks ClearNextAttacks(); foreach (DataAttackNext next in da.nextAttacks) { LoadNextAttackPanel(next); } var elseAttack = (da.elseNextAttack == null) ? attack : da.elseNextAttack; SetElseAttackNext(elseAttack); }
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); }