Пример #1
0
    new void Build()
    {
        for (int i = 0; i < m_RealBuildObstalceList.Count; i++)
        {
            SceneManager.Instance.BuildingMapData[base.FirstZoneIndex.Row + m_RealBuildObstalceList[i].Row, base.FirstZoneIndex.Column + m_RealBuildObstalceList[i].Column]        = false;
            SceneManager.Instance.BuildingGameObjectData[base.FirstZoneIndex.Row + m_RealBuildObstalceList[i].Row, base.FirstZoneIndex.Column + m_RealBuildObstalceList[i].Column] = this.gameObject;
        }
        TilePosition actorFirstZoneIndex = PositionConvertor.GetActorTilePositionFromBuildingTilePosition(base.FirstZoneIndex);

        for (int i = 0; i < m_RealActorObstacleList.Count; i++)
        {
            //SceneManager.Instance.ActorMapData[actorFirstZoneIndex.Row + m_RealActorObstacleList[i].Row, actorFirstZoneIndex.Column + m_RealActorObstacleList[i].Column] = false;
            SceneManager.Instance.ActorGameObjectData[actorFirstZoneIndex.Row + m_RealActorObstacleList[i].Row, actorFirstZoneIndex.Column + m_RealActorObstacleList[i].Column] = this.gameObject;
        }
        if (!base.FirstZoneIndex.Equals(this.AchievementBuildingLogicData.BuildingPosition))
        {
            LogicController.Instance.MoveAchievementBuiding(this.AchievementBuildingLogicData.BuildingNo, base.FirstZoneIndex);
            this.OnCreateBorder(BorderType.BuildingOutlineBorder);
        }
        else
        {
            this.OnDestroyBorder();
        }
        this.transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(base.FirstZoneIndex);
        this.m_IsBuild          = true;
        base.EnableCreate       = true;

        this.CreateDropDownFX();
        this.SetCellVisible(false);
    }
Пример #2
0
 void OnDrawGizmos()
 {
     if (this.m_BuildingObstacleArray != null && this.m_ActorObstacleArray != null)
     {
         int column = ClientSystemConstants.BUILDING_TILE_MAP_SIZE.width;
         int row    = ClientSystemConstants.BUILDING_TILE_MAP_SIZE.height;
         for (int i = 0; i < column; i++)
         {
             for (int j = 0; j < row; j++)
             {
                 if (this.m_BuildingObstacleArray[j, i] != null)
                 {
                     TilePosition tp = new TilePosition(i, j);
                     Gizmos.color = Color.blue;
                     Gizmos.DrawSphere(PositionConvertor.GetWorldPositionByBuildingTileIndex(tp), 8);
                 }
             }
         }
         int columnActor = ClientSystemConstants.ACTOR_TILE_MAP_SIZE.width;
         int rowActor    = ClientSystemConstants.ACTOR_TILE_MAP_SIZE.height;
         for (int i = 0; i < columnActor; i++)
         {
             for (int j = 0; j < rowActor; j++)
             {
                 if (this.m_ActorObstacleArray[j, i] != null)
                 {
                     TilePosition tp = new TilePosition(i, j);
                     Gizmos.color = Color.magenta;
                     Gizmos.DrawSphere(PositionConvertor.GetWorldPositionByActorTileIndex(tp), 4);
                 }
             }
         }
     }
 }
Пример #3
0
 void OnMoveWall()
 {
     print("OnMoveWall");
     if (base.FirstZoneIndex.Equals(base.FirstZoneIndexPrevious))//this.BuildingBehavior.BuildingLogicData.BuildingPosition))
     {
         if (base.IsBuild)
         {
             base.UnBuild();
             UIManager.Instance.HidePopuBtnByCurrentSelect(true);
         }
     }
     if (base.MouseOrTouchDictionary.Count > 0)
     {
         List <UICamera.MouseOrTouch> mouseOrTouchList = new List <UICamera.MouseOrTouch>(base.MouseOrTouchDictionary.Values);
         TilePosition touchDownZone = PositionConvertor.GetBuildingTileIndexFromScreenPosition(mouseOrTouchList[0].pos);
         TilePosition offsetZone    = touchDownZone - base.TouchDownZone;
         if (!((base.FirstZoneIndexPrevious + offsetZone).Equals(base.FirstZoneIndex)))
         {
             AudioController.Play("BuildingMoving");
         }
         base.FirstZoneIndex = base.FirstZoneIndexPrevious + offsetZone;
         Vector3 position = PositionConvertor.GetWorldPositionByBuildingTileIndex(base.FirstZoneIndex);
         position.z = base.BUILDING_PICK_AXIS_Z;
         this.transform.position = position;
         //this.BuildingBehavior.EnableCreate =
         base.CheckTile();
         base.SetButtonOkState();
     }
 }
