IEnumerator не принимает входное значениеC#

Место общения программистов C#
Ответить
Anonymous
 IEnumerator не принимает входное значение

Сообщение Anonymous »

Я делаю пошаговую ролевую игру в Unity, и у меня есть ползунок, который появляется, когда игрок атакует. A перемещается вниз по ползунку, и чем ближе игрок приближает ползунок к центру и нажимает Z, тем больше урона он наносит. Однако по какой-то причине вместо простого ввода вам придется либо разбить Z, либо он вообще не примет ввод.
Вот код:
void DamageGauge(int target, float power, bool special, string status, string name)
{
int t = target;
float p = power;
bool s = special;
string st = status;
string n = name;

meterOpen = true;
slashSlider.gameObject.SetActive(true);
slashSlider.value = 0;
StartCoroutine(DamageSliderTick(t, p, s, st, n));
}

// ReSharper disable Unity.PerformanceAnalysis
public IEnumerator DamageSliderTick(int target, float power, bool special, string status, string name)
{
bool press = false;

int t = target;
float p = power;
bool s = special;
string st = status;
string n = name;

BattleChar sTarget = activeBattlers[t];

for (int i = 0; i < 51; i++)
{
yield return new WaitForSeconds(.01f);
slashSlider.value += 4;

if (Input.GetKeyDown(KeyCode.Z) || i == 50)
{
float v = slashSlider.value;

if(i != 50)
{
switch (v)
{
case < 20:
DealDamage(t, p, .5f, s, st, n);
break;
case < 50:
DealDamage(t, p, .8f, s, st, n);
break;
case < 85:
DealDamage(t, p, 1, s, st, n);
break;
case < 97:
DealDamage(t, p, 1.4f, s, st, n);
break;
case < 132:
DealDamage(t, p, 1, s, st, n);
break;
case < 170:
DealDamage(t, p, .8f, s, st, n);
break;
case < 200:
DealDamage(t, p, .5f, s, st, n);
break;
}
} else
{
DealDamage(t, p, .5f, s, st, n);
}

slashSlider.gameObject.SetActive(false);
slashSlider.value = 0;

if (activeBattlers[t].currentHP

Подробнее здесь: https://stackoverflow.com/questions/792 ... nput-value
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»