浏览代码

1.修改道路

slambb 3 年之前
父节点
当前提交
2852453713

+ 20 - 13
assets/Prefabs/Road_Prefab.prefab

@@ -61,18 +61,17 @@
       "y": 1,
       "z": 1
     },
-    "_skewX": 0,
-    "_skewY": 0,
-    "_zIndex": 0,
-    "_is3DNode": false,
-    "groupIndex": 0,
-    "_id": "",
     "_eulerAngles": {
       "__type__": "cc.Vec3",
       "x": 0,
       "y": 0,
       "z": 0
-    }
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "groupIndex": 0,
+    "_id": ""
   },
   {
     "__type__": "cc.Node",
@@ -122,16 +121,14 @@
       "y": 1,
       "z": 1
     },
-    "_quat": {
-      "__type__": "cc.Quat",
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
       "x": 0,
       "y": 0,
-      "z": 0,
-      "w": 1
+      "z": 0
     },
     "_skewX": 0,
     "_skewY": 0,
-    "_zIndex": 0,
     "_is3DNode": false,
     "groupIndex": 0,
     "_id": ""
@@ -144,6 +141,11 @@
       "__id__": 2
     },
     "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
     "_srcBlendFactor": 770,
     "_dstBlendFactor": 771,
     "_spriteFrame": {
@@ -160,7 +162,6 @@
     "_fillStart": 0,
     "_fillRange": 0,
     "_isTrimmedMode": true,
-    "_state": 0,
     "_atlas": null,
     "_id": ""
   },
@@ -194,9 +195,15 @@
         "__uuid__": "7b22be80-1311-419c-b268-73c4349a49e3"
       }
     ],
+    "villageHighwaySpriteFrame": [
+      {
+        "__uuid__": "33f9e5e3-64fc-4bbf-a05d-db60f0fe5a0a"
+      }
+    ],
     "roadSprite": {
       "__id__": 3
     },