Пример #4
0
    void OnMoveAllWall()
    {
        //print("OnMoveAllWall");
        //m_EnableBuildAll = true;
        for (int i = 0; i < SceneManager.Instance.SelectedAllWallList.Count; i++)
        {
            WallBehavior wallBehavior = SceneManager.Instance.SelectedAllWallList[i];
            if (wallBehavior.FirstZoneIndex.Equals(wallBehavior.BuildingLogicData.BuildingPosition))
            {
                if (wallBehavior.IsBuild)
                {
                    wallBehavior.UnBuild();
                    this.SetSelectWallState();
                }
            }
            UIManager.Instance.HidePopuBtnByCurrentSelect(true);
            List <UICamera.MouseOrTouch> mouseOrTouchList = new List <UICamera.MouseOrTouch>(base.MouseOrTouchDictionary.Values);
            TilePosition touchDownZone = PositionConvertor.GetBuildingTileIndexFromScreenPosition(mouseOrTouchList[0].pos);
            TilePosition offsetZone    = touchDownZone - base.TouchDownZone;

            if (!((wallBehavior.FirstZoneIndexPrevious + offsetZone).Equals(wallBehavior.FirstZoneIndex)))
            {
                AudioController.Play("BuildingMoving");
            }
            wallBehavior.FirstZoneIndex = wallBehavior.FirstZoneIndexPrevious + offsetZone;
            Vector3 position = PositionConvertor.GetWorldPositionByBuildingTileIndex(wallBehavior.FirstZoneIndex);
            position.z = wallBehavior.BUILDING_PICK_AXIS_Z;
            wallBehavior.transform.position = position;
            wallBehavior.CheckTile();
        }
    }
Пример #5
0
 //void InitObstaclePosition()
 //{
 //    if (this.RemovableObjectLogicData.BuildingPosition != null)
 //    {
 //        base.FirstZoneIndex = this.RemovableObjectLogicData.BuildingPosition;
 //        this.transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(base.FirstZoneIndex);
 //        this.BuildObstacle();
 //    }
 //}
 void InitObstaclePosition()
 {
     if (!this.Created)
     {
         base.FirstZoneIndex = PositionConvertor.GetBuildingTileIndexFromWorldPosition(CameraManager.Instance.MainCamera.transform.position);
         if (!base.CheckTile())
         {
             base.SearchBuildingPosition();
         }
         this.CheckTile();
         Vector3 position = PositionConvertor.GetWorldPositionByBuildingTileIndex(base.FirstZoneIndex);
         position.z = BUILDING_PICK_AXIS_Z;
         this.transform.position = position;
         base.SetArrowState(true);
         base.IsClick = true;
     }
     else
     {
         if (this.RemovableObjectLogicData.BuildingPosition != null)
         {
             base.FirstZoneIndex     = this.RemovableObjectLogicData.BuildingPosition;
             this.transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(base.FirstZoneIndex);
             this.BuildObstacle();
             base.SetArrowState(false);
         }
     }
 }
Пример #6
0
    public void ConstructDefenseObject(PropsType type, TilePosition position)
    {
        PropsDefenseScopeConfigData        scopeConfigData   = ConfigInterface.Instance.PropsConfigHelper.GetPropsData(type).FunctionConfigData as PropsDefenseScopeConfigData;
        PropsDefenseScopeLastingConfigData lastingConfigData = ConfigInterface.Instance.PropsConfigHelper.GetPropsData(type).FunctionConfigData as PropsDefenseScopeLastingConfigData;

        string           p = scopeConfigData != null ? scopeConfigData.PrefabName : lastingConfigData.PrefabName;
        List <TilePoint> buildingObstacleList = scopeConfigData != null ? scopeConfigData.BuildingObstacleList : lastingConfigData.BuildingObstacleList;

        string prefabName = string.Format("{0}{1}{2}", ClientStringConstants.BATTLE_SCENE_RESOURCE_PREFAB_PREFIX_NAME,
                                          ClientStringConstants.DEFENSE_OBJECT_PREFAB_PREFIX_NAME, p);
        GameObject objectPrefab = Resources.Load(prefabName) as GameObject;
        GameObject newObject    = GameObject.Instantiate(objectPrefab) as GameObject;

        GameObject.DestroyImmediate(newObject.GetComponent <DefenseObjectAI>());

        EditorDefenseObjectBehavior objectBehavior = newObject.AddComponent <EditorDefenseObjectBehavior>();

        objectBehavior.Position  = position;
        objectBehavior.PropsType = type;


        newObject.transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(position);
        newObject.transform.parent   = this.m_SceneParent;
        this.PopulateMapData(position, buildingObstacleList, newObject);
    }
