32 lines
872 B
C#
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;
|
|
}
|
|
}
|
|
} |