43 lines
1.2 KiB
C#
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>("已创建本地玩家");
|
|
}
|
|
|
|
}
|
|
} |