private void FixedUpdate() { if (!Logic.Instance.IsGameOver && !Logic.Instance.StayPlayer) { IsGround = Physics2D.OverlapCircle(CoordinateLegs.position, 0.2f, Ground); Move(); if (InputUI.GetKeyDown(UIKeyCode.FIRE)) { UpSpeed(2); } if (IsGround) { JumpForce = basic_jump_force; // default jump when player on ground } if (IsUpSpeed && InputUI.GetKey(UIKeyCode.SPACE) && !IsGround) { UpJumpForceInAir(); } if (InputUI.GetKeyDown(UIKeyCode.SPACE) && IsGround) { Jump(JumpForce); } if ((InputUI.GetKey(UIKeyCode.DOWN) || Input.GetKey(KeyCode.S)) && Logic.Instance.ModePlayer != Mode.LITTLE) { Sit(); } } }
public void OnDrag(PointerEventData data) { Vector3 newPos = Vector3.zero; if (m_UseX) { int delta = (int)(data.position.x - startDownPos.x); newPos.x = delta; } if (m_UseY) { int delta = (int)(data.position.y - startDownPos.y); newPos.y = delta; } newPos = Vector3.ClampMagnitude(newPos, MovementRange); InputUI inputUI = GameObject.FindGameObjectWithTag("InputUI").GetComponent<InputUI>(); inputUI.AcceptThrowDelta(newPos); pointerPoint.transform.position = newPos + startDownPos; UpdateVirtualAxes(pointerPoint.transform.position); }
public void Start() { _current = this; AllSurvivorsDead = false; AllSurvivorsEscaped = false; ExitGatesPowered = false; Trial = new Trial(5, 5); Player = new Survivor("You"); Player.IsLocalPlayer = true; Survivors = new List <Survivor>() { new Survivor("Nancy"), new Survivor("Dwight"), new Survivor("Meg"), new Survivor("Zaria") }; Killer = new Killer("The Wraith"); var brain = new Brain(BrainStateType.WANDER); brain.Control(Killer); Player.AddPerk(new SprintBurstPerk()); Trial.Spawn(Player); Trial.Spawn(Killer); foreach (var survivor in Survivors) { var survivorBrain = new Brain(BrainStateType.WANDER); survivorBrain.Control(survivor); Trial.Spawn(survivor); } eventUI = new EventUI(); perkUI = new PerkUI(); inputUI = new InputUI(); minimapUI = new MinimapUI(); repairUI = new RepairUI(); UIManager.Add(eventUI); UIManager.Add(perkUI); UIManager.Add(inputUI); UIManager.Add(minimapUI); UIManager.Add(repairUI); repairUI.Visible = false; inputUI.Input.OnInput = (text) => { ProcessInput(text); }; GameLoopThread = new Thread(new ThreadStart(Update)); GameLoopThread.IsBackground = true; GameLoopThread.Start(); }
public void OnPointerUp(PointerEventData data) { //print("OnPointerUp()"); Vector3 delta = Vector3.zero; if (m_UseX) { int x = (int)(data.position.x - startDownPos.x); delta.x = x; } if (m_UseY) { int y = (int)(data.position.y - startDownPos.y); delta.y = y; } delta = Vector3.ClampMagnitude(delta, MovementRange); InputUI inputUI = GameObject.FindGameObjectWithTag("InputUI").GetComponent<InputUI>(); inputUI.AcceptThrowDelta(delta); inputUI.ReleaseThrow(); pointerPoint.transform.position = startDownPos; UpdateVirtualAxes(startDownPos); pointerBase.GetComponent<Image>().color = passiveColor; pointerPoint.GetComponent<Image>().color = passiveColor; }
public void AttachInputToUI() { //print("Attaching Input To UI"); inputUIObj = GameObject.FindGameObjectWithTag("InputUI"); inputUI = inputUIObj.GetComponent <InputUI>(); inputUI.AttachInputManager(this); inputUI.enableCatchingControls(); }
private void Drift() { Flip(InputUI.GetAxis("Horizontal")); state.SetInteger("State", (int)State.DRIFT); timer_on_drift += Time.deltaTime; if (timer_on_drift >= time_on_drift) { IsDriftAvailable = false; timer_on_drift = 0; } }
private void Awake() { if (Instance) { Destroy(this); } else { Instance = this; } }
private void UpJumpForceInAir() { if (JumpForce <= max_jump_force) { JumpForce += 2; body_player.velocity = new Vector2(body_player.velocity.x, JumpForce / 2); } if (InputUI.GetKeyUp(UIKeyCode.SPACE)) { IsUpSpeed = false; } }
private GameManager gameManager; // Game manager reference #endregion #region Main Methods public void AwakeBehaviour(Character player) { // Get references gameManager = GameManager.Instance; playerChar = player; // Initialize values brilliantMat = pilarRenderer.materials[index]; shadowColor = brilliantMat.GetColor("_SColor"); rimColor = brilliantMat.GetColor("_RimColor"); // Instantiate interact game object GameObject newObject = (GameObject)Instantiate(interactPrefab, Vector3.zero, Quaternion.identity); // Get input UI reference from new object InputUI newUI = newObject.GetComponent <InputUI>(); // Add new input UI reference to interface manager inputs list interfaceManager.Inputs.Add(newUI); // Initialize new input UI reference newUI.AwakeBehaviour(); // Set new interact object parent to the interact root transform newObject.transform.SetParent(interactRoot, false); // Get transform and rect transform references from new object interactUI = newObject.transform; interactRect = newObject.GetComponent <RectTransform>(); interactRect.anchoredPosition = Vector2.zero; // Disable interact game object by default interactUI.gameObject.SetActive(false); if (lineRenderer) { // Initialize line renderer positions and get values linePositions = new Vector3[lineRenderer.transform.childCount]; for (int i = 0; i < linePositions.Length; i++) { linePositions[i] = lineRenderer.transform.GetChild(i).position; } // Initialize line renderer lineRenderer.useWorldSpace = true; lineRenderer.SetVertexCount(linePositions.Length); lineRenderer.SetPositions(linePositions); laserEnd.position = linePositions[1]; } }
private void FixedUpdate() { if (InputUI.GetKeyDown(UIKeyCode.FIRE) && Logic.Instance.ModePlayer == Mode.FIRE && CountFireball < max_fireball) { Fire(); } if (IsShoot) { shoot_timer += Time.deltaTime; if (shoot_timer >= shoot_time) { IsShoot = false; shoot_timer = 0; } } }
private void OnTriggerStay2D(Collider2D collision) { if (collision.gameObject.tag == "Secret" && !isTeleport) { if (InputUI.GetKeyDown(UIKeyCode.DOWN)) { isTeleport = true; direction = Direction.DOWN; GetComponent <Rigidbody2D>().constraints = RigidbodyConstraints2D.FreezeAll; Logic.Instance.BackgroundMain.Stop(); Logic.Instance.PipeAndDownLevel.Play(); Invoke("TeleportToSecret", time_on_direction); Invoke("PlayBackgroundSecret", time_on_direction); } } }
private void Move() { if (!IsDriftAvailable && IsGround && !Shoot.IsShoot) { if (InputUI.GetAxis("Horizontal") != 0) { Flip(InputUI.GetAxis("Horizontal")); state.SetInteger("State", (int)State.RUN); } else { Speed = basic_speed; state.SetInteger("State", (int)State.IDLE); } } body_player.AddForce(new Vector2(InputUI.GetAxis("Horizontal") * Speed, body_player.velocity.y)); body_player.AddForce(new Vector2(Input.GetAxis("Horizontal") * Speed, body_player.velocity.y)); }
private float vibrationCounter; // Gamepad vibration time counter #endregion #region Main Methods public void AwakeBehaviour(Character player) { // Get references gameManager = GameManager.Instance; playerChar = player; // Initialize values canInvoke = true; Renderer[] renderers = GetComponentsInChildren <Renderer>(); materials = new Material[renderers.Length]; // Get references for (int i = 0; i < renderers.Length; i++) { materials[i] = renderers[i].material; } // Instantiate interact game object GameObject newObject = (GameObject)Instantiate(interactPrefab, Vector3.zero, Quaternion.identity); // Get input UI reference from new object InputUI newUI = newObject.GetComponent <InputUI>(); // Add new input UI reference to interface manager inputs list interfaceManager.Inputs.Add(newUI); // Initialize new input UI reference newUI.AwakeBehaviour(); // Set new interact object parent to the interact root transform newObject.transform.SetParent(interactRoot, false); // Get transform and rect transform references from new object interactUI = newObject.transform; interactRect = newObject.GetComponent <RectTransform>(); interactRect.anchoredPosition = Vector2.zero; // Disable interact game object by default interactUI.gameObject.SetActive(false); }
private void Update() { if (Logic.Instance.IsGameOver) // time to restart lvl, if mario is dead { agony_timer += Time.deltaTime; if (agony_timer >= agony_time) { Logic.Instance.TransitToCurrentLevel(); } } else { #region DriftCrutch // if direction change, then animation of drift is on if (IsDriftAvailable && InputUI.GetAxis("Horizontal") != last_direction && InputUI.GetAxis("Horizontal") != 0) { Drift(); } else if (IsDriftAvailable && body_player.velocity.x > -0.25f && body_player.velocity.x < 0.25f) { IsDriftAvailable = false; } #endregion // if player in motion, then the counter is accumulated for possible the drift if (InputUI.GetAxis("Horizontal") != 0 && !IsDriftAvailable) { drift_timer += Time.deltaTime; if (drift_timer >= drift_time) { last_direction = InputUI.GetAxis("Horizontal"); IsDriftAvailable = true; drift_timer = 0; } } } }
private void gridControl_View_CellDoubleClick(object sender, DataGridViewCellEventArgs e) // 그리드뷰 더블클릭 쓰기 { int row = Grid.CurrentCell.RowIndex; int col = Grid.CurrentCell.ColumnIndex; if (state == 1) { if (e.ColumnIndex > 0) // column : 15 ~ 0 { //18~21열 if (e.ColumnIndex >= 17) // Column : HIGH ~ ASCII { string selectAddr = Grid[e.ColumnIndex, 0].Value.ToString(); string dataType = string.Empty; if (string.IsNullOrEmpty(selectAddr)) { return; } int addressNo = row; if (e.ColumnIndex == 17) { dataType = PLCSetDataType.HIGHT_BYTE; // HIGH (08 ~ 15 비트) } else if (e.ColumnIndex == 18) { dataType = PLCSetDataType.LOW_BYTE; // LOW (00 ~ 07 비트) } else if (e.ColumnIndex == 19) { dataType = PLCSetDataType.INTEGER; // ALL } else if (e.ColumnIndex == 20) { dataType = PLCSetDataType.ASCII; // ASCII } InputUI form = new InputUI(dataType, iSelectedRegister, iSelectedAddress + addressNo, this); form.ShowDialog(); } //1~16열 else { Grid[col, row].Value = 1; // 선택한 셀 데이터 값 1 int tmp = 0; try { tmp = int.Parse(Grid[e.ColumnIndex, e.RowIndex].Value.ToString()); // 문자열을 숫자로 변환 함수 } catch { return; } CDataSet ds = new CDataSet(2); byte[] tmpbyte = new byte[2]; tmpbyte = PLCManager.ReadForByte(Device_Def.SearchDeviceCode(Device_Def.Device), iSelectedAddress + (e.RowIndex), 2); // 바이트로 읽기 ds.SetSourceByteArray(0, tmpbyte); ds.SetSource(16 - e.ColumnIndex, (ds.GetSource(16 - e.ColumnIndex) == true) ? false : true); PLCManager.WriteForByte(Device_Def.SearchDeviceCode(Device_Def.Device), iSelectedAddress + (e.RowIndex), ds.GetSource()); // 바이트로 쓰기 } } RefreshDisplayPLCData(); } if (state == 2) { if (e.ColumnIndex > 0) // column : 15 ~ 0 { //18~21열 if (e.ColumnIndex >= 17) // Column : HIGH ~ ASCII { string selectAddr = Grid[e.ColumnIndex, 0].Value.ToString(); string dataType = string.Empty; if (string.IsNullOrEmpty(selectAddr)) { return; } int addressNo = row; if (e.ColumnIndex == 17) { dataType = PLCSetDataType.HIGHT_BYTE; // HIGH (08 ~ 15 비트) } else if (e.ColumnIndex == 18) { dataType = PLCSetDataType.LOW_BYTE; // LOW (00 ~ 07 비트) } else if (e.ColumnIndex == 19) { dataType = PLCSetDataType.INTEGER; // ALL } else if (e.ColumnIndex == 20) { dataType = PLCSetDataType.ASCII; // ASCII } InputUI form = new InputUI(dataType, iSelectedRegister, iSelectedAddress + addressNo, this); form.ShowDialog(); //RefreshDisplayPLCData(); } else { Grid[col, row].Value = 1; CDataSet ds = new CDataSet(2); byte[] tmpbyte = new byte[2]; tmpbyte = PLCManager.ReadForByte(Device_Def.SearchDeviceCode(Device_Def.Device), iSelectedAddress + (e.RowIndex), 2); // 바이트로 읽기 ds.SetSourceByteArray(0, tmpbyte); ds.SetSource(16 - e.ColumnIndex, (ds.GetSource(16 - e.ColumnIndex) == true) ? false : true); PLCManager.WriteForByte(Device_Def.SearchDeviceCode(Device_Def.Device), iSelectedAddress + (e.RowIndex), ds.GetSource()); wSendFrame.MakeWriteFrame(Device_Def.CMD_WORD_UNIT, Device_Def.SearchDeviceCode(Device), ds.GetSource(), iSelectedAddress + (e.RowIndex), 1); if (CL.SendMessage(wSendFrame) == false) { } } } DisplayGridData(); } }