Пример #7
0
    public void Drag()
    {
        Vector3      worldPosition   = EditorConfigInterface.Instance.SceneCamera.ScreenToWorldPoint(Input.mousePosition);
        TilePosition currentPosition = PositionConvertor.GetBuildingTileIndexFromWorldPosition(worldPosition);

        this.Position = currentPosition;
        this.OperatorBehavior.transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(this.Position);
    }
Пример #8
0
    public void BuyBuilderHut()
    {
        BuildingIdentity buildingIdentity = UIManager.Instance.UIWindowBuyBuilding.BuilerNo >= 0 ? LogicController.Instance.BuyBuilderHut(UIManager.Instance.UIWindowBuyBuilding.BuilerNo, this.BuildingBehavior.FirstZoneIndex) : LogicController.Instance.BuyBuilderHut(this.BuildingBehavior.FirstZoneIndex);

        this.BuildingLogicData = LogicController.Instance.GetBuildingObject(buildingIdentity);
        this.BuildingBehavior.BuildingLogicData = this.BuildingLogicData;
        BuildingBehavior bb = this.ConstructBuilding();

        bb.transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(this.BuildingBehavior.BuildingLogicData.BuildingPosition);

        SceneManager.Instance.CreateUpgradeFX(bb);
    }
Пример #9
0
    public void ConstructRemovableObject(RemovableObjectType type, TilePosition position)
    {
        RemovableObjectConfigData configData = ConfigInterface.Instance.RemovableConfigHelper.GetRemovableObjectData(type);

        string prefabName = string.Format("{0}{1}{2}", ClientStringConstants.BATTLE_SCENE_RESOURCE_PREFAB_PREFIX_NAME,
                                          ClientStringConstants.REMOVABLE_OBJECT_PREFAB_PREFIX_NAME, configData.PrefabName);
        GameObject objectPrefab = Resources.Load(prefabName) as GameObject;
        GameObject newObject    = GameObject.Instantiate(objectPrefab) as GameObject;

        EditorRemovableObjectBehavior objectBehavior = newObject.AddComponent <EditorRemovableObjectBehavior>();

        objectBehavior.Position            = position;
        objectBehavior.RemovableObjectType = type;

        newObject.transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(position);
        newObject.transform.parent   = this.m_SceneParent;
        this.PopulateMapData(position, configData.BuildingObstacleList, newObject);
    }
Пример #10
0
    public void BuildObstacle()
    {
        for (int i = 0; i < this.RemovableObjectLogicData.BuildingObstacleList.Count; i++)
        {
            SceneManager.Instance.BuildingMapData[base.FirstZoneIndex.Row + this.RemovableObjectLogicData.BuildingObstacleList[i].Row, base.FirstZoneIndex.Column + this.RemovableObjectLogicData.BuildingObstacleList[i].Column]        = false;
            SceneManager.Instance.BuildingGameObjectData[base.FirstZoneIndex.Row + this.RemovableObjectLogicData.BuildingObstacleList[i].Row, base.FirstZoneIndex.Column + this.RemovableObjectLogicData.BuildingObstacleList[i].Column] = this.gameObject;
        }

        for (int i = 0; i < this.RemovableObjectLogicData.ActorObstacleList.Count; i++)
        {
            //SceneManager.Instance.ActorMapData[this.RemovableObjectLogicData.ActorPosition.Row + this.RemovableObjectLogicData.ActorObstacleList[i].Row, this.RemovableObjectLogicData.ActorPosition.Column + this.RemovableObjectLogicData.ActorObstacleList[i].Column] = false;
            SceneManager.Instance.ActorGameObjectData[this.RemovableObjectLogicData.ActorPosition.Row + this.RemovableObjectLogicData.ActorObstacleList[i].Row, this.RemovableObjectLogicData.ActorPosition.Column + this.RemovableObjectLogicData.ActorObstacleList[i].Column] = this.gameObject;
        }
        base.SetCellVisible(false);
        base.m_IsBuild          = true;
        base.EnableCreate       = true;
        this.transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(base.FirstZoneIndex);
    }
