public void DisplayGlyph(NCControlElementID id) { Texture2D tex = GetGlyph(id); Debug.Log("Texture size is " + tex.width + " x " + tex.height); _glyphSprite = Sprite.Create(tex, new Rect(0.0f, 0.0f, tex.width, tex.height), new Vector2(0.5f, 0.5f), 100.0f); _spriteRenderer.sprite = _glyphSprite; }
// Get the apple glyph for the given control element, based on the controller which we are registered to receive input from // Note that you cannot get glyphs until you register a controller input handler // Also note that these will not all glyphs are the same size public static Texture2D GetGlyph(NCControlElementID elementID) { long len = NCGenerateGlyphForInput((int)elementID); Texture2D tex = new Texture2D(1, 1); if (len > 0) { byte[] imgBuffer = new byte[len]; NCGetGeneratedGlyph(imgBuffer); tex.LoadImage(imgBuffer, false); } return(tex); }
private static void OnAppleControllerInput(int id, float val1, float val2) { if (!Application.isPlaying) { return; } if (appleVirtualController == null) { return; } if (id >= 0 && id < Enum.GetNames(typeof(NCControlElementID)).Length) { //Debug.Log("Apple Controller Input! ID: " + ((NCControlElementID)id).ToString("g") + " val1: " + val1 + " val2: " + val2); NCControlElementID elemID = (NCControlElementID)id; switch (elemID) { case NCControlElementID.ButtonA: appleVirtualController.SetButtonValue(0, val2 != 0); break; case NCControlElementID.ButtonB: appleVirtualController.SetButtonValue(1, val2 != 0); break; case NCControlElementID.ButtonX: appleVirtualController.SetButtonValue(2, val2 != 0); break; case NCControlElementID.ButtonY: appleVirtualController.SetButtonValue(3, val2 != 0); break; case NCControlElementID.ButtonShoulderLeft: appleVirtualController.SetButtonValue(4, val2 != 0); break; case NCControlElementID.ButtonShoulderRight: appleVirtualController.SetButtonValue(5, val2 != 0); break; case NCControlElementID.ButtonTriggerLeft: appleVirtualController.SetButtonValue(6, val2 != 0); appleVirtualController.SetAxisValue(6, val1); break; case NCControlElementID.ButtonTriggerRight: appleVirtualController.SetButtonValue(7, val2 != 0); appleVirtualController.SetAxisValue(7, val2); break; case NCControlElementID.ButtonHome: appleVirtualController.SetButtonValue(8, val2 != 0); break; case NCControlElementID.ButtonMenu: appleVirtualController.SetButtonValue(9, val2 != 0); break; case NCControlElementID.ButtonOptions: appleVirtualController.SetButtonValue(10, val2 != 0); break; case NCControlElementID.ButtonUp: appleVirtualController.SetButtonValue(11, val2 != 0); break; case NCControlElementID.ButtonDown: appleVirtualController.SetButtonValue(12, (val2 != 0)); break; case NCControlElementID.ButtonLeft: appleVirtualController.SetButtonValue(13, val2 != 0); break; case NCControlElementID.ButtonRight: appleVirtualController.SetButtonValue(14, val2 != 0); break; case NCControlElementID.ButtonThumbstickLeft: appleVirtualController.SetButtonValue(15, val2 != 0); break; case NCControlElementID.ButtonThumbstickRight: appleVirtualController.SetButtonValue(16, val2 != 0); break; case NCControlElementID.Dpad: appleVirtualController.SetAxisValue(0, val1); appleVirtualController.SetAxisValue(1, val2); break; case NCControlElementID.ThumbstickLeft: appleVirtualController.SetAxisValue(2, val1); appleVirtualController.SetAxisValue(3, val2); break; case NCControlElementID.ThumbstickRight: appleVirtualController.SetAxisValue(4, val1); appleVirtualController.SetAxisValue(5, val2); break; default: break; } } }