/** 更新。 */ public void Main(bool a_is_focus) { //is_focus this.is_focus = a_is_focus; try{ /** 更新。インプットシステム。デバイスリスト。 */ this.Main_InputSystem_UpdateDeviceList(); for (int ii = 0; ii < this.pad_status.Length; ii++) { if (this.pad_status[ii].enable == true) { //デジタルボタン。更新。 this.Main_DigitalButton(ref this.pad_status[ii]); //トリガー。更新。 this.Main_Trigger(ref this.pad_status[ii]); //スティック。更新。 this.Main_Stick(ref this.pad_status[ii]); } } //更新。 for (int ii = 0; ii < this.pad_status.Length; ii++) { if (this.pad_status[ii].enable == true) { //デジタルボタン。 this.pad_status[ii].left.Main(); this.pad_status[ii].right.Main(); this.pad_status[ii].up.Main(); this.pad_status[ii].down.Main(); this.pad_status[ii].enter.Main(); this.pad_status[ii].escape.Main(); this.pad_status[ii].sub1.Main(); this.pad_status[ii].sub2.Main(); this.pad_status[ii].left_menu.Main(); this.pad_status[ii].right_menu.Main(); //アナログスティック。 this.pad_status[ii].l_stick.Main(); this.pad_status[ii].r_stick.Main(); this.pad_status[ii].l_stick_button.Main(); this.pad_status[ii].r_stick_button.Main(); //トリガーボタン。 this.pad_status[ii].l_trigger_1.Main(); this.pad_status[ii].r_trigger_1.Main(); this.pad_status[ii].l_trigger_2.Main(); this.pad_status[ii].r_trigger_2.Main(); //モータ。 this.pad_status[ii].moter_low.Main(1); this.pad_status[ii].moter_high.Main(1); } } for (int ii = 0; ii < this.pad_status.Length; ii++) { if (this.pad_status[ii].enable == true) { //モーター。更新。 this.Main_Moter(ref this.pad_status[ii]); } } }catch (System.Exception t_exception) { Tool.DebugReThrow(t_exception); } }
/** 更新。 */ public void Main(Fee.Render2D.Render2D a_render2d) { //スクリーンサイズ更新。 { this.screen_w = UnityEngine.Screen.width; this.screen_h = UnityEngine.Screen.height; } try{ for (int ii = 0; ii < this.list.Count; ii++) { this.list[ii].update = false; } //タッチ。 this.Main_Touch(a_render2d); //近距離追跡。 for (int ii = 0; ii < this.device_item_list_count; ii++) { if (this.device_item_list[ii].link == false) { int t_index = this.SearchListItemFromNoUpdate(this.device_item_list[ii].x, this.device_item_list[ii].y, 100); if (t_index >= 0) { //追跡。 this.device_item_list[ii].link = true; //設定。 this.list[t_index].Set(this.device_item_list[ii].x, this.device_item_list[ii].y, this.device_item_list[ii].phasetype); this.list[t_index].SetRawID(this.device_item_list[ii].touch_raw_id); this.list[t_index].update = true; this.list[t_index].fadeoutframe = 0; } } } for (int ii = 0; ii < this.device_item_list_count; ii++) { if (this.device_item_list[ii].link == false) { int t_index = this.SearchListItemFromNoUpdate(this.device_item_list[ii].x, this.device_item_list[ii].y, -1); if (t_index >= 0) { //遠距離追跡。 this.device_item_list[ii].link = true; //設定。 this.list[t_index].Set(this.device_item_list[ii].x, this.device_item_list[ii].y, this.device_item_list[ii].phasetype); this.list[t_index].SetRawID(this.device_item_list[ii].touch_raw_id); this.list[t_index].update = true; this.list[t_index].fadeoutframe = 0; } else { Touch_Phase t_touch_phase = new Touch_Phase(); this.list.Add(t_touch_phase); t_index = this.list.Count - 1; { //新規。 this.device_item_list[ii].link = true; //設定。 this.list[t_index].Set(this.device_item_list[ii].x, this.device_item_list[ii].y, this.device_item_list[ii].phasetype); this.list[t_index].SetRawID(this.device_item_list[ii].touch_raw_id); this.list[t_index].update = true; this.list[t_index].fadeoutframe = 0; } if (this.callback != null) { this.callback(t_touch_phase); } } } } { int ii = 0; while (ii < this.list.Count) { if (this.list[ii].update == false) { this.list[ii].fadeoutframe++; if (this.list[ii].fadeoutframe >= 10) { //タイムアウト削除。 this.list.RemoveAt(ii); } else { this.list[ii].update = true; this.list[ii].phasetype = Touch_Phase.PhaseType.FadeOut; } } else { ii++; } } } //更新。 for (int ii = 0; ii < this.list.Count; ii++) { this.list[ii].Main(); } }catch (System.Exception t_exception) { Tool.DebugReThrow(t_exception); } }