use xxlib::*;
use xxlib_builder::*;
use super::ref_class::*;
#[allow(dead_code)]
const MD5:&'static str="#*MD5<815d6581062ff3d285ae201c855f76a8>*#";
#[allow(dead_code,non_snake_case)]
pub fn CodeGen_Test(){
ObjectManager::register::<PKG_TestBase>(stringify!(PKG_TestBase));
ObjectManager::register::<PKG_TestStruct2>(stringify!(PKG_TestStruct2));
ObjectManager::register::<PKG_Base>(stringify!(PKG_Base));
ObjectManager::register::<PKG_P_Point>(stringify!(PKG_P_Point));
ObjectManager::register::<PKG_Foo>(stringify!(PKG_Foo));
}
#[allow(unused_imports,dead_code,non_snake_case,non_camel_case_types)]
#[derive(build,Debug)]
#[cmd(typeid(12),compatible(true))]
pub struct PKG_TestBase{
#[cmd(default(1.0))]
pub x:f32,
#[cmd(default(2.0))]
pub y:f32,
}
#[allow(unused_imports,dead_code,non_snake_case,non_camel_case_types)]
#[derive(build,Debug)]
#[cmd(typeid(11),compatible(false))]
pub struct PKG_TestStruct2{
pub base:PKG_TestBase,
#[cmd(default(PKG_Enum_TypeId::a))]
pub P:PKG_Enum_TypeId,
#[cmd(default(55))]
pub a:i32,
#[cmd(default(55))]
pub b:i32,
#[cmd(default(5.0))]
pub c:f32,
#[cmd(default(100.0))]
pub x:f64,
#[cmd(default("123123"))]
pub sb:String,
pub buff:Vec<u8>,
pub table:std::collections::BTreeMap<i32, String>,
pub hashtable:std::collections::HashMap<i32, String>,
pub hashset:std::collections::HashSet<i32>,
pub weak_my:Weak<PKG_TestStruct2>,
pub shard_my:SharedPtr<PKG_TestStruct2>,
}
#[allow(unused_imports,dead_code,non_snake_case,non_camel_case_types)]
#[derive(build,Debug)]
#[cmd(typeid(121),compatible(false))]
pub struct PKG_Base{
pub S1:i32,
pub S2:String,
pub sp1:PKG_P_Point3,
pub sp2:Option<PKG_P_Point3>,
pub sp3:Option<PKG_P_Point3>,
pub px:Option<i32>,
pub Point2List:Vec<PKG_P_Point3>,
}
#[allow(unused_imports,dead_code,non_snake_case,non_camel_case_types)]
#[derive(build,Debug)]
#[cmd(typeid(122),compatible(true))]
pub struct PKG_P_Point{
pub X:i32,
pub Y:i32,
pub Z:Option<f64>,
}
#[allow(unused_imports,dead_code,non_snake_case,non_camel_case_types)]
#[derive(build,Debug)]
#[cmd(typeid(123),compatible(true))]
pub struct PKG_Foo{
pub base:PKG_Base,
pub P1:i32,
pub P2:f32,
pub P3:String,
pub Buff:Vec<u8>,
pub Data:Vec<u32>,
pub Position:SharedPtr<PKG_P_Point>,
pub Position2:SharedPtr<PKG_P_Point>,
pub My:SharedPtr<PKG_Foo>,
pub Positions:Vec<SharedPtr<PKG_P_Point>>,
}
#[allow(unused_imports,dead_code,non_snake_case,non_camel_case_types)]
#[derive(build,Debug)]
#[cmd(compatible(false))]
pub struct PKG_P_Point2{
pub x:f32,
pub y:f32,
}
#[allow(unused_imports,dead_code,non_snake_case,non_camel_case_types)]
#[derive(build,Debug)]
#[cmd(compatible(true))]
pub struct PKG_P_Point3{
pub base:PKG_P_Point2,
pub z:f32,
}
#[allow(unused_imports,dead_code,non_snake_case,non_camel_case_types)]
#[derive(build,Debug)]
#[cmd(compatible(false))]
pub struct PKG_TestStruct{
#[cmd(default(PKG_Enum_TypeId::a))]
pub P:PKG_Enum_TypeId,
#[cmd(default(55))]
pub a:i32,
#[cmd(default(55))]
pub b:i32,
#[cmd(default(5.0))]
pub c:f32,
#[cmd(default(100.0))]
pub x:f64,
#[cmd(default("123123"))]
pub sb:String,
pub buff:Vec<u8>,
pub table:std::collections::BTreeMap<i32, String>,
pub hashtable:std::collections::HashMap<i32, String>,
pub hashset:std::collections::HashSet<i32>,
}
#[allow(unused_imports,dead_code,non_snake_case,non_camel_case_types)]
#[derive(build,Debug)]
#[cmd(compatible(true))]
pub struct PKG_P_Player{
pub base:PKG_P_Point2,
pub position:PKG_P_Point3,
pub position2:Option<PKG_P_Point3>,
pub px:Option<i32>,
pub Point2List:Vec<PKG_P_Point2>,
}
#[allow(unused_imports,dead_code,non_snake_case,non_camel_case_types)]
#[derive(build,Debug)]
#[cmd(compatible(true))]
pub struct PKG_AA_Test_B{
pub base:PKG_TestStruct,
#[cmd(default(PKG_Enum_TypeId::b))]
pub P:PKG_Enum_TypeId,
pub ptr:SharedPtr<PKG_TestStruct2>,
pub shard_xy:SharedPtr<PKG_TestBase>,
pub ref_name:SharedPtr<PKG_Ref_TypeName>,
}
#[allow(unused_imports,dead_code,non_snake_case,non_camel_case_types)]
#[build_enum(i32)]
pub enum PKG_Enum_TypeId{
a = 1,
b = 2,
c = 3,
}