Мне нужна помощь в следующем.
Вычислить только с помощью переменной суммы и перечисления, чтобы указать тип расчета, чтобы я мог установить правильное значение статистики для статистики. p>
Убедитесь, что правильная статистика изменена.
Другими словами, убедитесь, что правильная статистика изменена на правильную величину.
Вот код, который у меня есть на данный момент (единственный скрипт, который, по моему мнению, необходимо изменить, это скрипт PlayerStatCalculator)
using System.Collections;
using System.Collections.Generic;
using System.Linq.Expressions;
using UnityEngine;
public class PlayerStatCalculator : MonoBehaviour
{
public CardSO collectedCard;
public PlayerStats playerStatToChange;
public void OnCardCollected()
{
//piece of code to activate abilities
foreach (var statChanges in collectedCard.StatChanges)
{
SetStats(statChanges.statChangeAmount, statChanges.changeType);
//statChanges.statName
}
}
void SetStats(float amount, EStatChangeType type)
{
float statToChange = 0;// this needs to become the stat that needs to be changed in playerStatToChange
switch (type)
{
case EStatChangeType.Fixed:
statToChange += amount;
break;
case EStatChangeType.Persentage:
break;
case EStatChangeType.Set:
statToChange = amount;
break;
case EStatChangeType.Second:
break;
case EStatChangeType.SecondPersentage:
break;
}
}
}
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.UI;
[CreateAssetMenu]
public class CardSO : ScriptableObject
{
public string CardName;
public bool CanGet = true;
public bool CanSpawn = true;
public Image CardBG;
public ECardRarity rarity;
public EAbilityType abilityType;
//need to make it so i can only set this if i give the abilityType the correct value
public EBlockAbility blockAbility;
public EBulletAbility bulletAbility;
public EPlayerAbility playerAbility;
public CardStat[] StatChanges;
}
public enum EAbilityType
{
None,
Block,
Bullet,
Player
}
public enum EPlayerAbility
{
None
}
public enum EBlockAbility //things like implosion are going in here
{
None,
Bombs_Away
}
public enum EBulletAbility //things like poison cloud are going in here
{
None,
Poison,
Parasite
}
public enum ECardRarity
{
None,
common,
uncommon,
rare,
epic,
legendairy,
mythic
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu]
public class PlayerStats : ScriptableObject
{
public int Hp = 100;
public int Damage = 55;
public float ReloadTime = 1;
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[System.Serializable]
public class CardStat
{
public EStatToChange statName;
public EStatChangeType changeType;
public float statChangeAmount;
}
public enum EStatChangeType
{
none,
Fixed,
Persentage,
Set,
Second,
SecondPersentage
}
public enum EStatToChange
{
none,
Hp,
Damage,
ReloadTime
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... -persentag
Рассчитайте сумму со значением и типом расчета (установленный, фиксированный, секунды, проценты, секунды процента) и изм ⇐ C#
Место общения программистов C#
1716968636
Anonymous
Мне нужна помощь в следующем.
Вычислить только с помощью переменной суммы и перечисления, чтобы указать тип расчета, чтобы я мог установить правильное значение статистики для статистики. p>
Убедитесь, что правильная статистика изменена.
Другими словами, убедитесь, что правильная статистика изменена на правильную величину.
Вот код, который у меня есть на данный момент (единственный скрипт, который, по моему мнению, необходимо изменить, это скрипт PlayerStatCalculator)
using System.Collections;
using System.Collections.Generic;
using System.Linq.Expressions;
using UnityEngine;
public class PlayerStatCalculator : MonoBehaviour
{
public CardSO collectedCard;
public PlayerStats playerStatToChange;
public void OnCardCollected()
{
//piece of code to activate abilities
foreach (var statChanges in collectedCard.StatChanges)
{
SetStats(statChanges.statChangeAmount, statChanges.changeType);
//statChanges.statName
}
}
void SetStats(float amount, EStatChangeType type)
{
float statToChange = 0;// this needs to become the stat that needs to be changed in playerStatToChange
switch (type)
{
case EStatChangeType.Fixed:
statToChange += amount;
break;
case EStatChangeType.Persentage:
break;
case EStatChangeType.Set:
statToChange = amount;
break;
case EStatChangeType.Second:
break;
case EStatChangeType.SecondPersentage:
break;
}
}
}
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.UI;
[CreateAssetMenu]
public class CardSO : ScriptableObject
{
public string CardName;
public bool CanGet = true;
public bool CanSpawn = true;
public Image CardBG;
public ECardRarity rarity;
public EAbilityType abilityType;
//need to make it so i can only set this if i give the abilityType the correct value
public EBlockAbility blockAbility;
public EBulletAbility bulletAbility;
public EPlayerAbility playerAbility;
public CardStat[] StatChanges;
}
public enum EAbilityType
{
None,
Block,
Bullet,
Player
}
public enum EPlayerAbility
{
None
}
public enum EBlockAbility //things like implosion are going in here
{
None,
Bombs_Away
}
public enum EBulletAbility //things like poison cloud are going in here
{
None,
Poison,
Parasite
}
public enum ECardRarity
{
None,
common,
uncommon,
rare,
epic,
legendairy,
mythic
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu]
public class PlayerStats : ScriptableObject
{
public int Hp = 100;
public int Damage = 55;
public float ReloadTime = 1;
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[System.Serializable]
public class CardStat
{
public EStatToChange statName;
public EStatChangeType changeType;
public float statChangeAmount;
}
public enum EStatChangeType
{
none,
Fixed,
Persentage,
Set,
Second,
SecondPersentage
}
public enum EStatToChange
{
none,
Hp,
Damage,
ReloadTime
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78468396/calculate-amount-with-value-and-calculation-type-set-fixed-seconds-persentag[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия