63 lines
1.6 KiB
C#
63 lines
1.6 KiB
C#
|
using System;
|
||
|
using System.Collections;
|
||
|
using System.Collections.Generic;
|
||
|
using System.IO.Ports;
|
||
|
using BITKit;
|
||
|
using BITKit.Entities;
|
||
|
using BITKit.WorldNode;
|
||
|
using Microsoft.Extensions.DependencyInjection;
|
||
|
using Net.Project.B.WorldNode;
|
||
|
using Project.B.Item;
|
||
|
using UnityEngine;
|
||
|
|
||
|
namespace Net.Project.B.Item
|
||
|
{
|
||
|
public class WorldItemPlaceholder : MonoBehaviour
|
||
|
{
|
||
|
[SerializeField] private ScriptableItem scriptableItem;
|
||
|
[SerializeField] private SpriteRenderer spriteRenderer;
|
||
|
|
||
|
[BIT]
|
||
|
public void Rebuild()
|
||
|
{
|
||
|
if (!scriptableItem) return;
|
||
|
if (spriteRenderer)
|
||
|
{
|
||
|
spriteRenderer.sprite = scriptableItem.Icon;
|
||
|
|
||
|
spriteRenderer.material = spriteRenderer.sharedMaterial;
|
||
|
}
|
||
|
|
||
|
gameObject.name = scriptableItem.Name;
|
||
|
}
|
||
|
|
||
|
private void Start()
|
||
|
{
|
||
|
var entitiesService = BITApp.ServiceProvider.GetRequiredService<IEntitiesService>();
|
||
|
|
||
|
if (entitiesService.Entities.TryGetValue(gameObject.GetInstanceID(), out var entity) is false)
|
||
|
{
|
||
|
Debug.LogWarning("Not Registered",transform);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
var node = new UnityItemNode()
|
||
|
{
|
||
|
ItemPath = scriptableItem.name,
|
||
|
};
|
||
|
var info = new WorldInfoNode()
|
||
|
{
|
||
|
Name = scriptableItem.Name,
|
||
|
Description = scriptableItem.Description,
|
||
|
};
|
||
|
|
||
|
entity.ServiceCollection.AddSingleton(node);
|
||
|
entity.ServiceCollection.AddSingleton(info);
|
||
|
|
||
|
|
||
|
Destroy(this);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|