コード例 #1
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);
         }
     }
 }
コード例 #2
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);
    }
コード例 #3
0
    public void ConstructBuilding(BuildingType type, int level)
    {
        BuildingConfigData configData     = ConfigInterface.Instance.BuildingConfigHelper.GetBuildingData(type, level);
        TilePosition       centerPosition = PositionConvertor.GetBuildingTileIndexFromWorldPosition(this.m_SceneCamare.position);
        TilePosition       position       = this.FindValidBuildingPosition(centerPosition, configData.BuildingObstacleList);

        if (position != null)
        {
            this.ConstructBuilding(type, level, position);
        }
    }
コード例 #4
0
    public void ConstructRemovableObject(RemovableObjectType type)
    {
        RemovableObjectConfigData configData = ConfigInterface.Instance.RemovableConfigHelper.GetRemovableObjectData(type);
        TilePosition centerPosition          = PositionConvertor.GetBuildingTileIndexFromWorldPosition(this.m_SceneCamare.position);
        TilePosition position = this.FindValidBuildingPosition(centerPosition, configData.BuildingObstacleList);

        if (position != null)
        {
            this.ConstructRemovableObject(type, position);
        }
    }
コード例 #5
0
    public void ConstructDefenseObject(PropsType type)
    {
        PropsDefenseScopeConfigData        scopeConfigData   = ConfigInterface.Instance.PropsConfigHelper.GetPropsData(type).FunctionConfigData as PropsDefenseScopeConfigData;
        PropsDefenseScopeLastingConfigData lastingConfigData = ConfigInterface.Instance.PropsConfigHelper.GetPropsData(type).FunctionConfigData as PropsDefenseScopeLastingConfigData;

        List <TilePoint> buildingObstacleList = scopeConfigData != null ? scopeConfigData.BuildingObstacleList : lastingConfigData.BuildingObstacleList;
        TilePosition     centerPosition       = PositionConvertor.GetBuildingTileIndexFromWorldPosition(this.m_SceneCamare.position);
        TilePosition     position             = this.FindValidBuildingPosition(centerPosition, buildingObstacleList);

        if (position != null)
        {
            this.ConstructDefenseObject(type, position);
        }
    }
コード例 #6
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);
                }
            }
        }
    }
コード例 #7
0
    void Update()
    {
        bool         isValid         = true;
        TilePosition currentPosition = PositionConvertor.GetBuildingTileIndexFromWorldPosition(this.transform.position);

        if (!currentPosition.IsValidBuildingTilePosition())
        {
            isValid = false;
        }
        if (EditorFactory.Instance.MapData[currentPosition.Row, currentPosition.Column] != null)
        {
            isValid = false;
        }

        if (isValid)
        {
            this.m_Sprite.color = Color.green;
        }
        else
        {
            this.m_Sprite.color = Color.red;
        }
    }