90 lines
2.3 KiB
C#
90 lines
2.3 KiB
C#
using Fantasy.Entitas;
|
|
using Fantasy.Entitas.Interface;
|
|
using NBF.Fishing2;
|
|
using UnityEngine;
|
|
|
|
namespace NBF
|
|
{
|
|
public class PlayerViewComponent : Entity
|
|
{
|
|
public Player Player { get; private set; }
|
|
|
|
public PlayerUnityComponent Unity { get; private set; }
|
|
|
|
#region 生命周期
|
|
|
|
public void Awake()
|
|
{
|
|
Player = GetParent<Player>();
|
|
var gameObject = PrefabsHelper.CreatePlayer(SceneSettings.Instance.Node);
|
|
Unity = gameObject.GetComponent<PlayerUnityComponent>();
|
|
Unity.Player = Player;
|
|
CreatePlayerModel();
|
|
if (Player.IsSelf)
|
|
{
|
|
CameraManager.Instance.SetFppLook(Unity);
|
|
}
|
|
|
|
Unity.transform.localPosition = new Vector3(484, 1, 422);
|
|
}
|
|
|
|
public void Update()
|
|
{
|
|
}
|
|
|
|
public void LateUpdate()
|
|
{
|
|
Player.EyeAngle = GameUtils.GetVerticalAngle(Unity.transform, Unity.FppLook);
|
|
}
|
|
|
|
public void Destroy()
|
|
{
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 模型创建
|
|
|
|
private void CreatePlayerModel()
|
|
{
|
|
var modelObject = PrefabsHelper.CreatePlayer(Unity.Root, "Human_Male");
|
|
modelObject.transform.localPosition = new Vector3(0, 1, 0);
|
|
Unity.ModelAsset = modelObject.GetComponent<PlayerModelAsset>();
|
|
Unity.ModelAsset.SetPlayer(Unity.FppLook);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
|
|
public class PlayerViewAwakeSystem : AwakeSystem<PlayerViewComponent>
|
|
{
|
|
protected override void Awake(PlayerViewComponent self)
|
|
{
|
|
self.Awake();
|
|
}
|
|
}
|
|
|
|
public class PlayerViewDestroySystem : DestroySystem<PlayerViewComponent>
|
|
{
|
|
protected override void Destroy(PlayerViewComponent self)
|
|
{
|
|
self.Destroy();
|
|
}
|
|
}
|
|
|
|
public class PlayerViewUpdateSystem : UpdateSystem<PlayerViewComponent>
|
|
{
|
|
protected override void Update(PlayerViewComponent self)
|
|
{
|
|
self.Update();
|
|
}
|
|
}
|
|
|
|
public class PlayerViewLateUpdateSystem : LateUpdateSystem<PlayerViewComponent>
|
|
{
|
|
protected override void LateUpdate(PlayerViewComponent self)
|
|
{
|
|
self.LateUpdate();
|
|
}
|
|
}
|
|
} |