BITFALL/Assets/Artists/Scripts/Entity/NetEntitesManager.cs

32 lines
872 B
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Net.Share;
using BITKit;
using BITKit.Entities;
using Net.Client;
namespace BITFALL.Entites
{
[CreateOnStart(BITAppForUnity.Path.Services,nameof(NetEntitesManager))]
public class NetEntitesManager : MonoBehaviour
{
public Entity proxy;
async void Start()
{
EntitiesManager.CreateFactory = CreateFactory;
var client = await DI.GetAsync<ClientBase>();
client.AddRpcHandle(this);
}
[Rpc]
public void RpcEntityHeartbeat(int entityId)
{
var entity = EntitiesManager.GetOrAdd(entityId, CreateFactory);
}
IEntity CreateFactory(int id)
{
var entity = Instantiate(proxy);
entity.Id = id;
return entity;
}
}
}