Files
heros/assets/script/game/role/view/RoleViewOwn.ts
2024-07-17 16:14:14 +08:00

43 lines
1.3 KiB
TypeScript

/*
* @Author: dgflash
* @Date: 2022-08-04 15:08:35
* @LastEditors: dgflash
* @LastEditTime: 2022-08-04 15:28:02
*/
import { Component, v3, _decorator } from "cc";
import { smc } from "../../common/SingletonModuleComp";
import Charactor from "../../map/view/map/charactor/Charactor";
import MapRoadUtils from "../../map/view/map/road/MapRoadUtils";
import RoadNode from "../../map/view/map/road/RoadNode";
const { ccclass, property } = _decorator;
@ccclass('RoleViewOwn')
export class RoleViewOwn extends Component {
private charactor!: Charactor;
onLoad() {
this.charactor = this.getComponent(Charactor)!;
this.node.on(Charactor.NextRoadNode, this.onNextRoadNode, this);
}
private onNextRoadNode(rn: RoadNode) {
var key: string = rn.dx + "," + rn.dy;
var mv = smc.map.MapView;
var delivery = mv.deliverys.get(key);
if (delivery && mv.isTransfer == false) {
this.charactor.stop();
mv.transfer(delivery.toMapId, this.aStarToVec3(delivery.start));
}
}
private aStarToVec3(str: string) {
let array = str.split(",");
let x = parseInt(array[0]);
let y = parseInt(array[1]);
let p = MapRoadUtils.instance.getPixelByDerect(x, y);
return v3(p.x, p.y);
}
}