use std::collections::HashMap; use polariton_server::operations::SimpleFunc; use polariton::operation::{ParameterTable, Typed, Dict}; use crate::data::cube_list::*; const PARAM_KEY: u8 = 1; const DEFAULT_CUBE_ID: u32 = 227205318; pub(super) fn cube_list_provider() -> SimpleFunc<2, crate::UserTy, impl (Fn(ParameterTable, &crate::UserTy) -> Result) + Sync + Sync> { SimpleFunc::new(|params, _| { let mut params = params.to_dict(); params.insert(PARAM_KEY, Typed::Dict(Dict { key_ty: 115, // str val_ty: 104, // hashtable items: vec![ //(u32 in base16 aka hex, hashtable) CubeInfo { cpu: 1, health: 1, health_boost: 1.0, grey_out_in_tutorial: false, visibility: VisibilityMode::All, indestructible: true, category: crate::data::weapon_list::ItemCategory::NoFunction, placements: 63, protonium: false, unlocked_by_league: false, league_unlock_index: 1, stats: HashMap::default(), description: "This is a very descriptive description".to_string(), size: ItemTier::NoTier, type_: ItemType::NoFunction, ranking: 1, cosmetic: false, variant_of: "0".to_string(), ignore_in_weapon_list: true, }.as_transmissible_key_val(DEFAULT_CUBE_ID), CubeInfo { cpu: 1, health: 1, health_boost: 1.0, grey_out_in_tutorial: false, visibility: VisibilityMode::All, indestructible: true, category: crate::data::weapon_list::ItemCategory::Laser, placements: 63, protonium: false, unlocked_by_league: false, league_unlock_index: 1, stats: HashMap::default(), description: "Top_Laser_Tiny This is a very descriptive description".to_string(), size: ItemTier::T0, type_: ItemType::Weapon, ranking: 1, cosmetic: false, variant_of: "0".to_string(), ignore_in_weapon_list: true, }.as_transmissible_key_val(3809895395), CubeInfo { cpu: 1, health: 1, health_boost: 1.0, grey_out_in_tutorial: false, visibility: VisibilityMode::All, indestructible: true, category: crate::data::weapon_list::ItemCategory::Laser, placements: 63, protonium: false, unlocked_by_league: false, league_unlock_index: 1, stats: HashMap::default(), description: "Top_Laser_Small This is a very descriptive description".to_string(), size: ItemTier::T1, type_: ItemType::Weapon, ranking: 1, cosmetic: false, variant_of: "0".to_string(), ignore_in_weapon_list: true, }.as_transmissible_key_val(3178463503), CubeInfo { cpu: 1, health: 1, health_boost: 1.0, grey_out_in_tutorial: false, visibility: VisibilityMode::All, indestructible: true, category: crate::data::weapon_list::ItemCategory::Laser, placements: 63, protonium: false, unlocked_by_league: false, league_unlock_index: 1, stats: HashMap::default(), description: "Top_Laser_Medium This is a very descriptive description".to_string(), size: ItemTier::T2, type_: ItemType::Weapon, ranking: 1, cosmetic: false, variant_of: "0".to_string(), ignore_in_weapon_list: true, }.as_transmissible_key_val(2007965780), CubeInfo { cpu: 1, health: 1, health_boost: 1.0, grey_out_in_tutorial: false, visibility: VisibilityMode::All, indestructible: true, category: crate::data::weapon_list::ItemCategory::Laser, placements: 63, protonium: false, unlocked_by_league: false, league_unlock_index: 1, stats: HashMap::default(), description: "Top_Laser_Large This is a very descriptive description".to_string(), size: ItemTier::T3, type_: ItemType::Weapon, ranking: 1, cosmetic: false, variant_of: "0".to_string(), ignore_in_weapon_list: true, }.as_transmissible_key_val(3064235218), CubeInfo { cpu: 1, health: 1, health_boost: 1.0, grey_out_in_tutorial: false, visibility: VisibilityMode::All, indestructible: true, category: crate::data::weapon_list::ItemCategory::Laser, placements: 63, protonium: false, unlocked_by_league: false, league_unlock_index: 1, stats: HashMap::default(), description: "Top_Laser_Huge This is a very descriptive description".to_string(), size: ItemTier::T4, type_: ItemType::Weapon, ranking: 1, cosmetic: false, variant_of: "0".to_string(), ignore_in_weapon_list: true, }.as_transmissible_key_val(2088248713), CubeInfo { cpu: 1, health: 1, health_boost: 1.0, grey_out_in_tutorial: false, visibility: VisibilityMode::All, indestructible: true, category: crate::data::weapon_list::ItemCategory::Laser, placements: 63, protonium: false, unlocked_by_league: false, league_unlock_index: 1, stats: HashMap::default(), description: "Mega_Laser This is a very descriptive description".to_string(), size: ItemTier::T5, type_: ItemType::Weapon, ranking: 1, cosmetic: false, variant_of: "0".to_string(), ignore_in_weapon_list: true, }.as_transmissible_key_val(3209000021), ].into(), })); Ok(params.into()) }) }