BITKit/Packages/Runtime~/Unity/Common/Scripts/Entity/Components/HotFix/EntityLocalPlayer.cs

43 lines
1.2 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using BITKit;
namespace BITKit.Entities
{
public class EntityLocalPlayer : EntityComponent
{
public override void OnStart()
{
base.OnStart();
entity.Set<bool>(nameof(EntityComponent.isLocalPlayer), true);
if (isSpawned is false)
{
foreach (var x in GetComponentsInChildren<IEntityComponent>(true))
{
x.OnSpawn();
}
entity.Set<bool>(nameof(isSpawned), true);
}
IEntity.LocalPlayer = entity;
IEntity.OnSpawnLocalPlayer.Invoke(entity);
}
public override void OnDestroyComponent()
{
base.OnDestroyComponent();
if (isSpawned)
{
foreach (var x in GetComponentsInChildren<IEntityComponent>(true))
{
x.OnDespawn();
}
entity.Set<bool>(nameof(isSpawned), false);
}
IEntity.LocalPlayer = null;
}
public override void OnSpawn()
{
BIT4Log.Log<EntityLocalPlayer>("已创建本地玩家");
}
}
}