double-hit-balls/proj.ios/ViewController.swift

122 lines
3.2 KiB
Swift
Raw Normal View History

2017-01-17 10:55:12 +00:00
//
// ViewController.swift
// salmontemplate
//
// Created by Роберт Хайреев on 16/01/2017.
//
//
import UIKit
import GLKit
2017-02-26 23:07:37 +00:00
var defaultView: GLKView? = nil
2017-01-17 10:55:12 +00:00
class ViewControllerTemplate: GLKViewController, UITextFieldDelegate {
public var hiddenTextField: UITextField?
private var context: EAGLContext?
private var effect: GLKBaseEffect?
override func viewDidLoad() {
super.viewDidLoad()
guard let context = EAGLContext(api: .openGLES2) else {
print("Failed to create ES context")
return
}
self.context = context
let view: GLKView = self.view as! GLKView
view.context = self.context!
view.drawableDepthFormat = .format24
2017-02-26 23:07:37 +00:00
self.preferredFramesPerSecond = 60
defaultView = view
SE_SetBindDrawableFunc({
defaultView?.bindDrawable()
});
2017-01-17 10:55:12 +00:00
setupGL()
let recognizer = UIPinchGestureRecognizer(target: self, action: #selector(respondToPinch(gestureRecognizer:)))
recognizer.delaysTouchesEnded = false
view.addGestureRecognizer(recognizer)
view.isMultipleTouchEnabled = true
hiddenTextField = UITextField(frame: CGRect(x: -200, y: -200, width: 0, height: 0))
hiddenTextField?.autocorrectionType = .no
view.addSubview(hiddenTextField!)
hiddenTextField?.delegate = self
NotificationCenter.default.addObserver(self, selector: #selector(onReceiveKeyboardNotification(notification:)), name: .UITextFieldTextDidChange, object: nil)
}
deinit {
tearDownGL()
}
func setupGL() {
EAGLContext.setCurrent(context)
appInitCaller()
}
func tearDownGL() {
EAGLContext.setCurrent(context)
SE_AppDeinit()
}
func appInitCaller() {
// CustomAppInit()
}
func respondToPinch(gestureRecognizer: UIPinchGestureRecognizer) {
SE_AppOnScale(Float(gestureRecognizer.scale))
}
func onReceiveKeyboardNotification(notification: NSNotification) {
if notification.name == .UITextFieldTextDidChange {
let textField = notification.object as! UITextField
let text = textField.text
SE_SetKeyboardText(text)
}
}
func textFieldDidBeginEditing(_ textField: UITextField) {
print("Begin")
}
func textFieldDidEndEditing(_ textField: UITextField) {
print("End")
}
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if string == "\n" {
textField.resignFirstResponder()
SE_OnKeyboardHide()
}
return true
}
func update() {
SE_AppUpdate(Int32(self.timeSinceLastUpdate * 1000))
}
override func glkView(_ view: GLKView, drawIn rect: CGRect) {
SE_AppDraw()
}
}
class ViewController: ViewControllerTemplate {
override func appInitCaller() {
CustomAppInit()
}
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return [.landscapeLeft, .landscapeRight]
}
}