docs: document more stuff and better
This commit is contained in:
parent
514e80c1a0
commit
29ddd128c6
@ -2,7 +2,7 @@ extends Node2D
|
|||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
for flock in get_children():
|
for flock in get_children():
|
||||||
for i in 100: spawnBoid(flock)
|
for i in 1000: spawnBoid(flock)
|
||||||
|
|
||||||
func spawnBoid(flock: Flock2D) -> void:
|
func spawnBoid(flock: Flock2D) -> void:
|
||||||
var boid: Boid2D = preload("../example_boid.tscn").instantiate()
|
var boid: Boid2D = preload("../example_boid.tscn").instantiate()
|
||||||
|
@ -5,6 +5,8 @@ use crate::{BoidProperties, Flock2D};
|
|||||||
|
|
||||||
#[derive(GodotClass)]
|
#[derive(GodotClass)]
|
||||||
#[class(init, base=Node2D)]
|
#[class(init, base=Node2D)]
|
||||||
|
/// A 2D boid.
|
||||||
|
/// Doesn't do anything on it's own, must be a child of a `Flock2D`.
|
||||||
pub struct Boid2D {
|
pub struct Boid2D {
|
||||||
#[export]
|
#[export]
|
||||||
/// The properties of this boid.
|
/// The properties of this boid.
|
||||||
|
@ -5,6 +5,8 @@ use crate::{to_glam_vec, BoidProperties, Flock3D};
|
|||||||
|
|
||||||
#[derive(GodotClass)]
|
#[derive(GodotClass)]
|
||||||
#[class(init, base=Node3D)]
|
#[class(init, base=Node3D)]
|
||||||
|
/// A 3D boid.
|
||||||
|
/// Doesn't do anything on it's own, must be a child of a `Flock3D`.
|
||||||
pub struct Boid3D {
|
pub struct Boid3D {
|
||||||
#[export]
|
#[export]
|
||||||
/// The properties of this boid.
|
/// The properties of this boid.
|
||||||
|
@ -2,6 +2,7 @@ use godot::prelude::*;
|
|||||||
|
|
||||||
#[derive(Default, Clone, Debug, GodotClass)]
|
#[derive(Default, Clone, Debug, GodotClass)]
|
||||||
#[class(tool, init, base=Resource)]
|
#[class(tool, init, base=Resource)]
|
||||||
|
/// Properties for a 2D/3D boid.
|
||||||
pub struct BoidProperties {
|
pub struct BoidProperties {
|
||||||
#[export]
|
#[export]
|
||||||
#[init(val = 4.0)]
|
#[init(val = 4.0)]
|
||||||
|
@ -7,6 +7,8 @@ use super::Flock;
|
|||||||
|
|
||||||
#[derive(GodotClass)]
|
#[derive(GodotClass)]
|
||||||
#[class(init, base=Node2D)]
|
#[class(init, base=Node2D)]
|
||||||
|
/// A flock that holds 2D boids.
|
||||||
|
/// Adding `Boid2D` as a child of this node will register the boid.
|
||||||
pub struct Flock2D {
|
pub struct Flock2D {
|
||||||
#[export]
|
#[export]
|
||||||
/// Properties of this flock.
|
/// Properties of this flock.
|
||||||
@ -58,6 +60,7 @@ impl INode2D for Flock2D {
|
|||||||
impl Flock2D {
|
impl Flock2D {
|
||||||
#[func]
|
#[func]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
|
/// Retrieve the ID of this flock.
|
||||||
pub fn get_id(&self) -> i64 {
|
pub fn get_id(&self) -> i64 {
|
||||||
self.base().instance_id().to_i64()
|
self.base().instance_id().to_i64()
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,8 @@ use super::Flock;
|
|||||||
|
|
||||||
#[derive(GodotClass)]
|
#[derive(GodotClass)]
|
||||||
#[class(init, base=Node3D)]
|
#[class(init, base=Node3D)]
|
||||||
|
/// A flock that holds 3D boids.
|
||||||
|
/// Adding `Boid3D` as a child of this node will register the boid.
|
||||||
pub struct Flock3D {
|
pub struct Flock3D {
|
||||||
#[export]
|
#[export]
|
||||||
/// Properties of this flock.
|
/// Properties of this flock.
|
||||||
@ -60,6 +62,7 @@ impl INode3D for Flock3D {
|
|||||||
impl Flock3D {
|
impl Flock3D {
|
||||||
#[func]
|
#[func]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
|
/// Retrieve the ID of this flock.
|
||||||
pub fn get_id(&self) -> i64 {
|
pub fn get_id(&self) -> i64 {
|
||||||
self.base().instance_id().to_i64()
|
self.base().instance_id().to_i64()
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ use godot::prelude::*;
|
|||||||
|
|
||||||
#[derive(Default, Clone, Debug, GodotClass)]
|
#[derive(Default, Clone, Debug, GodotClass)]
|
||||||
#[class(tool, init, base=Resource)]
|
#[class(tool, init, base=Resource)]
|
||||||
|
/// Properties for a 2D/3D flock.
|
||||||
pub struct FlockProperties {
|
pub struct FlockProperties {
|
||||||
#[export]
|
#[export]
|
||||||
#[init(val = 625.0)]
|
#[init(val = 625.0)]
|
||||||
|
Loading…
Reference in New Issue
Block a user