Esempio n. 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);
    }
Esempio n. 2
0
    void UnBuild(bool showBorder = true)
    {
        for (int i = 0; i < m_RealBuildObstalceList.Count; i++)
        {
            SceneManager.Instance.BuildingMapData[base.FirstZoneIndex.Row + base.m_RealBuildObstalceList[i].Row, base.FirstZoneIndex.Column + base.m_RealBuildObstalceList[i].Column]        = true;
            SceneManager.Instance.BuildingGameObjectData[base.FirstZoneIndex.Row + base.m_RealBuildObstalceList[i].Row, base.FirstZoneIndex.Column + base.m_RealBuildObstalceList[i].Column] = null;
        }
        TilePosition actorFirstZoneIndex = PositionConvertor.GetActorTilePositionFromBuildingTilePosition(base.FirstZoneIndex);

        for (int i = 0; i < base.m_RealActorObstacleList.Count; i++)
        {
            //SceneManager.Instance.ActorMapData[actorFirstZoneIndex.Row + m_RealActorObstacleList[i].Row, actorFirstZoneIndex.Column + m_RealActorObstacleList[i].Column] = true;
            SceneManager.Instance.ActorGameObjectData[actorFirstZoneIndex.Row + base.m_RealActorObstacleList[i].Row, actorFirstZoneIndex.Column + base.m_RealActorObstacleList[i].Column] = null;
        }
        this.m_IsBuild = false;
        if (showBorder)
        {
            this.OnCreateBorder();
        }
    }
Esempio n. 3
0
    public TilePosition FindCampStandablePoint(IBuildingInfo campInfo)
    {
        int          index = Random.Range(0, campInfo.BuildingObstacleList.Count);
        TilePosition buildingObstaclePosition = campInfo.BuildingObstacleList[index];

        TilePosition buildingPosition = campInfo.BuildingPosition + buildingObstaclePosition;

        TilePosition actorObstaclePosition = PositionConvertor.GetActorTilePositionFromBuildingTilePosition(buildingPosition);
        TilePosition actorOffset           = actorObstaclePosition - campInfo.ActorPosition;

        while (!actorObstaclePosition.IsValidActorTilePosition() ||
               campInfo.ActorObstacleList.Contains(actorOffset))
        {
            index = Random.Range(0, campInfo.BuildingObstacleList.Count);
            buildingObstaclePosition = campInfo.BuildingObstacleList[index];

            buildingPosition = campInfo.BuildingPosition + buildingObstaclePosition;

            actorObstaclePosition = PositionConvertor.GetActorTilePositionFromBuildingTilePosition(buildingPosition);
            actorOffset           = actorObstaclePosition - campInfo.ActorPosition;
        }
        return(actorObstaclePosition);
    }