1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
use std::collections::HashMap;

use crate::defines::{ReeFloat, ReeInt};
use crate::eve_type::Effect;

pub struct Item {
    pub id: ReeInt,
    pub group_id: ReeInt,
    pub category_id: ReeInt,
    pub attrs: HashMap<ReeInt, ReeFloat>,
    pub effects: HashMap<ReeInt, ReeFloat>,
    pub default_effect: Option<Effect>,
}

impl Item {
    pub fn new(
        id: ReeInt,
        group_id: ReeInt,
        category_id: ReeInt,
        attrs: HashMap<ReeInt, ReeFloat>,
        effects: HashMap<ReeInt, ReeFloat>,
        default_effect: Option<Effect>,
    ) -> Item {
        Item {
            id,
            group_id,
            category_id,
            attrs,
            effects,
            default_effect,
        }
    }
}