Пример #11
0
    void OnDrag(Vector2 delta)
    {
        if (UICamera.currentTouchID == -1)
        {
            Vector3      worldPosition   = EditorConfigInterface.Instance.SceneCamera.ScreenToWorldPoint(Input.mousePosition);
            TilePosition currentPosition = PositionConvertor.GetBuildingTileIndexFromWorldPosition(worldPosition) + this.m_SelectOffset;
            this.Position = currentPosition;

            this.gameObject.transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(this.Position);

            foreach (var b in this.m_Selections)
            {
                if (b != this)
                {
                    b.OnDrag(delta);
                }
            }
        }
    }
Пример #12
0
    public void ConstructAchievementBuilding(AchievementBuildingType type, TilePosition position)
    {
        AchievementBuildingConfigData configData = ConfigInterface.Instance.AchievementBuildingConfigHelper.GetAchievementBuildingData(type);

        string prefabName = string.Format("{0}{1}{2}", ClientStringConstants.BATTLE_SCENE_RESOURCE_PREFAB_PREFIX_NAME,
                                          ClientStringConstants.ACHIEVEMENT_BULIDING_PREFAB_PREFIX_NAME, configData.PrefabName);
        GameObject objectPrefab = Resources.Load(prefabName) as GameObject;
        GameObject newObject    = GameObject.Instantiate(objectPrefab) as GameObject;

        GameObject.DestroyImmediate(newObject.GetComponent <AchievementBuildingHPBehavior>());

        EditorAchievementBuildingBehavior objectBehavior = newObject.AddComponent <EditorAchievementBuildingBehavior>();

        objectBehavior.Position = position;
        objectBehavior.AchievementBuildingType = type;

        newObject.transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(position);
        newObject.transform.parent   = this.m_SceneParent;
        this.PopulateMapData(position, configData.BuildingObstacleList, newObject);
    }
Пример #13
0
 void OnMoveBuilding()
 {
     if (base.MouseOrTouchDictionary.Count > 0)
     {
         List <UICamera.MouseOrTouch> mouseOrTouchList = new List <UICamera.MouseOrTouch>(base.MouseOrTouchDictionary.Values);
         TilePosition touchDownZone = PositionConvertor.GetBuildingTileIndexFromScreenPosition(mouseOrTouchList[0].pos);
         TilePosition offsetZone    = touchDownZone - base.TouchDownZone;
         if (!((base.FirstZoneIndexPrevious + offsetZone).Equals(base.FirstZoneIndex)))
         {
             AudioController.Play("BuildingMoving");
         }
         base.FirstZoneIndex = base.FirstZoneIndexPrevious + offsetZone;
         this.LimitBuildingPosition();
         Vector3 position = PositionConvertor.GetWorldPositionByBuildingTileIndex(base.FirstZoneIndex);
         position.z = BUILDING_PICK_AXIS_Z;
         this.transform.position = position;
         base.CheckTile();
         base.SetButtonOkState();
     }
 }
Пример #14
0
 void LateUpdate()
 {
     if (!base.Created)
     {
         return;
     }
     if (this.RemovableObjectLogicData.BuildingPosition == null)
     {
         if (LogicController.Instance.GeneratePosition(this.RemovableObjectLogicData.RemovableObjectNo, SceneManager.Instance))
         {
             base.FirstZoneIndex     = this.RemovableObjectLogicData.BuildingPosition;
             this.transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(base.FirstZoneIndex);
             this.BuildObstacle();
             base.SetArrowState(false);
         }
         else
         {
             GameObject.Destroy(this.gameObject);
         }
     }
 }
