2017-04-07 16 views
-3

개발자가 설정할 수있는 2 개의 공개 KeyCode 변수가있는 스크립트가 있습니다. 내가 성취하고자하는 것은 플레이어가 "우주"가되기 위해 플레이어의 공격으로 선택한다고 할 때입니다. 다음 공용 공개 키 코드 선택 "상호 작용"에서 내가 선택한 것을 "우주"를 포함시키지 않으려 고합니다. 2 개의 KeyCode를 같은 Key로 설정할 수 없다는 것입니다.이미 선택되어있는 키 코드를 제거하는 통합

내가 OnValidate에 체크를하고 콘솔에서 경고를 만들어야한다는 것을 알고 있습니다. 그러나 개발자를위한 도구를 만들면서 어쨌든 그 길은 피하고 그냥 이해가된다면 망가 뜨리지 않는 선상에 놓고 싶습니다.

+0

답변을 알지 못하기 때문에 downvoting하는 사람들의 분량. – JoeyL

답변

1

필 목록에서 선택한 모든 키를 가진 목록 또는 배열을 필터링하고 제거한 모든 선택된 키에 대해 목록/배열에서 제거합니다.

그런 다음 선택할 수있는 키만있는 새 목록 또는 배열이 있습니다.

당신 만의 방식으로 약간의 재 작업 만하면됩니다. (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 
    } 
}