gewuyou ff553977e3 chore(license): 补齐 Apache-2.0 文件头治理
- 新增许可证文件头检查与修复脚本

- 补充维护者手动修复 PR 工作流和 CI 校验

- 更新贡献指南中的文件头说明

- 补齐仓库维护源码和配置文件的许可证声明
2026-05-03 19:39:49 +08:00

41 lines
1.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Copyright (c) 2025-2026 GeWuYou
// SPDX-License-Identifier: Apache-2.0
using Arch.Core;
using GFramework.Ecs.Arch.Components;
namespace GFramework.Ecs.Arch.Systems;
/// <summary>
/// 移动系统 - 继承 ArchSystemAdapter
/// 负责更新具有位置和速度组件的实体的位置
/// </summary>
public sealed class MovementSystem : ArchSystemAdapter<float>
{
private QueryDescription _query;
/// <summary>
/// Arch 系统初始化
/// </summary>
protected override void OnArchInitialize()
{
// 创建查询查找所有同时拥有Position和Velocity组件的实体
_query = new QueryDescription()
.WithAll<Position, Velocity>();
}
/// <summary>
/// 系统更新方法,每帧调用一次
/// </summary>
/// <param name="deltaTime">帧间隔时间</param>
protected override void OnUpdate(in float deltaTime)
{
// 查询并更新所有符合条件的实体
var f = deltaTime;
World.Query(in _query, (ref Position pos, ref Velocity vel) =>
{
pos.X += vel.X * f;
pos.Y += vel.Y * f;
});
}
}