小编Dio*_*aak的帖子

如何简化这一长串if语句?

我正在使用Unity制作游戏.我在游戏中有多个动物敌人.

我正在进行游戏中的任务,你必须杀死随机数量的随机动物,我已经拥有了.

我遇到的问题是当你杀死动物时增加任务数量.

我有一个脚本(死)坐在每只动物身上,当动物死亡时,它会在死亡脚本中调用一个公共函数.

从死亡脚本中,它应该在"MissionHolder"脚本中增加一个int值,其中所有动物都有一个int值,当你杀死一只动物时它会增加.

问题是当玩家杀死一只动物时,我不知道哪只动物被杀死了,我做的是这样的:

public string Name;
public MissionHolder missionHolder;
    public void Kill()
{
    if (name == "Tiger")
    {
        missionHolder.Tiger += 1;
    }

    if (name == "Hyena")
    {
        missionHolder.Hyena += 1;
    }

    if (name == "Gorilla")
    {
        missionHolder.Gorilla += 1;
    }

    if (name == "Giraffe")
    {
        missionHolder.Giraffe += 1;
    }

    if (name == "Gazelle")
    {
        missionHolder.Gazelle += 1;
    }
Run Code Online (Sandbox Code Playgroud)

等等

现在我只是在死亡剧本上用它的名字命名每只动物,但这不是很有效.

有谁知道更好的方法吗?

c# performance unity-game-engine

7
推荐指数
1
解决办法
180
查看次数

标签 统计

c# ×1

performance ×1

unity-game-engine ×1