2017-04-07 7 views
-3

私は、開発者が設定できる2つの公開KeyCode変数を持つスクリプトを持っています。達成しようとしているのは、開発者がプレイヤーの攻撃として「Space」と選択したと言うときです。私が達成しようとしているものとして、選択に「Space」を含まない次の公開KeyCode選択「Interaction」 2つのKeyCodeを同じKeyに設定することはできません。既に選択されているキーコードを削除するUnity

私は、OnValidateにチェックを入れて、コンソールに変更する必要があるという警告を作成することができます。しかし、私は開発者のためのツールを作っているので、とにかくその道を避け、それが意味をなさないならば壊れないようなレールにそれらを持たせたいと思っています。

+0

答えが分からないために人がダウンしてしまった。 – JoeyL

答えて

1

Fil選択した可能性があるすべてのキーを持つリストまたは配列を選択し、選択したすべてのキーについて、リスト/配列から削除します。

次に、選択できるキーのみを持つ新しいリストまたはアレイがあります。

自分のやり方でこれを少しだけ書き直す必要があります。 (C#ユニティコード)

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 
    } 
} 
関連する問題