void Awake() { TunerEventMgr.Instance.addEventCallBack((int)ClientEventId.EnalbeEventDispather, OnEnableEventDispather); m_input_mode_map.Add(InputMode.InputMode_NoFinger, new NoFingerInputMode(this)); m_input_mode_map.Add(InputMode.InputMode_OneFinger, new OneFingerInputMode(this)); m_input_mode_map.Add(InputMode.InputMode_TwoFinger, new TwoFingerInputMode(this)); m_cur_mode = m_input_mode_map[m_input_mode_type]; }
// Update is called once per frame void Update() { if (m_isEnable) { if (Application.platform == RuntimePlatform.WindowsEditor || Application.platform == RuntimePlatform.OSXEditor) { if (Input.GetMouseButtonDown(0)) { m_cur_mode.leave(); m_input_mode_type = InputMode.InputMode_OneFinger; m_cur_mode = m_input_mode_map[m_input_mode_type]; m_cur_mode.enter(); } if (Input.GetMouseButtonUp(0)) { m_cur_mode.leave(); m_input_mode_type = InputMode.InputMode_NoFinger; m_cur_mode = m_input_mode_map[m_input_mode_type]; m_cur_mode.enter(); } m_cur_mode.update(); } else { if (Input.touches.Length == 1) { if (m_input_mode_type != InputMode.InputMode_OneFinger) { m_input_mode_type = InputMode.InputMode_OneFinger; m_cur_mode.leave(); m_cur_mode = m_input_mode_map[m_input_mode_type]; m_cur_mode.enter(); } } else if (Input.touches.Length == 2) { if (m_input_mode_type != InputMode.InputMode_TwoFinger) { m_input_mode_type = InputMode.InputMode_TwoFinger; m_cur_mode.leave(); m_cur_mode = m_input_mode_map[m_input_mode_type]; m_cur_mode.enter(); } } else { if (m_input_mode_type != InputMode.InputMode_NoFinger) { m_input_mode_type = InputMode.InputMode_NoFinger; m_cur_mode.leave(); m_cur_mode = m_input_mode_map[m_input_mode_type]; m_cur_mode.enter(); } } m_cur_mode.update(); } } else { if (m_input_mode_type != InputMode.InputMode_NoFinger) { m_input_mode_type = InputMode.InputMode_NoFinger; m_cur_mode.leave(); m_cur_mode = m_input_mode_map[m_input_mode_type]; m_cur_mode.enter(); } } }