base impls for what weapontype needs
This commit is contained in:
parent
0d132642b1
commit
70584a4d01
@ -1,3 +1,4 @@
|
|||||||
|
use std::convert::{TryFrom, Into};
|
||||||
|
|
||||||
use std::io::{Read, Seek};
|
use std::io::{Read, Seek};
|
||||||
use crate::{PSOPacketData, PacketParseError};
|
use crate::{PSOPacketData, PacketParseError};
|
||||||
@ -63,6 +64,9 @@ pub enum WeaponSpecial {
|
|||||||
Demons,
|
Demons,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub enum WeaponTypeError {
|
||||||
|
UnknownWeapon(String)
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Debug, Copy, Clone)]
|
#[derive(Debug, Copy, Clone)]
|
||||||
pub enum WeaponType {
|
pub enum WeaponType {
|
||||||
@ -81,6 +85,27 @@ impl WeaponType {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl TryFrom<&str> for WeaponType {
|
||||||
|
type Error = WeaponTypeError;
|
||||||
|
fn try_from(value: &str) -> Result<WeaponType, WeaponTypeError> {
|
||||||
|
match value {
|
||||||
|
"Saber" => Ok(WeaponType::Saber),
|
||||||
|
"Handgun" => Ok(WeaponType::Handgun),
|
||||||
|
"Cane" => Ok(WeaponType::Cane),
|
||||||
|
_ => Err(WeaponTypeError::UnknownWeapon(value.to_string()))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Into<String> for WeaponType {
|
||||||
|
fn into(self) -> String {
|
||||||
|
match self {
|
||||||
|
WeaponType::Saber => "Saber",
|
||||||
|
WeaponType::Handgun => "Handgun",
|
||||||
|
WeaponType::Cane => "Cane",
|
||||||
|
}.to_string()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#[derive(Debug, Copy, Clone)]
|
#[derive(Debug, Copy, Clone)]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user