// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
using FlaxEngine;
namespace FlaxEditor.SceneGraph.Actors
{
///
/// Scene tree node for actor type.
///
[HideInEditor]
public sealed class FoliageNode : ActorNode
{
///
public FoliageNode(Actor actor)
: base(actor)
{
}
}
///
/// Scene tree node for instance of .
///
[HideInEditor]
public sealed class FoliageInstanceNode : SceneGraphNode
{
///
/// The foliage actor that owns this instance.
///
public Foliage Actor;
///
/// Index of the foliage instance.
///
public int Index;
///
public FoliageInstanceNode(Foliage actor, int index)
: base(GetSubID(actor.ID, index))
{
Actor = actor;
Index = index;
}
///
public override string Name => "Foliage Instance";
///
public override SceneNode ParentScene
{
get
{
var scene = Actor ? Actor.Scene : null;
return scene != null ? SceneGraphFactory.FindNode(scene.ID) as SceneNode : null;
}
}
///
public override Transform Transform
{
get => Actor.GetInstance(Index).Transform;
set => Actor.SetInstanceTransform(Index, ref value);
}
///
public override bool IsActive => Actor.IsActive;
///
public override bool IsActiveInHierarchy => Actor.IsActiveInHierarchy;
///
public override int OrderInParent
{
get => Index;
set { }
}
}
}