调整ECS文档与最新API对应

This commit is contained in:
dgflash
2022-07-21 16:51:02 +08:00
parent 646b241e4f
commit a3acaea17e
5 changed files with 28 additions and 42 deletions

View File

@@ -3,7 +3,7 @@
* @Author: dgflash
* @Date: 2021-11-18 17:47:56
* @LastEditors: dgflash
* @LastEditTime: 2022-06-14 19:54:23
* @LastEditTime: 2022-07-21 16:48:23
*/
import { Node, Vec3 } from "cc";
import { ViewUtil } from "../../../../extensions/oops-framework/assets/core/utils/ViewUtil";

View File

@@ -2,7 +2,7 @@
* @Author: dgflash
* @Date: 2022-01-25 17:49:26
* @LastEditors: dgflash
* @LastEditTime: 2022-06-14 19:55:10
* @LastEditTime: 2022-07-21 16:49:00
*/
import { Message } from "../../../../../extensions/oops-framework/assets/core/common/event/MessageManager";

View File

@@ -168,8 +168,7 @@ export class RoomSystem extends ecs.RootSystem {
}
}
export class MoveSystem extends ecs.ComblockSystem<AvatarEntity> implements ecs.IEntityEnterSystem {
export class MoveSystem extends ecs.ComblockSystem<AvatarEntity> implements ecs.IEntityEnterSystem, ecs.ISystemUpdate {
init() {
}
@@ -179,49 +178,39 @@ export class MoveSystem extends ecs.ComblockSystem<AvatarEntity> implements ecs.
}
// 实体第一次进入MoveSystem会进入此方法
entityEnter(entities: AvatarEntity[]) {
for(e of entities) {
e.Move.speed = 100;
}
entityEnter(e: AvatarEntity) {
e.Move.speed = 100;
}
// 每帧都会更新
update(entities: AvatarEntity[]) {
for(let e of entities) {
let moveComp = e.Move; // e.get(MoveComponent);
lel position = e.Transform.position;
position.x += moveComp.heading.x * moveComp.speed * this.dt;
position.y += moveComp.heading.y * moveComp.speed * this.dt;
e.Transform.angle = cc.misc.lerp(e.Transform.angle, Math.atan2(moveComp.speed.y, moveComp.speed.x) * cc.macro.DEG, dt);
}
update(e: AvatarEntity) {
let moveComp = e.Move; // e.get(MoveComponent);
lel position = e.Transform.position;
position.x += moveComp.heading.x * moveComp.speed * this.dt;
position.y += moveComp.heading.y * moveComp.speed * this.dt;
e.Transform.angle = cc.misc.lerp(e.Transform.angle, Math.atan2(moveComp.speed.y, moveComp.speed.x) * cc.macro.DEG, dt);
}
}
export class RenderSystem extends.ecs.ComblockSystem<AvatarEntity> implements ecs.IEntityEnterSystem, ecs.IEntityRemoveSystem {
export class RenderSystem extends ecs.ComblockSystem<AvatarEntity> implements ecs.IEntityEnterSystem, ecs.IEntityRemoveSystem, ecs.ISystemUpdate {
filter(): ecs.IMatcher {
return ecs.allOf(NodeComponent, TransformComponent);
}
// 实体第一次进入MoveSystem会进入此方法
entityEnter(entities: AvatarEntity[]) {
for(e of entities) {
e.Node.val.active = true;
}
entityEnter(e: AvatarEntity) {
e.Node.val.active = true;
}
entityRemove(entities: AvatarEntity[]) {
for(let e of entities) {
// Global.avatarNodePool.put(e.Node.val);
}
entityRemove(e: AvatarEntity) {
}
update(entities: AvatarEntity[]) {
for(let e of entities) {
e.Node.val.setPosition(e.Transform.position);
e.Node.val.angle = e.Transform.angle;
}
update(e: AvatarEntity) {
e.Node.val.setPosition(e.Transform.position);
e.Node.val.angle = e.Transform.angle;
}
}
```
@@ -230,7 +219,7 @@ export class RenderSystem extends.ecs.ComblockSystem<AvatarEntity> implements ec
```TypeScript
const { ccclass, property } = cc._decorator;
@ccclass
export class GameControllerBehaviour extends cc.Component {
export class GameControllerBehaviour extends Component {
rootSystem: RootSystem = null;
onLoad() {
@@ -241,7 +230,6 @@ export class GameControllerBehaviour extends cc.Component {
createAvatar(node: cc.Node) {
let entity = ecs.createEntityWithComps<AvatarEntity>(NodeComponent, TransformComponent, MoveComponent);
entity.Node.val = node;
// entity.Move.speed = 100;
}
update(dt: number) {
@@ -260,7 +248,6 @@ const { ccclass, property } = _decorator;
@ccclass('CCComp')
export abstract class CCComp extends Component implements ecs.IComp {
static tid: number = -1;
static compName: string;

View File

@@ -2,7 +2,7 @@
* @Author: dgflash
* @Date: 2021-07-03 16:13:17
* @LastEditors: dgflash
* @LastEditTime: 2022-03-11 17:15:42
* @LastEditTime: 2022-07-21 16:08:59
*/
import { director, error, JsonAsset, warn } from "cc";
import { resLoader } from "../../common/loader/ResLoader";
@@ -90,10 +90,10 @@ export class LanguagePack {
public releaseLanguageAssets(lang: string) {
let langpath = `${this._langTexturePath}/${lang}`;
resLoader.releaseDir(langpath);
Logger.logBusiness(langpath, "释放语言图片资源");
Logger.logView(langpath, "释放语言图片资源");
let langjsonpath = `${this._langjsonPath}/${lang}`;
resLoader.release(langjsonpath);
Logger.logBusiness(langjsonpath, "释放语言文字资源");
Logger.logView(langjsonpath, "释放语言文字资源");
}
}

View File

@@ -2,12 +2,11 @@
* @Author: dgflash
* @Date: 2021-11-24 15:51:01
* @LastEditors: dgflash
* @LastEditTime: 2022-03-11 17:13:46
* @LastEditTime: 2022-07-21 16:08:10
*/
import { CCString, Component, Size, Sprite, SpriteFrame, UITransform, _decorator } from "cc";
import { EDITOR } from "cc/env";
import { resLoader } from "../../common/loader/ResLoader";
import { Logger } from "../../common/log/Logger";
import { LanguageData } from "./LanguageData";
const { ccclass, property, menu } = _decorator;
@@ -39,7 +38,7 @@ export class LanguageSprite extends Component {
/** 更新语言 */
language() {
this.updateSprite();
this.updateSprite();
}
private updateSprite() {
@@ -47,7 +46,7 @@ export class LanguageSprite extends Component {
let path = `language/texture/${LanguageData.current}/${this.dataID}/spriteFrame`;
let res: SpriteFrame | null = resLoader.get(path, SpriteFrame);
if (!res) {
Logger.erroring("[LanguageSprite] 资源不存在 " + path);
console.error("[LanguageSprite] 资源不存在 " + path);
}
else {
let spcomp: Sprite = this.getComponent(Sprite)!;