you can kill skeleton

This commit is contained in:
artem 2024-02-06 22:09:44 +03:00
parent a7eeec3d7d
commit 86356b3904
6 changed files with 473 additions and 410 deletions

Binary file not shown.

View File

@ -1593,68 +1593,68 @@ function __wbg_get_imports() {
const ret = wasm.memory; const ret = wasm.memory;
return addHeapObject(ret); return addHeapObject(ret);
}; };
imports.wbg.__wbindgen_closure_wrapper11149 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 9436, __wbg_adapter_32);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper11150 = function(arg0, arg1, arg2) { imports.wbg.__wbindgen_closure_wrapper11150 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 9436, __wbg_adapter_32); const ret = makeMutClosure(arg0, arg1, 9437, __wbg_adapter_32);
return addHeapObject(ret); return addHeapObject(ret);
}; };
imports.wbg.__wbindgen_closure_wrapper11151 = function(arg0, arg1, arg2) { imports.wbg.__wbindgen_closure_wrapper11151 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 9436, __wbg_adapter_32); const ret = makeMutClosure(arg0, arg1, 9437, __wbg_adapter_32);
return addHeapObject(ret); return addHeapObject(ret);
}; };
imports.wbg.__wbindgen_closure_wrapper11152 = function(arg0, arg1, arg2) { imports.wbg.__wbindgen_closure_wrapper11152 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 9436, __wbg_adapter_39); const ret = makeMutClosure(arg0, arg1, 9437, __wbg_adapter_32);
return addHeapObject(ret); return addHeapObject(ret);
}; };
imports.wbg.__wbindgen_closure_wrapper11153 = function(arg0, arg1, arg2) { imports.wbg.__wbindgen_closure_wrapper11153 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 9436, __wbg_adapter_32); const ret = makeMutClosure(arg0, arg1, 9437, __wbg_adapter_39);
return addHeapObject(ret); return addHeapObject(ret);
}; };
imports.wbg.__wbindgen_closure_wrapper11154 = function(arg0, arg1, arg2) { imports.wbg.__wbindgen_closure_wrapper11154 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 9436, __wbg_adapter_44); const ret = makeMutClosure(arg0, arg1, 9437, __wbg_adapter_32);
return addHeapObject(ret); return addHeapObject(ret);
}; };
imports.wbg.__wbindgen_closure_wrapper11158 = function(arg0, arg1, arg2) { imports.wbg.__wbindgen_closure_wrapper11155 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 9436, __wbg_adapter_32); const ret = makeMutClosure(arg0, arg1, 9437, __wbg_adapter_44);
return addHeapObject(ret); return addHeapObject(ret);
}; };
imports.wbg.__wbindgen_closure_wrapper30811 = function(arg0, arg1, arg2) { imports.wbg.__wbindgen_closure_wrapper11159 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 26005, __wbg_adapter_49); const ret = makeMutClosure(arg0, arg1, 9437, __wbg_adapter_32);
return addHeapObject(ret); return addHeapObject(ret);
}; };
imports.wbg.__wbindgen_closure_wrapper32229 = function(arg0, arg1, arg2) { imports.wbg.__wbindgen_closure_wrapper30812 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 26724, __wbg_adapter_52); const ret = makeMutClosure(arg0, arg1, 26006, __wbg_adapter_49);
return addHeapObject(ret); return addHeapObject(ret);
}; };
imports.wbg.__wbindgen_closure_wrapper32230 = function(arg0, arg1, arg2) { imports.wbg.__wbindgen_closure_wrapper32230 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 26724, __wbg_adapter_55); const ret = makeMutClosure(arg0, arg1, 26725, __wbg_adapter_52);
return addHeapObject(ret); return addHeapObject(ret);
}; };
imports.wbg.__wbindgen_closure_wrapper32231 = function(arg0, arg1, arg2) { imports.wbg.__wbindgen_closure_wrapper32231 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 26724, __wbg_adapter_55); const ret = makeMutClosure(arg0, arg1, 26725, __wbg_adapter_55);
return addHeapObject(ret); return addHeapObject(ret);
}; };
imports.wbg.__wbindgen_closure_wrapper32232 = function(arg0, arg1, arg2) { imports.wbg.__wbindgen_closure_wrapper32232 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 26724, __wbg_adapter_55); const ret = makeMutClosure(arg0, arg1, 26725, __wbg_adapter_55);
return addHeapObject(ret); return addHeapObject(ret);
}; };
imports.wbg.__wbindgen_closure_wrapper32233 = function(arg0, arg1, arg2) { imports.wbg.__wbindgen_closure_wrapper32233 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 26724, __wbg_adapter_55); const ret = makeMutClosure(arg0, arg1, 26725, __wbg_adapter_55);
return addHeapObject(ret); return addHeapObject(ret);
}; };
imports.wbg.__wbindgen_closure_wrapper32234 = function(arg0, arg1, arg2) { imports.wbg.__wbindgen_closure_wrapper32234 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 26724, __wbg_adapter_55); const ret = makeMutClosure(arg0, arg1, 26725, __wbg_adapter_55);
return addHeapObject(ret); return addHeapObject(ret);
}; };
imports.wbg.__wbindgen_closure_wrapper32235 = function(arg0, arg1, arg2) { imports.wbg.__wbindgen_closure_wrapper32235 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 26724, __wbg_adapter_55); const ret = makeMutClosure(arg0, arg1, 26725, __wbg_adapter_55);
return addHeapObject(ret); return addHeapObject(ret);
}; };
imports.wbg.__wbindgen_closure_wrapper37781 = function(arg0, arg1, arg2) { imports.wbg.__wbindgen_closure_wrapper32236 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 30120, __wbg_adapter_68); const ret = makeMutClosure(arg0, arg1, 26725, __wbg_adapter_55);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_closure_wrapper37782 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 30121, __wbg_adapter_68);
return addHeapObject(ret); return addHeapObject(ret);
}; };

