Ejemplo n.º 1
0
    public void CreateBrush(BrushType type)
    {
        if (PEBuildingMan.Self == null)
        {
            return;
        }

        m_CurBrushType = type;
        if (type == BrushType.bt_null)
        {
            m_CurBrush = BuildingMan.CreateBrush(BuildingMan.EBrushType.None);
        }
        else if (type == BrushType.bt_box)
        {
            m_CurBrush      = BuildingMan.CreateBrush(BuildingMan.EBrushType.Box);
            m_CurBrush.mode = boxMode;
        }
        else if (type == BrushType.bt_inclined)
        {
            m_CurBrush = BuildingMan.CreateBrush(BuildingMan.EBrushType.B45Diagonal);
            BSB45DiagonalBrush bd = m_CurBrush as BSB45DiagonalBrush;
            if (bd != null)
            {
                bd.m_Rot = diagonalRot;
            }
        }
        else if (type == BrushType.bt_point)
        {
            m_CurBrush      = BuildingMan.CreateBrush(BuildingMan.EBrushType.Point);
            m_CurBrush.mode = pointMode;
        }
        else if (type == BrushType.bt_selectBlock)
        {
            PEBuildingMan.Self.selectVoxel = false;
            m_CurBrush = BuildingMan.CreateBrush(BuildingMan.EBrushType.Select);
        }
        else if (type == BrushType.bt_selectVoxel)
        {
            PEBuildingMan.Self.selectVoxel = true;
            m_CurBrush = BuildingMan.CreateBrush(BuildingMan.EBrushType.Select);
        }
        else if (type == BrushType.bt_selectInclined)
        {
            m_CurBrush = BuildingMan.CreateBrush(BuildingMan.EBrushType.None);
        }
        else if (type == BrushType.bt_selectAll)
        {
            PEBuildingMan.Self.selectVoxel = false;
            m_CurBrush = BuildingMan.CreateBrush(BuildingMan.EBrushType.IsoSelectBrush);
        }
        else if (type == BrushType.bt_iso)
        {
            m_CurBrush = BuildingMan.CreateBrush(BuildingMan.EBrushType.Iso);
        }
    }
Ejemplo n.º 2
0
    void OnCreateBrush(BSBrush brush, BuildingMan.EBrushType type)
    {
//		if (type == BuildingMan.EBrushType.Select)
//		{
//			_updatePattern = false;
//			// Select mode for voxels
//			if (selectVoxel)
//				_manipulator.pattern = BSPattern.DefaultV1;
//			// Select mode for block
//			else
//				_manipulator.pattern = BSPattern.DefaultB1;
//		}
//		else if (type == BuildingMan.EBrushType.Iso)
//		{
//			_updatePattern = false;
//
//			_manipulator.pattern = BSPattern.DefaultB1;
//		}
//		else
//		{
//			_updatePattern = true;
//		}
    }
Ejemplo n.º 3
0
    /// <summary>
    /// Creates the specific brush.
    /// </summary>
    public static BSBrush CreateBrush(EBrushType type)
    {
        if (Self == null)
        {
            Debug.LogError("Building manipulator");
            return(null);
        }

        if (type == Self.m_BrushType)
        {
            return(Self.m_ActiveBrush);
        }

        if (Self.m_ActiveBrush != null)
        {
            Destroy(Self.m_ActiveBrush.gameObject);
        }

        BSBrush brush = null;

        switch (type)
        {
        case EBrushType.Point:
            brush = BSBrush.Create <BSPointBrush>(Self.brushPrefabs.pointBrush, Self.brushGroup.transform);
            break;

        case EBrushType.Box:
            brush = BSBrush.Create <BSBoxBrush>(Self.brushPrefabs.boxBrush, Self.brushGroup.transform);
            break;

        case EBrushType.Select:
            brush = BSBrush.Create <BSMiscBrush>(Self.brushPrefabs.SelectBrush, Self.brushGroup.transform);
            break;

        case EBrushType.Iso:
            brush = BSBrush.Create <BSIsoBrush>(Self.brushPrefabs.IsoBrush, Self.brushGroup.transform);
            break;

        case EBrushType.B45Diagonal:
            brush = BSBrush.Create <BSB45DiagonalBrush>(Self.brushPrefabs.diagonalBrush, Self.brushGroup.transform);
            break;

        case EBrushType.IsoSelectBrush:
            brush = BSBrush.Create <BSIsoSelectBrush>(Self.brushPrefabs.IsoSelectBrush, Self.brushGroup.transform);
            break;

        default:
            break;
        }
        Self.m_BrushType = type;

        if (brush == null)
        {
            return(null);
        }

        Self.m_ActiveBrush = brush;

        brush.pattern              = Self.pattern;
        brush.dataSource           = Self.m_ActiveData;
        Self.voxelIndicator.minVol = brush.minvol;

        if (Self.onCreateBrush != null)
        {
            Self.onCreateBrush(brush, type);
        }

        return(brush);
    }