- Home /
Question by
darkal · Jan 01, 2019 at 11:31 PM ·
mousekeycodegetaxismousewheel
Add scroll wheel.
I have it so keys can be set by any keycode but i cant use scroll wheel with my current code and i cant think of a way set it up so it can read mousewheel up/down as input.
keycontroller
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Serialization;
public class KeyController : MonoBehaviour {
[HideInInspector]
public bool save;
[HideInInspector]
public KeybindV2[] KeyCS;
// Use this for initialization
void Awake () {
}
// Update is called once per frame
void Update()
{
KeyCS = this.gameObject.GetComponents<KeybindV2>();
}
public void SaveKeys()
{
for (int i = 0; i < KeyCS.Length; i++)
{
PlayerPrefs.SetString(KeyCS[i].keyname, KeyCS[i].AllKeys.key.ToString());
}
}
}
key
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Serialization;
using UnityEngine.EventSystems;
public class KeybindV2 : MonoBehaviour {
public string keyname;
public MyKeys AllKeys;
public Text Disc;
[System.Serializable]
public class MyKeys
{
//public GameObject KeyOBJ;
public string keyname;
public KeyCode key;
public bool changekey;
public Button KeyButton;
public Text KeyTxt;
}
// Use this for initialization
void Start()
{
AllKeys.keyname = Disc.gameObject.name;
Disc.text = AllKeys.keyname;
AllKeys.key = (KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString(AllKeys.keyname, AllKeys.key.ToString()));
AllKeys.KeyButton = Disc.gameObject.transform.GetChild(0).GetComponent<Button>();
AllKeys.KeyTxt = AllKeys.KeyButton.gameObject.transform.GetChild(0).GetComponent<Text>();
}
// Update is called once per frame
void Update()
{
AllKeys.KeyTxt.text = AllKeys.key.ToString();
AllKeys.KeyButton.onClick.AddListener(delegate () { this.ChangeKey(); });
if (AllKeys.changekey)
{
AllKeys.KeyTxt.text = "Unassigned";
foreach (KeyCode kcode in System.Enum.GetValues(typeof(KeyCode)))
{
if (Input.GetKeyDown(kcode))
{
AllKeys.key = (KeyCode)System.Enum.Parse(typeof(KeyCode), kcode.ToString());
AllKeys.changekey = false;
}
}
}
keyname = AllKeys.keyname;
}
public void ChangeKey()
{
AllKeys.changekey = true;
}
public void SaveKey()
{
PlayerPrefs.SetString(AllKeys.keyname, AllKeys.key.ToString());
}
}
Comment