View File

@ -32,6 +32,7 @@ enum Animations {
Idle = 0, Idle = 0,
Run = 1, Run = 1,
Fight = 2, Fight = 2,
Dead = 3,
} }
const DISTANCE_TO_FIGHT: f32 = 0.5; const DISTANCE_TO_FIGHT: f32 = 0.5;
@ -48,6 +49,7 @@ pub struct Enemy {
animations: Vec<SpriteSheetAnimation>, animations: Vec<SpriteSheetAnimation>,
fight: bool, fight: bool,
win: bool, win: bool,
dead: bool,
#[reflect(hidden)] #[reflect(hidden)]
#[visit(skip)] #[visit(skip)]
@ -67,7 +69,54 @@ impl Enemy {
self.attack_speed = 0.3; self.attack_speed = 0.3;
} }
fn intersections(&self, graph: &mut Graph, max_len: f32) -> Option<Vec<Intersection>> { fn round(&self, a: f32) -> i32 {
return a.round() as i32;
}
fn intersections_box(&self, graph: &mut Graph) -> bool {
let self_node = match graph.try_get(self.handle) {
Some(node) => node,
None => return false,
};
let self_position = self_node.global_position();
// Cast a ray from *this* node in the direction of the player node
let mut buffer = Vec::<Intersection>::new();
graph.physics2d.cast_ray(
RayCastOptions {
ray_origin: Point2::new(self_position.x, self_position.y),
ray_direction: Vector2::new(0.0, 2.0),
max_len: 0.8,
groups: InteractionGroups::default(),
// Sort the results by distance
sort_results: true,
},
// Store the collisions in the vector
&mut buffer,
);
if buffer.len() == 0 {
return false;
}
for i in 0..buffer.len() {
if self.player_handle == buffer[i].collider {
continue;
}
if buffer[i].toi == 0.0 {
continue;
}
if self.round(buffer[i].position[0]) != self.round(self_position.x) {
continue;
}
if self.round(buffer[i].position[1]) == self.round(self_position.y) {
continue;
}
return true
}
return false;
}
fn intersections_player(&self, graph: &mut Graph, max_len: f32) -> Option<Vec<Intersection>> {
// Get *this* node instance // Get *this* node instance
let self_node = match graph.try_get(self.handle) { let self_node = match graph.try_get(self.handle) {
Some(node) => node, Some(node) => node,
@ -114,7 +163,7 @@ impl Enemy {
} }
fn attack_player(&mut self, graph: &mut Graph) { fn attack_player(&mut self, graph: &mut Graph) {
let collaider = self.intersections(graph, 1.); let collaider = self.intersections_player(graph, 1.);
if let Some(collaider_data) = collaider { if let Some(collaider_data) = collaider {
for i in 0..collaider_data.len() { for i in 0..collaider_data.len() {
if collaider_data[i].collider != self.player_collider { if collaider_data[i].collider != self.player_collider {
@ -166,7 +215,13 @@ impl Enemy {
} }
fn get_speed(&self, context: &mut ScriptContext) -> f32 { fn get_speed(&self, context: &mut ScriptContext) -> f32 {
let collaider = self.intersections(&mut context.scene.graph, 5.); if self.dead {
return 0.0;
}
if self.win {
return 0.0;
}
let collaider = self.intersections_player(&mut context.scene.graph, 5.);
let mut see_player: bool = false; let mut see_player: bool = false;
if let Some(collaider_data) = collaider { if let Some(collaider_data) = collaider {
for i in 0..collaider_data.len() { for i in 0..collaider_data.len() {
@ -241,12 +296,18 @@ impl Enemy {
if self.fight { if self.fight {
self.current_animation = Animations::Fight; self.current_animation = Animations::Fight;
} }
if self.dead {
self.current_animation = Animations::Dead;
}
} }
fn set_fight(&mut self, context: &mut ScriptContext) { fn set_fight(&mut self, context: &mut ScriptContext) {
if self.win { if self.win {
return; return;
} }
if self.dead {
return;
}
let distance = self.distance_to_player(context); let distance = self.distance_to_player(context);
self.fight = distance < DISTANCE_TO_FIGHT && distance > -1.0 * DISTANCE_TO_FIGHT; self.fight = distance < DISTANCE_TO_FIGHT && distance > -1.0 * DISTANCE_TO_FIGHT;
if !self.fight { if !self.fight {
@ -316,6 +377,9 @@ impl ScriptTrait for Enemy {
} }
fn on_update(&mut self, context: &mut ScriptContext) { fn on_update(&mut self, context: &mut ScriptContext) {
if self.intersections_box(&mut context.scene.graph) {
self.dead = true
}
self.change_orientation(context); self.change_orientation(context);
self.animation_do(context); self.animation_do(context);
self.move_do(context); self.move_do(context);

View File

@ -1,20 +1,14 @@
use fyrox::{ use fyrox::{
asset::manager::ResourceManager, asset::manager::ResourceManager,
core::sstorage::ImmutableString, core::{algebra::{Vector2, Vector3}, math::Rect, sstorage::ImmutableString},
core::{algebra::Vector2, algebra::Vector3, math::Rect}, material::{shader::SamplerFallback, Material, MaterialResource, PropertyValue},
material::shader::SamplerFallback,
material::{Material, MaterialResource, PropertyValue},
resource::texture::Texture, resource::texture::Texture,
scene::{ scene::{
base::BaseBuilder, base::BaseBuilder, collider::InteractionGroups, dim2::{
dim2::{
collider::{ColliderBuilder, ColliderShape, CuboidShape}, collider::{ColliderBuilder, ColliderShape, CuboidShape},
rectangle::RectangleBuilder, rectangle::RectangleBuilder,
rigidbody::RigidBodyBuilder, rigidbody::RigidBodyBuilder,
}, }, graph::Graph, rigidbody::RigidBodyType, transform::TransformBuilder
graph::Graph,
rigidbody::RigidBodyType,
transform::TransformBuilder,
}, },
}; };
// /mnt/23154027-2dd3-43ea-93f1-02a8df7a3c5a/projects/fyrox/platformer/assets/data/tiles/ // /mnt/23154027-2dd3-43ea-93f1-02a8df7a3c5a/projects/fyrox/platformer/assets/data/tiles/
@ -59,6 +53,8 @@ fn build_dynamic_block(
.build(graph), .build(graph),
ColliderBuilder::new(BaseBuilder::new()) ColliderBuilder::new(BaseBuilder::new())
.with_shape(shape) .with_shape(shape)
.with_collision_groups(InteractionGroups::default())
.with_solver_groups(InteractionGroups::default())
.build(graph), .build(graph),
]) ])
// Optional, set name of tile // Optional, set name of tile
@ -254,5 +250,8 @@ pub fn build_map(graph: &mut Graph, resource_manager: &ResourceManager) {
build_air_island_block(resource_manager, graph, -18.0, bottom_y + 4.0); build_air_island_block(resource_manager, graph, -18.0, bottom_y + 4.0);
build_air_island_block(resource_manager, graph, -21.0, bottom_y + 5.5); build_air_island_block(resource_manager, graph, -21.0, bottom_y + 5.5);
// TODO: for test collision
// build_box_block(resource_manager, graph, 7.5, bottom_y+ 2.5);
} }

View File

@ -322,79 +322,37 @@
), ),
node_infos: { node_infos: {
( (
index: 65, index: 69,
generation: 1,
): (
is_expanded: true,
),
(
index: 82,
generation: 1,
): (
is_expanded: true,
),
(
index: 53,
generation: 1,
): (
is_expanded: true,
),
(
index: 18,
generation: 1,
): (
is_expanded: true,
),
(
index: 45,
generation: 1,
): (
is_expanded: true,
),
(
index: 28,
generation: 1, generation: 1,
): ( ): (
is_expanded: false, is_expanded: false,
), ),
( (
index: 33, index: 66,
generation: 1,
): (
is_expanded: true,
),
(
index: 16,
generation: 1,
): (
is_expanded: true,
),
(
index: 48,
generation: 1,
): (
is_expanded: true,
),
(
index: 4,
generation: 1,
): (
is_expanded: true,
),
(
index: 39,
generation: 1, generation: 1,
): ( ): (
is_expanded: false, is_expanded: false,
), ),
( (
index: 22, index: 71,
generation: 1,
): (
is_expanded: true,
),
(
index: 21,
generation: 1, generation: 1,
): ( ): (
is_expanded: false, is_expanded: false,
), ),
( (
index: 7, index: 11,
generation: 1,
): (
is_expanded: false,
),
(
index: 77,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
@ -406,67 +364,7 @@
is_expanded: true, is_expanded: true,
), ),
( (
index: 2, index: 62,
generation: 1,
): (
is_expanded: true,
),
(
index: 40,
generation: 1,
): (
is_expanded: true,
),
(
index: 15,
generation: 1,
): (
is_expanded: true,
),
(
index: 84,
generation: 1,
): (
is_expanded: false,
),
(
index: 20,
generation: 1,
): (
is_expanded: true,
),
(
index: 51,
generation: 1,
): (
is_expanded: true,
),
(
index: 78,
generation: 1,
): (
is_expanded: false,
),
(
index: 90,
generation: 1,
): (
is_expanded: false,
),
(
index: 36,
generation: 1,
): (
is_expanded: false,
),
(
index: 95,
generation: 1,
): (
is_expanded: true,
),
(
index: 80,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
@ -478,115 +376,61 @@
is_expanded: false, is_expanded: false,
), ),
( (
index: 63, index: 65,
generation: 1,
): (
is_expanded: false,
),
(
index: 26,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
( (
index: 86, index: 10,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
( (
index: 66, index: 51,
generation: 1,
): (
is_expanded: false,
),
(
index: 57,
generation: 1,
): (
is_expanded: false,
),
(
index: 44,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
( (
index: 35, index: 16,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
( (
index: 29, index: 14,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
( (
index: 6, index: 20,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
( (
index: 1, index: 82,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
( (
index: 34, index: 58,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
( (
index: 23, index: 53,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
( (
index: 93, index: 2,
generation: 1,
): (
is_expanded: false,
),
(
index: 3,
generation: 1,
): (
is_expanded: true,
),
(
index: 77,
generation: 1,
): (
is_expanded: true,
),
(
index: 56,
generation: 1,
): (
is_expanded: true,
),
(
index: 0,
generation: 1,
): (
is_expanded: true,
),
(
index: 94,
generation: 1,
): (
is_expanded: true,
),
(
index: 31,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
@ -598,199 +442,13 @@
is_expanded: true, is_expanded: true,
), ),
( (
index: 62, index: 4,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
), ),
( (
index: 43, index: 93,
generation: 1,
): (
is_expanded: false,
),
(
index: 89,
generation: 1,
): (
is_expanded: true,
),
(
index: 83,
generation: 1,
): (
is_expanded: true,
),
(
index: 74,
generation: 1,
): (
is_expanded: true,
),
(
index: 11,
generation: 1,
): (
is_expanded: false,
),
(
index: 37,
generation: 1,
): (
is_expanded: false,
),
(
index: 25,
generation: 1,
): (
is_expanded: false,
),
(
index: 12,
generation: 1,
): (
is_expanded: false,
),
(
index: 19,
generation: 1,
): (
is_expanded: false,
),
(
index: 47,
generation: 1,
): (
is_expanded: true,
),
(
index: 41,
generation: 1,
): (
is_expanded: true,
),
(
index: 59,
generation: 1,
): (
is_expanded: true,
),
(
index: 5,
generation: 1,
): (
is_expanded: true,
),
(
index: 91,
generation: 1,
): (
is_expanded: true,
),
(
index: 38,
generation: 1,
): (
is_expanded: true,
),
(
index: 8,
generation: 1,
): (
is_expanded: false,
),
(
index: 58,
generation: 1,
): (
is_expanded: true,
),
(
index: 71,
generation: 1,
): (
is_expanded: true,
),
(
index: 46,
generation: 1,
): (
is_expanded: false,
),
(
index: 75,
generation: 1,
): (
is_expanded: false,
),
(
index: 24,
generation: 1,
): (
is_expanded: false,
),
(
index: 13,
generation: 1,
): (
is_expanded: true,
),
(
index: 50,
generation: 1,
): (
is_expanded: true,
),
(
index: 49,
generation: 1,
): (
is_expanded: false,
),
(
index: 69,
generation: 1,
): (
is_expanded: false,
),
(
index: 92,
generation: 1,
): (
is_expanded: true,
),
(
index: 9,
generation: 1,
): (
is_expanded: false,
),
(
index: 54,
generation: 1,
): (
is_expanded: true,
),
(
index: 81,
generation: 1,
): (
is_expanded: false,
),
(
index: 14,
generation: 1,
): (
is_expanded: true,
),
(
index: 72,
generation: 1,
): (
is_expanded: false,
),
(
index: 17,
generation: 1, generation: 1,
): ( ): (
is_expanded: false, is_expanded: false,
@ -801,6 +459,228 @@
): ( ): (
is_expanded: false, is_expanded: false,
), ),
(
index: 38,
generation: 1,
): (
is_expanded: true,
),
(
index: 31,
generation: 1,
): (
is_expanded: true,
),
(
index: 13,
generation: 1,
): (
is_expanded: true,
),
(
index: 33,
generation: 1,
): (
is_expanded: true,
),
(
index: 78,
generation: 1,
): (
is_expanded: false,
),
(
index: 37,
generation: 1,
): (
is_expanded: false,
),
(
index: 57,
generation: 1,
): (
is_expanded: false,
),
(
index: 18,
generation: 1,
): (
is_expanded: true,
),
(
index: 47,
generation: 1,
): (
is_expanded: true,
),
(
index: 63,
generation: 1,
): (
is_expanded: false,
),
(
index: 40,
generation: 1,
): (
is_expanded: true,
),
(
index: 56,
generation: 1,
): (
is_expanded: true,
),
(
index: 74,
generation: 1,
): (
is_expanded: true,
),
(
index: 59,
generation: 1,
): (
is_expanded: true,
),
(
index: 48,
generation: 1,
): (
is_expanded: true,
),
(
index: 5,
generation: 1,
): (
is_expanded: true,
),
(
index: 39,
generation: 1,
): (
is_expanded: false,
),
(
index: 3,
generation: 1,
): (
is_expanded: true,
),
(
index: 24,
generation: 1,
): (
is_expanded: false,
),
(
index: 80,
generation: 1,
): (
is_expanded: true,
),
(
index: 81,
generation: 1,
): (
is_expanded: false,
),
(
index: 12,
generation: 1,
): (
is_expanded: false,
),
(
index: 45,
generation: 1,
): (
is_expanded: true,
),
(
index: 17,
generation: 1,
): (
is_expanded: false,
),
(
index: 83,
generation: 1,
): (
is_expanded: true,
),
(
index: 29,
generation: 1,
): (
is_expanded: true,
),
(
index: 43,
generation: 1,
): (
is_expanded: false,
),
(
index: 28,
generation: 1,
): (
is_expanded: false,
),
(
index: 84,
generation: 1,
): (
is_expanded: false,
),
(
index: 95,
generation: 1,
): (
is_expanded: true,
),
(
index: 7,
generation: 1,
): (
is_expanded: true,
),
(
index: 44,
generation: 1,
): (
is_expanded: true,
),
(
index: 90,
generation: 1,
): (
is_expanded: false,
),
(
index: 15,
generation: 1,
): (
is_expanded: true,
),
(
index: 91,
generation: 1,
): (
is_expanded: true,
),
(
index: 52,
generation: 1,
): (
is_expanded: true,
),
(
index: 94,
generation: 1,
): (
is_expanded: true,
),
( (
index: 60, index: 60,
generation: 1, generation: 1,
@ -808,7 +688,19 @@
is_expanded: false, is_expanded: false,
), ),
( (
index: 10, index: 22,
generation: 1,
): (
is_expanded: false,
),
(
index: 23,
generation: 1,
): (
is_expanded: true,
),
(
index: 41,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,
@ -820,7 +712,97 @@
is_expanded: false, is_expanded: false,
), ),
( (
index: 21, index: 34,
generation: 1,
): (
is_expanded: true,
),
(
index: 86,
generation: 1,
): (
is_expanded: true,
),
(
index: 49,
generation: 1,
): (
is_expanded: false,
),
(
index: 54,
generation: 1,
): (
is_expanded: true,
),
(
index: 92,
generation: 1,
): (
is_expanded: true,
),
(
index: 8,
generation: 1,
): (
is_expanded: false,
),
(
index: 19,
generation: 1,
): (
is_expanded: false,
),
(
index: 25,
generation: 1,
): (
is_expanded: false,
),
(
index: 36,
generation: 1,
): (
is_expanded: false,
),
(
index: 6,
generation: 1,
): (
is_expanded: true,
),
(
index: 72,
generation: 1,
): (
is_expanded: false,
),
(
index: 9,
generation: 1,
): (
is_expanded: false,
),
(
index: 50,
generation: 1,
): (
is_expanded: true,
),
(
index: 75,
generation: 1,
): (
is_expanded: false,
),
(
index: 26,
generation: 1,
): (
is_expanded: true,
),
(
index: 46,
generation: 1, generation: 1,
): ( ): (
is_expanded: false, is_expanded: false,
@ -832,7 +814,25 @@
is_expanded: true, is_expanded: true,
), ),
( (
index: 52, index: 35,
generation: 1,
): (
is_expanded: true,
),
(
index: 89,
generation: 1,
): (
is_expanded: true,
),
(
index: 1,
generation: 1,
): (
is_expanded: true,
),
(
index: 0,
generation: 1, generation: 1,
): ( ): (
is_expanded: true, is_expanded: true,