mirror of
https://github.com/mm201/pkmn-classic-framework.git
synced 2026-03-23 10:24:19 -05:00
88 lines
2.6 KiB
C#
88 lines
2.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace PkmnFoundations.Structures
|
|
{
|
|
public struct StatValues
|
|
{
|
|
public StatValues(int hp, int attack, int defense, int speed, int special_attack, int special_defense) : this()
|
|
{
|
|
Hp = hp;
|
|
Attack = attack;
|
|
Defense = defense;
|
|
Speed = speed;
|
|
SpecialAttack = special_attack;
|
|
SpecialDefense = special_defense;
|
|
}
|
|
|
|
public int Hp { get; set; }
|
|
public int Attack { get; set; }
|
|
public int Defense { get; set; }
|
|
public int Speed { get; set; }
|
|
public int SpecialAttack { get; set; }
|
|
public int SpecialDefense { get; set; }
|
|
|
|
public int this[Stats stat]
|
|
{
|
|
get
|
|
{
|
|
switch (stat)
|
|
{
|
|
case Stats.Hp:
|
|
return Hp;
|
|
case Stats.Attack:
|
|
return Attack;
|
|
case Stats.Defense:
|
|
return Defense;
|
|
case Stats.Speed:
|
|
return Speed;
|
|
case Stats.SpecialAttack:
|
|
return SpecialAttack;
|
|
case Stats.SpecialDefense:
|
|
return SpecialDefense;
|
|
default:
|
|
throw new ArgumentException();
|
|
}
|
|
}
|
|
set
|
|
{
|
|
switch (stat)
|
|
{
|
|
case Stats.Hp:
|
|
Hp = value;
|
|
break;
|
|
case Stats.Attack:
|
|
Attack = value;
|
|
break;
|
|
case Stats.Defense:
|
|
Defense = value;
|
|
break;
|
|
case Stats.Speed:
|
|
Speed = value;
|
|
break;
|
|
case Stats.SpecialAttack:
|
|
SpecialAttack = value;
|
|
break;
|
|
case Stats.SpecialDefense:
|
|
SpecialDefense = value;
|
|
break;
|
|
default:
|
|
throw new ArgumentException();
|
|
}
|
|
}
|
|
}
|
|
|
|
public int[] ToArray()
|
|
{
|
|
return new int[] { Hp, Attack, Defense, Speed, SpecialAttack, SpecialDefense };
|
|
}
|
|
|
|
public byte[] ToByteArray()
|
|
{
|
|
return new byte[] { (byte)Hp, (byte)Attack, (byte)Defense, (byte)Speed, (byte)SpecialAttack, (byte)SpecialDefense };
|
|
}
|
|
}
|
|
}
|