public static void GenerateAssets() { ShieldTemplate template = new ShieldTemplate(); template.art_resource = "default"; template.integrity = 120; shield_templates["default"] = template; ArtShieldResource art = new ArtShieldResource("particle"); art.particle_color_start = Color.White; art.particle_color_end = Color.Blue; art.particle_count = 16; art.shield_particle_size_max = 1.2f; art.shield_particle_size_min = 0.5f; art.shield_particle_speed = 0.06f; art.shield_particle_halflife = 1.0f; art.reform_particle_rate = 70; art.particle_velocity = 0.5f; art.particle_life = 6f; //art.size_end = new Vector2(0.5f, 0.5f); ArtManager.shields["default"] = art; template = new ShieldTemplate(); template.art_resource = "green"; template.integrity = 100f; shield_templates["green"] = template; art = new ArtShieldResource("particle"); art.particle_color_start = Color.White; art.particle_color_end = Color.LimeGreen; art.particle_count = 22; art.shield_particle_size_max = 0.8f; art.shield_particle_size_min = 0.3f; art.shield_particle_speed = 0.1f; art.shield_particle_halflife = 0.8f; art.reform_particle_rate = 60f; art.particle_velocity = 0.7f; art.particle_life = 3f; //art.size_end = new Vector2(0.5f, 0.5f); ArtManager.shields["green"] = art; }
public ComponentShield( Ship arg_ship, float arg_size, ShieldTemplate arg_template): base(arg_ship, arg_ship.template.component_shield_pos, arg_size, arg_template) { template = arg_template; radius = arg_ship.template.shield_radius; hitbox = new HitboxCircle(radius); art = ArtManager.shields[template.art_resource].New(radius, size); shield_resistance = template.shield_resistance * SHIELD_BASE_RESISTANCE; max_integrity = (arg_template.integrity * arg_size * Utility.Sqrt(arg_size)); regen_rate = (arg_template.regen / GameConst.framerate) * arg_size; integrity = max_integrity; reform_integrity = max_integrity * template.reform_integrity; active = true; }