Example #1
0
    /// パラメータ更新
    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);
    }
Example #2
0
    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]
            );
    }
Example #3
0
    /// 射程範囲の表示設定
    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();
 }