/// パラメータ更新 void UpdateParam() { // 射程範囲 _range = TowerParam.Range(_lvRange); // 連射速度 _firerate = TowerParam.Firerate(_lvFirerate); // 攻撃威力 _power = TowerParam.Power(_lvPower); // レベルに対する色を設定 // 平均レベルを計算 float avg = (_lvRange + _lvFirerate + _lvPower) / 1.0f; // 小数点以下を切り上げする int avgLv = Mathf.CeilToInt(avg); Color c; switch (avgLv) { case 3: c = Color.white; break; // 白色 case 4: c = Color.cyan; break; // シアン case 5: c = Color.green; break; // 緑色 case 6: c = Color.yellow; break; // 黄色 default: c = Color.red; break; // 赤色 } // 少し明るくする c.r += 0.3f; c.g += 0.3f; c.b += 0.3f; SetColor(c); }
public void LoadTower(TowerParam _param) { // Applying param param = _param; gameObject.name = "Tower_" + param.title; // Visuals visual = Instantiate(param.model, transform.position, Quaternion.identity, transform).GetComponent <TowerVisualsBehavior>(); if (visual != null) { visual.tower = this; } // Shooting behavior if (weapon == null) { weapon = GetComponent <WeaponBehavior>(); } if (weapon == null) { weapon = gameObject.AddComponent <WeaponBehavior>(); } weapon.tower = this; weapon.Load( param.damage * param.levelMultiplier[level], param.speed * param.levelMultiplier[level], param.range * param.levelMultiplier[level] ); }
/// 射程範囲の表示設定 public void SetVisible(bool b, int lvRange) { // レベルから射程範囲を取得 float range = TowerParam.Range(lvRange); // 表示上のサイズを設定 Scale = range / (1.5f * Field.GetChipSize()) * 5f; // 表示フラグを設定 Visible = b; }
/// <summary> /// Tower configuration loading /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> private void BLoad_Click(object sender, EventArgs e) { OFDialog.FileName = "*.tdtc"; OFDialog.Filter = "Tower configuration|*.tdtc"; if (OFDialog.ShowDialog() == DialogResult.OK) { using (FileStream TowerConfLoadStream = new FileStream(OFDialog.FileName, FileMode.Open, FileAccess.Read)) { try { IFormatter Formatter = new BinaryFormatter(); TowerConfig = (TowerParam)Formatter.Deserialize(TowerConfLoadStream); SetParams(); } catch (Exception Exc) { MessageBox.Show("Tower configuration loading error: \n" + Exc.Message); } } } }
/// <summary> /// New tower creating /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> private void BNewTowerConf_Click(object sender, EventArgs e) { TowerConfig = new TowerParam(); SetParams(); }