32 lines
885 B
C#
32 lines
885 B
C#
|
using System;
|
||
|
using System.Collections;
|
||
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
|
||
|
|
||
|
namespace BITKit.WorldNode
|
||
|
{
|
||
|
public sealed class UnityNode : MonoBehaviour,IWorldNode
|
||
|
{
|
||
|
[SerializeReference, SubclassSelector] private IWorldNodeService worldNodeService = new WorldNodeService();
|
||
|
[SerializeReference, SubclassSelector] private IWorldNode worldNode;
|
||
|
public int Id { get; set; }
|
||
|
|
||
|
public object WorldObject
|
||
|
{
|
||
|
get => gameObject;
|
||
|
set=>throw new InvalidOperationException("Cannot set WorldObject");
|
||
|
}
|
||
|
private void Start()
|
||
|
{
|
||
|
Id = gameObject.GetInstanceID();
|
||
|
worldNode.Id = Id;
|
||
|
worldNode.WorldObject = gameObject;
|
||
|
worldNodeService.RegisterNode(worldNode);
|
||
|
worldNode.Initialize();
|
||
|
Destroy(this);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|