mirror of
https://gitee.com/dgflash/oops-framework.git
synced 2026-06-06 19:19:33 +08:00
调整ECS文档与最新API对应
This commit is contained in:
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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, "释放语言文字资源");
|
||||
}
|
||||
}
|
||||
@@ -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)!;
|
||||
|
||||
Reference in New Issue
Block a user