using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using BITKit; using BITKit.Entities; using Net; using Net.Component; using Net.Client; namespace BITFALL.Entites { public class EntityGDNetPlayer : EntityComponent { public override void OnStart() { entity.Id = Guid.NewGuid().GetHashCode(); BITNet.OnConnected+=OnConnected; BITNet.OnDisconnect += OnDisconnect; IEntity.LocalPlayer = entity; IEntity.OnSpawnLocalPlayer(entity); } public override void OnDestroyComponent() { //DI.Get().client.stateha(Net.Share.NetworkState.Connected,OnConnected); //DI.Get().client.AddStateHandler(Net.Share.NetworkState.Disconnect,OnDisconnect); } void OnConnected() { entity.Set(nameof(EntityComponent.isLocalPlayer), true); foreach (var x in GetComponentsInChildren(true)) { x.OnSpawn(); } entity.Set(nameof(isSpawned), true); } void OnDisconnect() { if (entity.Get(nameof(isSpawned))) { entity.Set(nameof(EntityComponent.isLocalPlayer), true); foreach (var x in GetComponentsInChildren(true)) { x.OnDespawn(); } entity.Set(nameof(isSpawned), false); } } public override void OnFixedUpdate(float deltaTime) { } } }