C# Unity,删除已选定的关键码

C# Unity,删除已选定的关键码,c#,unity3d,keycode,C#,Unity3d,Keycode,我有一个脚本,它有两个开发人员可以设置的公钥代码变量。我想实现的是,当开发人员选择玩家攻击为“空间”时,我希望下一个公钥选择“交互”在其选择中不包括“空间”,因为我试图实现的是,没有两个密钥可以设置为同一个密钥 我知道我可以在OnValidate上设置一个签入,并在控制台中创建一个需要更改的警告。但是,当我为开发人员制作工具时,我希望尽可能避免这条路,只要把它们放在合理的轨道上就行。填写一个列表或数组,其中包含所有可能已选择的键,并且对于您删除的每个选定键,都将从列表/数组中删除 然后,您将有一

我有一个脚本,它有两个开发人员可以设置的公钥代码变量。我想实现的是,当开发人员选择玩家攻击为“空间”时,我希望下一个公钥选择“交互”在其选择中不包括“空间”,因为我试图实现的是,没有两个密钥可以设置为同一个密钥


我知道我可以在OnValidate上设置一个签入,并在控制台中创建一个需要更改的警告。但是,当我为开发人员制作工具时,我希望尽可能避免这条路,只要把它们放在合理的轨道上就行。

填写一个列表或数组,其中包含所有可能已选择的键,并且对于您删除的每个选定键,都将从列表/数组中删除

然后,您将有一个新的列表或数组,其中只包含可以选择的键

你只需要用你自己的方式重新做一点点。(C#统一代码)

使用系统;
使用System.Collections.Generic;
公共类密钥选择器
{
公开名单选择;
公共无效AddKey(KeyCode)
{
选择。添加(键码);
}
public void RemoveKey(KeyCode)
{
选择。删除(键码);
}
//Foreach Keycode-in-selection(用于创建开发人员可以选择的列表)
foreach(选择中的Keycode键)
{
//TODO编写代码以制作列表
}
}

Lol因为不知道答案而投反对票的人数。
using System;
using System.Collections.Generic;

public class KeySelector 
{
    public List<KeyCode> selection;

    public void AddKey(KeyCode)
    {
        selection.Add(KeyCode);
    }

    public void RemoveKey(KeyCode)
    {
        selection.Remove(KeyCode);
    }

    //Foreach Keycode in selection (To make the list that the dev can choose of)
    foreach(Keycode key in selection)
    {
        //TODO write code to make a list
    }
}