PC-20230316NUNE\Administrator 894100ae37 提交Unity 联机Pro
2024-08-17 14:27:18 +08:00

46 lines
1.3 KiB
C#

using DotRecast.Core.Collections;
using Game.Input;
using Game.JNGFrame.Logic.Entity;
using Game.JNGFrame.Logic.Entity.Contexts;
using JNGame.Math;
using JNGame.Sync.Frame.Service;
using JNGame.Sync.System;
using UnityEngine;
namespace Game.Logic.System
{
/// <summary>
/// 玩家逻辑
/// </summary>
public class DPlayerSystem : DGBasisSystem
{
//Node 节点
public EDPlayer[] Nodes => NodeContext.GetHostEntities();
public EDPlayerContext NodeContext => Contexts.GetContext<EDPlayerContext>();
public DInputSystem Input => GetSystem<DInputSystem>();
public override void OnSyncUpdate()
{
base.OnSyncUpdate();
//创建角色
GetSystem<DInputSystem>().SInput<IDWorld>().ForEach(child =>
{
var key = child.Key;
var idWorld = (IDWorld)child.Value;
if (idWorld != null && idWorld.IsPlayerCreate)
{
var entity = NodeContext.CreateEntity();
entity.Controller.AuthBind(key);
var spawn = new LVector3(Random.Float(0, 0),Random.Float(0, 0),Random.Float(0, 0));
entity.Move.SetPosition(spawn);
}
});
}
}
}