first commit

This commit is contained in:
ytc1012
2025-11-18 18:38:53 +08:00
commit bea9db4488
1582 changed files with 335346 additions and 0 deletions

View File

@@ -0,0 +1,57 @@
import { _decorator, Node, Vec2, Vec3 } from 'cc';
const { ccclass, property } = _decorator;
import MapBaseLayerLogic from "./MapBaseLayerLogic";
import CityLogic from "./entries/CityLogic";
import MapUtil from "./MapUtil";
import { MapCityData } from "./MapCityProxy";
import { EventMgr } from '../utils/EventMgr';
@ccclass('MapCityLogic')
export default class MapCityLogic extends MapBaseLayerLogic {
protected onLoad(): void {
super.onLoad();
EventMgr.on("update_citys", this.onUpdateCitys, this);
EventMgr.on("update_city", this.onUpdateCity, this);
}
protected onDestroy(): void {
EventMgr.targetOff(this);
super.onDestroy();
}
protected onUpdateCitys(areaIndex: number, addIds: number[], removeIds: number[], updateIds: number[]): void {
// console.log("update_citys", arguments);
if (this._itemMap.has(areaIndex)) {
for (let i: number = 0; i < addIds.length; i++) {
this.addItem(areaIndex, this._cmd.cityProxy.getCity(addIds[i]));
}
for (let i: number = 0; i < removeIds.length; i++) {
this.removeItem(areaIndex, removeIds[i]);
}
for (let i: number = 0; i < updateIds.length; i++) {
this.updateItem(areaIndex, this._cmd.cityProxy.getCity(updateIds[i]));
}
}
}
protected onUpdateCity(city:MapCityData):void {
let areaIndex:number = MapUtil.getAreaIdByCellPoint(city.x, city.y);
if (this._itemMap.has(areaIndex)) {
this.addItem(areaIndex, city);
}
}
public setItemData(item: Node, data: any): void {
let cityData: MapCityData = data as MapCityData;
let position: Vec2 = MapUtil.mapCellToPixelPoint(new Vec2(cityData.x, cityData.y));
item.setPosition(new Vec3(position.x, position.y, 0));
item.getComponent(CityLogic).setCityData(cityData);
}
public getIdByData(data: any): number {
return (data as MapCityData).cityId;
}
}