Пример #15
0
    public void ConstructBuilding(BuildingType type, int level, TilePosition position)
    {
        BuildingConfigData configData = ConfigInterface.Instance.BuildingConfigHelper.GetBuildingData(type, level);

        string prefabName = string.Format("{0}{1}{2}", ClientStringConstants.BATTLE_SCENE_RESOURCE_PREFAB_PREFIX_NAME,
                                          ClientStringConstants.BUILDING_OBJECT_PREFAB_PREFIX_NAME, configData.BuildingPrefabName);
        GameObject buildingPrefab = Resources.Load(prefabName) as GameObject;
        GameObject newBuilding    = GameObject.Instantiate(buildingPrefab) as GameObject;

        GameObject.DestroyImmediate(newBuilding.GetComponent <BuildingAI>());
        GameObject.DestroyImmediate(newBuilding.GetComponent <BuildingHPBehavior>());

        ResourceStoreBehavior storeBehavior = newBuilding.GetComponent <ResourceStoreBehavior>();

        if (storeBehavior != null)
        {
            GameObject.DestroyImmediate(storeBehavior);
        }
        WallUtility wall = newBuilding.GetComponent <WallUtility>();

        if (wall != null)
        {
            GameObject.DestroyImmediate(wall);
            newBuilding.AddComponent <EditorWallUtility>();
        }

        EditorBuildingBehavior buildingBehavior = newBuilding.AddComponent <EditorBuildingBehavior>();

        buildingBehavior.Position     = position;
        buildingBehavior.BuildingType = type;
        buildingBehavior.Level        = level;

        newBuilding.transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(position);
        newBuilding.transform.parent   = this.m_SceneParent;
        this.PopulateMapData(position, configData.BuildingObstacleList, newBuilding);
    }
Пример #16
0
    public void SetArrowPosition(bool initialPosition)
    {
        if (initialPosition)
        {
            for (int i = 0; i < base.m_ArrowList.Count; i++)
            {
                Vector3 localPosition = Vector3.zero;
                localPosition.x = base.m_ArrowOffset[i].x;
                localPosition.y = base.m_ArrowOffset[i].y;
                localPosition.z = 0;
                base.m_ArrowList[i].transform.localPosition = localPosition;
            }
        }
        else
        {
            int count = SceneManager.Instance.SelectedAllWallList.Count;
            if (count > 1)
            {
                int   width            = ClientSystemConstants.BUILDING_TILE_MAP_SIZE.width * SceneManager.Instance.SelectedAllWallList.Count;
                int   height           = ClientSystemConstants.BUILDING_TILE_MAP_SIZE.height;
                float offsetwidthTop   = 20;
                float offsetwidthRight = 40;
                float offsetHeight     = 18;
                int   degree           = 0;
                List <WallBehavior> selectedAllWallList = SceneManager.Instance.SelectedAllWallList;
                if ((selectedAllWallList[0].FirstZoneIndex.Row - selectedAllWallList[1].FirstZoneIndex.Row) == 0)
                {
                    selectedAllWallList.Sort((a, b) => a.FirstZoneIndex.Column - b.FirstZoneIndex.Column);
                    degree = 0;
                }
                else
                {
                    selectedAllWallList.Sort((a, b) => a.FirstZoneIndex.Row - b.FirstZoneIndex.Row);
                    degree = 90;
                }
                Vector2 minWorldPosition  = PositionConvertor.GetWorldPositionByBuildingTileIndex(selectedAllWallList[0].FirstZoneIndex);
                Vector2 maxWorldPosition  = PositionConvertor.GetWorldPositionByBuildingTileIndex(selectedAllWallList[count - 1].FirstZoneIndex);
                Vector2 halfWorldPosition = (maxWorldPosition - minWorldPosition) * 0.5f + minWorldPosition;
                Vector2 worldPosition     = Vector2.zero;
                switch (degree)
                {
                case 0:
                    worldPosition.x = halfWorldPosition.x + (width * 0.5f + offsetwidthRight);
                    worldPosition.y = halfWorldPosition.y + (0 + offsetHeight);
                    base.m_ArrowList[0].transform.position = worldPosition;

                    worldPosition.x = halfWorldPosition.x + (0 + offsetwidthTop);
                    worldPosition.y = halfWorldPosition.y + (height + offsetHeight);
                    base.m_ArrowList[1].transform.position = worldPosition;

                    worldPosition.x = halfWorldPosition.x + (-width * 0.5f);
                    worldPosition.y = halfWorldPosition.y + (0 + offsetHeight);
                    base.m_ArrowList[2].transform.position = worldPosition;

                    worldPosition.x = halfWorldPosition.x + (0 + offsetwidthTop);
                    worldPosition.y = halfWorldPosition.y + (-height + offsetHeight);
                    base.m_ArrowList[3].transform.position = worldPosition;
                    break;

                case 90:
                    worldPosition.x = halfWorldPosition.x + (height + offsetwidthTop);
                    worldPosition.y = halfWorldPosition.y + (0 + offsetHeight);
                    base.m_ArrowList[0].transform.position = worldPosition;

                    worldPosition.x = halfWorldPosition.x + (0 + offsetwidthTop);
                    worldPosition.y = halfWorldPosition.y + (width * 0.5f + offsetwidthRight);
                    base.m_ArrowList[1].transform.position = worldPosition;

                    worldPosition.x = halfWorldPosition.x + (-height + offsetwidthTop);
                    worldPosition.y = halfWorldPosition.y + (0 + offsetHeight);
                    base.m_ArrowList[2].transform.position = worldPosition;

                    worldPosition.x = halfWorldPosition.x + (0 + offsetwidthTop);
                    worldPosition.y = halfWorldPosition.y + (-width * 0.5f);
                    base.m_ArrowList[3].transform.position = worldPosition;
                    break;
                }
            }
        }
    }
