|
|
@@ -1,19 +1,5 @@
|
|
|
var reGameStates = require('GameStates');
|
|
|
import date from "../Unit/date.js"
|
|
|
-//建筑物信息
|
|
|
-var DressUpInfo = cc.Class({
|
|
|
- name: "DressUpInfo",
|
|
|
- properties: {
|
|
|
- spawnName:{
|
|
|
- default:'',
|
|
|
- },
|
|
|
- prefab: {
|
|
|
- default: null,
|
|
|
- type: cc.Prefab
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-});
|
|
|
cc.Class({
|
|
|
extends: cc.Component,
|
|
|
|
|
|
@@ -212,10 +198,10 @@ cc.Class({
|
|
|
/**
|
|
|
* 定义一个场景预制对象
|
|
|
*/
|
|
|
- DressUpArrayInfo: {
|
|
|
- type: [DressUpInfo],
|
|
|
- default: []
|
|
|
- },
|
|
|
+ DressUpArray: {
|
|
|
+ default: [],
|
|
|
+ type: [cc.Prefab]
|
|
|
+ }
|
|
|
},
|
|
|
onBuildHouse(index) {
|
|
|
// cc.log(index);
|
|
|
@@ -387,9 +373,12 @@ cc.Class({
|
|
|
this.spawnConfigLand();
|
|
|
|
|
|
/**
|
|
|
+ * 村长和镇长
|
|
|
* 初始化障碍物场景,装饰
|
|
|
*/
|
|
|
- this.spawnDressUp();
|
|
|
+ if(0 != GlobalD.Dapp.UserInfo.agent_level){
|
|
|
+ this.spawnDressUp();
|
|
|
+ }
|
|
|
|
|
|
//先初始化网络数据
|
|
|
this.SpawnHouse();
|
|
|
@@ -555,10 +544,15 @@ cc.Class({
|
|
|
|
|
|
//初始化障碍物
|
|
|
spawnDressUp() {
|
|
|
+ //村长和镇长的区别,樱花树区别
|
|
|
+
|
|
|
+ let agent_level = GlobalD.Dapp.UserInfo.agent_level; // 0普通用户,1 村长身份,2 镇长身份
|
|
|
+ let _cherryTree = 2 === agent_level? "Dress_505_SmallTree02":"Dress_505_SmallTree01";
|
|
|
let _temp = [
|
|
|
+ //左边第一部分 ----start----
|
|
|
{
|
|
|
spawnName: "Dress_502_ChrisTree",
|
|
|
- startPos: cc.v2(12, 19)
|
|
|
+ startPos: cc.v2(14, 20)
|
|
|
},
|
|
|
{
|
|
|
spawnName: "Dress_503_RailingGrassX",
|
|
|
@@ -567,14 +561,232 @@ cc.Class({
|
|
|
{
|
|
|
spawnName: "Dress_503_RailingGrassX",
|
|
|
startPos: cc.v2(7, 20)
|
|
|
- }];
|
|
|
+ },
|
|
|
+ //-----
|
|
|
+ {
|
|
|
+ spawnName: "Dress_505_FlowerBed",
|
|
|
+ startPos: cc.v2(8, 22)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ spawnName: "Dress_505_FlowerBed",
|
|
|
+ startPos: cc.v2(8, 23)
|
|
|
+ },
|
|
|
+ //喷泉
|
|
|
+ {
|
|
|
+ spawnName: "Dress_502_Fountain",
|
|
|
+ startPos: cc.v2(10, 23)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ spawnName: "Dress_505_FlowerBed",
|
|
|
+ startPos: cc.v2(11, 22)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ spawnName: "Dress_505_FlowerBed",
|
|
|
+ startPos: cc.v2(11, 23)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ spawnName: "Dress_505_ChrisSanta",
|
|
|
+ startPos: cc.v2(10, 25)
|
|
|
+ },
|
|
|
+ //-----
|
|
|
+
|
|
|
+
|
|
|
+ //左边第一部分 ----end----
|
|
|
+
|
|
|
+ //主路放两个灯和树
|
|
|
+ {
|
|
|
+ spawnName: "Dress_505_Streetlight",
|
|
|
+ startPos: cc.v2(15, 29)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ spawnName: "Dress_505_Streetlight",
|
|
|
+ startPos: cc.v2(18, 29)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ spawnName: "Dress_505_SmallTree",
|
|
|
+ startPos: cc.v2(15, 30)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ spawnName: "Dress_505_SmallTree",
|
|
|
+ startPos: cc.v2(18, 30)
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ ];
|
|
|
+ //左边小麦区域
|
|
|
+ for (let x = 0; x < 3; x++) {
|
|
|
+ for (let y = 0; y < 2; y++) {
|
|
|
+ _temp.push({
|
|
|
+ spawnName: "Dress_502_Rice",
|
|
|
+ startPos: cc.v2(4 - x * 2, 30 - y * 2)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //1倍土地部分木质花圃
|
|
|
+ for (let x = 0; x < 6; x++) {
|
|
|
+ for (let y = 0; y < 3; y++) {
|
|
|
+ _temp.push({
|
|
|
+ spawnName: "Dress_503_WhiteWoodRailingX",
|
|
|
+ startPos: cc.v2(18 + x, 14 - y * 3)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //生成一个未盛开的樱花围绕,间隔1个空格 ---start ,镇长换成盛开的樱花
|
|
|
+ for (let x = 0; x < 3; x++) {
|
|
|
+ _temp.push({
|
|
|
+ spawnName: _cherryTree,
|
|
|
+ startPos: cc.v2(18 + x * 2, 17)
|
|
|
+ })
|
|
|
+ _temp.push({
|
|
|
+ spawnName: _cherryTree,
|
|
|
+ startPos: cc.v2(18 + x * 2, 5)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ for (let y = 0; y < 7; y++) {
|
|
|
+ _temp.push({
|
|
|
+ spawnName: _cherryTree,
|
|
|
+ startPos: cc.v2(24, 17 - y * 2)
|
|
|
+ })
|
|
|
+
|
|
|
+ }
|
|
|
+ //多倍区域
|
|
|
+ for (let x = 0; x < 3; x++) {
|
|
|
+ _temp.push({
|
|
|
+ spawnName: _cherryTree,
|
|
|
+ startPos: cc.v2(15 - x * 2, 14)
|
|
|
+ })
|
|
|
+ _temp.push({
|
|
|
+ spawnName: _cherryTree,
|
|
|
+ startPos: cc.v2(15 - x * 2, 2)
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ //生成一个未盛开的樱花围绕,间隔1个空格 --- end
|
|
|
+
|
|
|
+
|
|
|
+ //多倍土地部分木质花圃
|
|
|
+ for (let x = 0; x < 3; x++) {
|
|
|
+ for (let y = 0; y < 3; y++) {
|
|
|
+ _temp.push({
|
|
|
+ spawnName: "Dress_503_RailingGrassX",
|
|
|
+ startPos: cc.v2(15 - x * 2, 11 - y * 3)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //生成番茄区域
|
|
|
+ for (let x = 0; x < 3; x++) {
|
|
|
+ for (let y = 0; y < 2; y++) {
|
|
|
+ _temp.push({
|
|
|
+ spawnName: "Dress_502_Tomato",
|
|
|
+ startPos: cc.v2(26 + x * 2, 30 - y * 2)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //----中上别墅区域--start
|
|
|
+ //生成中上三个别墅和三个树木
|
|
|
+ for (let x = 0; x < 3; x++) {
|
|
|
+ _temp.push({
|
|
|
+ spawnName: "Dress_505_SmallTree",
|
|
|
+ startPos: cc.v2(7 - x * 2, 6)
|
|
|
+ })
|
|
|
+ _temp.push({
|
|
|
+ spawnName: "Dress_502_Villa",
|
|
|
+ startPos: cc.v2(8 - x * 2, 8)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ //雪橇
|
|
|
+ _temp.push({
|
|
|
+ spawnName: "Dress_505_ChrisCar02",
|
|
|
+ startPos: cc.v2(8, 10)
|
|
|
+ })
|
|
|
+ //圣诞门和栏杆
|
|
|
+ for (let x = 0; x < 3; x++) {
|
|
|
+ _temp.push({
|
|
|
+ spawnName: "Dress_503_WhiteWoodRailingX",
|
|
|
+ startPos: cc.v2(8 - x, 11)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ _temp.push({
|
|
|
+ spawnName: "Dress_503_ChrisDoorX",
|
|
|
+ startPos: cc.v2(5, 11)
|
|
|
+ })
|
|
|
+ for (let x = 0; x < 3; x++) {
|
|
|
+ _temp.push({
|
|
|
+ spawnName: "Dress_503_WhiteWoodRailingX",
|
|
|
+ startPos: cc.v2(4 - x, 11)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ //门外区域
|
|
|
+ _temp.push({
|
|
|
+ spawnName: "Dress_502_florist",
|
|
|
+ startPos: cc.v2(4, 15)
|
|
|
+ })
|
|
|
+
|
|
|
+ _temp.push({
|
|
|
+ spawnName: "Dress_505_ChrisCar01",
|
|
|
+ startPos: cc.v2(6, 16)
|
|
|
+ })
|
|
|
+
|
|
|
+ _temp.push({
|
|
|
+ spawnName: "Dress_505_PondDuck",
|
|
|
+ startPos: cc.v2(6, 14)
|
|
|
+ })
|
|
|
+
|
|
|
+ for (let y = 0; y < 3; y++) {
|
|
|
+ _temp.push({
|
|
|
+ spawnName: "Dress_504_ChrisRailingY",
|
|
|
+ startPos: cc.v2(8, 16 - y)
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ //樱花路
|
|
|
+ for (let x = 0; x < 6; x++) {
|
|
|
+ _temp.push({
|
|
|
+ spawnName: _cherryTree,
|
|
|
+ startPos: cc.v2(10 - x * 2, 17)
|
|
|
+ })
|
|
|
+ _temp.push({
|
|
|
+ spawnName: _cherryTree,
|
|
|
+ startPos: cc.v2(10 - x * 2, 19)
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ //------end
|
|
|
+
|
|
|
+
|
|
|
+ //----右边区域--start
|
|
|
+ _temp.push({
|
|
|
+ spawnName: "Dress_505_Pond",
|
|
|
+ startPos: cc.v2(20, 3)
|
|
|
+ })
|
|
|
+ _temp.push({
|
|
|
+ spawnName: "Dress_504_RailingGrassY",
|
|
|
+ startPos: cc.v2(21, 3)
|
|
|
+ })
|
|
|
+ _temp.push({
|
|
|
+ spawnName: "Dress_502_FruitTreeAndStool",
|
|
|
+ startPos: cc.v2(23, 3)
|
|
|
+ })
|
|
|
+
|
|
|
+
|
|
|
+ //---- end
|
|
|
+
|
|
|
|
|
|
for (let i = 0; i < _temp.length; i++) {
|
|
|
- for(let j=0;j<this.DressUpArrayInfo.length;j++){
|
|
|
- let _dressUpTemp = this.DressUpArrayInfo[j];
|
|
|
- if(_dressUpTemp.spawnName == _temp[i].spawnName){
|
|
|
- let prefab = cc.instantiate(_dressUpTemp.prefab);
|
|
|
- this.BuildingsParent.addChild(prefab);
|
|
|
+ for (let j = 0; j < this.DressUpArray.length; j++) {
|
|
|
+ let _dressUpTemp = this.DressUpArray[j];
|
|
|
+ if (_dressUpTemp.name == _temp[i].spawnName) {
|
|
|
+ let prefab = cc.instantiate(_dressUpTemp);
|
|
|
+ prefab.parent = this.BuildingsParent;
|
|
|
+ let tipNode = prefab.getChildByName("Tip");
|
|
|
+ if(tipNode){
|
|
|
+ tipNode.destroy();
|
|
|
+ }
|
|
|
let buildingsInfo = prefab.getComponent("buildingsInfo");
|
|
|
//id用时间戳来记录
|
|
|
buildingsInfo.buildInfo.id = new Date().getTime();//对应的id
|
|
|
@@ -590,12 +802,12 @@ cc.Class({
|
|
|
//添加占位信息
|
|
|
GlobalD.game.addBuilding(buildingsInfo);
|
|
|
|
|
|
- console.log(_dressUpTemp.spawnName);
|
|
|
+ // console.log(_dressUpTemp.name);
|
|
|
//跳出里面一层循环
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
|
|
|
},
|
|
|
@@ -620,7 +832,7 @@ cc.Class({
|
|
|
cc.error('housingTemp', HouseName, housingTemp);
|
|
|
|
|
|
//预制为空
|
|
|
- if (!housingTemp) return;
|
|
|
+ if (!housingTemp) continue;
|
|
|
let buildingsInfo = housingTemp.getComponent("buildingsInfo");
|
|
|
|
|
|
/**
|
|
|
@@ -629,6 +841,12 @@ cc.Class({
|
|
|
* BuildingJSON 看做旧的数据, 拿到旧数据 BuildingJSON[i].startTilePos 起始位置 ,生成对应预制的大小occupyArea
|
|
|
* 来判断占位信息
|
|
|
*/
|
|
|
+ // //全部回收
|
|
|
+ // // 背包添加对应的建筑数量
|
|
|
+ // GlobalD.game.PlusBuilding(buildingsInfo.buildInfo.buildingName);
|
|
|
+ // // 删除上面生成的预制节点
|
|
|
+ // housingTemp.destroy();
|
|
|
+ // continue;
|
|
|
let _canNotBuild = GlobalD.game.areTheraOverlappingAreas(BuildingJSON[i].startTilePos, buildingsInfo.buildInfo.occupyArea, 1);
|
|
|
if (_canNotBuild) {
|
|
|
// 背包添加对应的建筑数量
|