gpt4 book ai didi

c# - 从列表创建敌人

转载 作者:太空宇宙 更新时间:2023-11-03 21:53:36 25 4
gpt4 key购买 nike

所以我想从敌人列表中随机生成一个敌人,但是我找不到一种干净的方法来从列表中的敌人实例创建一个新的敌人实例。这主要是因为我有完全不同对象类型的敌人(敌人类型的子类),所以我不能简单地将所有属性复制过来。例如:

List<Enemy> EnemyDB = new List<Enemy>();
EnemyDB.Add(new Enemy(150,1.8f,"grunt"));
EnemyDB.Add(new EnemyOther(60, 5.8f, "bug"));
Enemy template = EnemyDB.[get random enemy];
Enemy toBeSpawned = ????;

如何获得列表敌人的新实例?有没有更好的方法来完全做到这一点?

最佳答案

尝试为每个敌人子类型创建一个“克隆”方法,并在您从列表中随机选择的子类型上调用该方法。您也可以选择“轻量级”;创建一个更浅的副本,它只引用 Enemy 的更昂贵的成员,例如图形元素( Sprite 、纹理、骨架),而不是制作多个内存副本。

关于c# - 从列表创建敌人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13326276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com