Пример #17
0
 void RotateWallRow(List <WallBehavior> wallBehaviorList)
 {
     if (wallBehaviorList.Count > 0)
     {
         for (int i = 0; i < wallBehaviorList.Count; i++)
         {
             if (wallBehaviorList[i].FirstZoneIndex.Equals(wallBehaviorList[i].BuildingLogicData.BuildingPosition))
             {
                 if (wallBehaviorList[i].IsBuild)
                 {
                     wallBehaviorList[i].UnBuild();
                 }
             }
         }
         if ((base.FirstZoneIndex.Row - wallBehaviorList[0].FirstZoneIndex.Row) == 0)
         {
             //degree = 0
             if (wallBehaviorList[0].FirstZoneIndex.Column > base.FirstZoneIndex.Column)
             {
                 wallBehaviorList.Sort((a, b) => a.FirstZoneIndex.Column - b.FirstZoneIndex.Column);
                 for (int i = 0; i < wallBehaviorList.Count; i++)
                 {
                     wallBehaviorList[i].FirstZoneIndex     = new TilePosition(base.FirstZoneIndex.Column, base.FirstZoneIndex.Row - 1 - i);
                     wallBehaviorList[i].transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(wallBehaviorList[i].FirstZoneIndex);
                     wallBehaviorList[i].CheckTile();
                 }
             }
             else
             {
                 //degree = 180
                 wallBehaviorList.Sort((a, b) => b.FirstZoneIndex.Column - a.FirstZoneIndex.Column);
                 for (int i = 0; i < wallBehaviorList.Count; i++)
                 {
                     wallBehaviorList[i].FirstZoneIndex     = new TilePosition(base.FirstZoneIndex.Column, base.FirstZoneIndex.Row + 1 + i);
                     wallBehaviorList[i].transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(wallBehaviorList[i].FirstZoneIndex);
                     wallBehaviorList[i].CheckTile();
                 }
             }
         }
         else
         {
             //degree = 90
             if (wallBehaviorList[0].FirstZoneIndex.Row > base.FirstZoneIndex.Row)
             {
                 wallBehaviorList.Sort((a, b) => a.FirstZoneIndex.Row - b.FirstZoneIndex.Row);
                 for (int i = 0; i < wallBehaviorList.Count; i++)
                 {
                     wallBehaviorList[i].FirstZoneIndex     = new TilePosition(base.FirstZoneIndex.Column + 1 + i, base.FirstZoneIndex.Row);
                     wallBehaviorList[i].transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(wallBehaviorList[i].FirstZoneIndex);
                     wallBehaviorList[i].CheckTile();
                 }
             }
             else
             {
                 //degree =  270
                 wallBehaviorList.Sort((a, b) => b.FirstZoneIndex.Row - a.FirstZoneIndex.Row);
                 for (int i = 0; i < wallBehaviorList.Count; i++)
                 {
                     wallBehaviorList[i].FirstZoneIndex     = new TilePosition(base.FirstZoneIndex.Column - 1 - i, base.FirstZoneIndex.Row);
                     wallBehaviorList[i].transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(wallBehaviorList[i].FirstZoneIndex);
                     wallBehaviorList[i].CheckTile();
                 }
             }
         }
     }
 }