我对在游戏中实现面向对象的编程没什么困惑,希望您能对我有所帮助。

所以我创建了:


ChunkClass:块对象的基类
ChunkBuilder:产生块的工厂静态类
Map:定位我的块,物品,风景对象等的类。


我的ChunkBuilder类如下:

public static class ChunkBuilder
{
    private static List<Chunk> _chunk = new List<Chunk>();

    public static List<Chunk> Chunk
    {
        get { return _chunk; }
        set { _chunk = value; }
    }

    /// <summary>
    /// Create a chunk with tiles on position.
    /// </summary>
    /// <param name="tx">Tiles on the X Axis.</param>
    /// <param name="ty">Tiles on the Y Axis.</param>
    /// <param name="tz">Tiles on the Z Axis.</param>
    /// <param name="pos">The Posiiont of the Chunk.</param>
    public static void CreateChunk(int tx, int ty, int tz, Vector3Int pos)
    {
        _chunk.Add(new Chunk(tx, ty, tz, pos));
    }
}


我认为我在创建类似块的方法上做错了,因为那样我从ChunkBuilder的列表中获取块数据...但是在我看来,这是错误的,因为那应该是在构建类?同样在同一个ChunkBuilder类中,我想添加一个方法RemoveChunkFrom(Vector3Int pos),这将完全破坏构建模式吗?我承认我从4个月开始编程,而我对如何做这样的事情感到困惑。你能帮我吗?

最佳答案

让您的ChunkBuilder.CreateChunk方法将新创建的块添加到列表后,将其返回。

至于感觉,也许命名更改会有所帮助。ChunkBuilder可能会变成ChunkFactory

关于c# - 对构建模式感到困惑C#,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20346692/

10-10 16:22