+    "currenHighwayType": 0,
     "_id": ""
   },
   {

+ 76 - 1
assets/Script/UI/ManageBuildings.js

@@ -1,6 +1,19 @@
 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,
 
@@ -195,6 +208,14 @@ cc.Class({
             type: [cc.Node],
             serializable: true,
         },
+
+        /**
+         * 定义一个场景预制对象
+         */
+        DressUpArrayInfo: {
+            type: [DressUpInfo],
+            default: []
+        },
     },
     onBuildHouse(index) {
         // cc.log(index);
@@ -364,6 +385,12 @@ cc.Class({
          */
         //第一步初始化土地的网络数据
         this.spawnConfigLand();
+
+        /**
+         * 初始化障碍物场景,装饰
+         */
+        this.spawnDressUp();
+
         //先初始化网络数据
         this.SpawnHouse();
 
@@ -488,7 +515,7 @@ cc.Class({
         let _userLeaseLand = GlobalD.UserLeaseLand;
         // console.log(_configLand, _userLeaseLand);
         // console.log(this.node.getComponent("ManageUI"));
-     
+
         for (let i = 0; i < _configLand.length; i++) {
             //生成默认土地
             //农田
@@ -525,6 +552,54 @@ cc.Class({
 
 
     },
+
+    //初始化障碍物
+    spawnDressUp() {
+        let _temp = [
+            {
+                spawnName: "Dress_502_ChrisTree",
+                startPos: cc.v2(12, 19)
+            },
+            {
+                spawnName: "Dress_503_RailingGrassX",
+                startPos: cc.v2(9, 20)
+            },
+            {
+                spawnName: "Dress_503_RailingGrassX",
+                startPos: cc.v2(7, 20)
+            }];
+
+        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);
+                    let buildingsInfo = prefab.getComponent("buildingsInfo");
+                    //id用时间戳来记录
+                    buildingsInfo.buildInfo.id = new Date().getTime();//对应的id
+                    buildingsInfo.buildInfo.isItActive = false;
+                    //设置tile的最底下的坐标,就是起始坐标
+                    buildingsInfo.buildInfo.startTilePos = _temp[i].startPos;
+                    buildingsInfo.InitPos = false;
+                    buildingsInfo.InitStartPos = _temp[i].startPos;
+                    var endPos = GlobalD.TiledMap._getTheMiddleLocationFromtilePos(_temp[i].startPos);
+                    prefab.setPosition(endPos.x, endPos.y);
+                    //起始坐标,占位范围,是否占位
+                    GlobalD.game.addBuildTiled(buildingsInfo.buildInfo.id, buildingsInfo.buildInfo.startTilePos, buildingsInfo.buildInfo.occupyArea);
+                    //添加占位信息
+                    GlobalD.game.addBuilding(buildingsInfo);
+
+                    console.log(_dressUpTemp.spawnName);
+                    //跳出里面一层循环
+                    break;
+                }
+            }
+           
+        }
+
+    },
+
     //初始化场景建筑
     SpawnHouse: function () {
         let BuildingJSON = Object.assign([], GlobalD.GameData.GameData_buildings);

+ 54 - 30
assets/Script/build/HighwayInfo.js

@@ -9,14 +9,18 @@ cc.Class({
             default: [],
             type: cc.SpriteFrame,
         },
-
+        //村长的路,暂时和镇长一起使用
+        villageHighwaySpriteFrame: {
+            default: [],
+            type: cc.SpriteFrame,
+        },
         //公路对应的sprite
         roadSprite: cc.Sprite,
 
         //当前图片的下标
-        currenHighwayType:{
-            default:0,
-            type:cc.Integer,
+        currenHighwayType: {
+            default: 0,
+            type: cc.Integer,
         }
     },
 
@@ -32,34 +36,54 @@ cc.Class({
     //切换公路图片
     onChangeHighwayStyles(_highwayType) {
         // cc.log( _highwayType,this.currenHighwayType)
-
         let currentSpriteFrame;
-        switch (_highwayType) {
-            case reGameStates.HighwayType.none:
-                currentSpriteFrame = this.HighwaySpriteFrame[0];
-                this.roadSprite.node.scaleX = 1;
-                break;
-            case reGameStates.HighwayType.moveX:
-                currentSpriteFrame = this.HighwaySpriteFrame[2];
-                this.currenHighwayType = reGameStates.HighwayType.moveX;
-                this.roadSprite.node.scaleX = 1;
-                break;
-            case reGameStates.HighwayType.moveY:
-                currentSpriteFrame = this.HighwaySpriteFrame[2];
-                this.roadSprite.node.scaleX = -1;
-                this.currenHighwayType = reGameStates.HighwayType.moveY;
-                break;
-            case reGameStates.HighwayType.ZebraCrossingX:
-                currentSpriteFrame = this.HighwaySpriteFrame[1];
-                this.currenHighwayType = reGameStates.HighwayType.ZebraCrossingX;
-                this.roadSprite.node.scaleX = -1;
+        if (GlobalD.Dapp) {
+            switch (GlobalD.Dapp.UserInfo.agent_level) {
+                case 0:
+                    currentSpriteFrame = this.HighwaySpriteFrame[0];
+                    this.roadSprite.node.scaleX = 1;
+                    break;
+                case 1:
+                    currentSpriteFrame = this.villageHighwaySpriteFrame[0];
+                    this.roadSprite.node.scaleX = 1;
+                    break;
+                case 2:
+                    currentSpriteFrame = this.villageHighwaySpriteFrame[0];
+                    this.roadSprite.node.scaleX = 1;
+                    break;
+                default:
+                    currentSpriteFrame = this.HighwaySpriteFrame[0];
+                    this.roadSprite.node.scaleX = 1;
+                    break;
+            }
+        } else {
+            switch (_highwayType) {
+                case reGameStates.HighwayType.none:
+                    currentSpriteFrame = this.HighwaySpriteFrame[0];
+                    this.roadSprite.node.scaleX = 1;
+                    break;
+                case reGameStates.HighwayType.moveX:
+                    currentSpriteFrame = this.HighwaySpriteFrame[2];
+                    this.currenHighwayType = reGameStates.HighwayType.moveX;
+                    this.roadSprite.node.scaleX = 1;
+                    break;
+                case reGameStates.HighwayType.moveY:
+                    currentSpriteFrame = this.HighwaySpriteFrame[2];
+                    this.roadSprite.node.scaleX = -1;
+                    this.currenHighwayType = reGameStates.HighwayType.moveY;
+                    break;
+                case reGameStates.HighwayType.ZebraCrossingX:
+                    currentSpriteFrame = this.HighwaySpriteFrame[1];
+                    this.currenHighwayType = reGameStates.HighwayType.ZebraCrossingX;
+                    this.roadSprite.node.scaleX = -1;
 
-                break;
-            case reGameStates.HighwayType.ZebraCrossingY:
-                currentSpriteFrame = this.HighwaySpriteFrame[1];
-                this.currenHighwayType = reGameStates.HighwayType.ZebraCrossingY;
-                this.roadSprite.node.scaleX = 1;
-                break;
+                    break;
+                case reGameStates.HighwayType.ZebraCrossingY:
+                    currentSpriteFrame = this.HighwaySpriteFrame[1];
+                    this.currenHighwayType = reGameStates.HighwayType.ZebraCrossingY;
+                    this.roadSprite.node.scaleX = 1;
+                    break;
+            }
         }
         this.roadSprite.spriteFrame = currentSpriteFrame;
 

+ 2 - 0
assets/Script/build/buildingsInfo.js

@@ -415,6 +415,8 @@ cc.Class({
 
                     this.buildInfo.startTilePos = this._currentTiledValue;
                     GlobalD.game.addBuilding(this);
+
+                    console.log(this.buildInfo.buildingName);
                 } else {//如果已经存在,更新新位置
                     //可以移动
                     let isMove = true;

+ 4 - 2
assets/Script/public/GameData.js

@@ -735,7 +735,7 @@ cc.Class({
         // 获取InitPoint层
         let InitPos = this._tiledMap.getLayer('InitPoint');
         InitPos.enabled = false;
-
+        console.log("onSpawnHighway");
         //创建公路数据
         if (this.readData && this.readData.allHighwayStylesAndIndex) {
             //保存到内存中
@@ -750,7 +750,7 @@ cc.Class({
                  * 解决固定土地时候,道路 和房子 冲突
                  * 
                  */
-                if (GlobalD.game.getManageGameIndexArrayAt(cc.v2(_tiledPos.x, _tiledPos.y))) {
+                if (GlobalD.game.getManageGameIndexArrayAt(_tiledPos)) {
                     continue;
                 }
                 let highwayTemp = cc.instantiate(this.HighWayPrefabs);
@@ -846,6 +846,8 @@ cc.Class({
                     let _buildId = 0;
                     let occupyTemp = cc.v2(_buildId, index);
                     GlobalD.game.OccupyArray.push(occupyTemp);
+
+                    highwayTemp.getComponent('HighwayInfo').onChangeHighwayStyles(reGameStates.HighwayType.none);
                     //更换公路样式
                     // if (j >= 25 && j <= 27 || j >= 19 && j <= 21 || j >= 9 && j <= 11)
                     //     highwayTemp.getComponent('HighwayInfo').onChangeHighwayStyles(reGameStates.HighwayType.none);

+ 4 - 1
assets/Script/public/GameStates.js

@@ -59,7 +59,10 @@ var BuildType = cc.Enum({
     Special: -1,
 
     //神农小镇 种子土地
-    HolyFarmland:-1
+    HolyFarmland:-1,
+
+    //场景障碍物类型,装扮
+    DressUp:-1
 });
 
 /**

+ 9 - 9
assets/Script/tool/UtilsPrefabs.js

@@ -24,6 +24,15 @@ window.UtilsPrefabs = {
         "prefab/MoneyFlyAfterShare",
     ],
 
+    /**
+     * 装饰用品,这里存放的预制都要生成
+     */
+    dressUpArray:[
+        "prefab/NDressUp/Dress_502_ChrisTree", 
+        "prefab/NDressUp/Dress_503_RailingGrassX", 
+        "prefab/NDressUp/Dress_504_RailingGrassY", 
+    ],
+
 
 
     init : function (parentNode) {
@@ -43,23 +52,17 @@ window.UtilsPrefabs = {
     addPrefabs : function (prefabsName,parentNode,callback) {
         cc.loader.loadRes(prefabsName, function (err, texture) {
             var node = this.parentNode;
-
             if (parentNode!=null) {
                 node = parentNode;
             }
-
             var prefab = cc.instantiate(texture);
-
             this.prefabsName = prefab.name;
             this.removePrefabs(node,this.prefabsName);
-
-
             if (node!=null) {
                 node.addChild(prefab);
             }else{
                 return;
             }
-
             // this.dialogLuckView.active = false;
             // this.GivePrize = this.getNode("GivePrize",this.showDialogs);
             // //转
@@ -68,9 +71,6 @@ window.UtilsPrefabs = {
             // this.Rewards = this.getNode("Rewards",this.GivePrize);
             // //关闭按钮
             // this.close = this.getNode("close",this.showDialogs);
-
-
-
             if (callback != null) {
                 callback(prefab);
             }