// Update is called once per frame void FixedUpdate() { if (baseAttacked) { if (Vector3.Distance(transform.position, OrcTownCenter.transform.position) < 2.0f) { baseAttacked = false; } } else { Collider2D[] hits = Physics2D.OverlapCircleAll(transform.position, 6.0f, 1 << LayerMask.NameToLayer("Building") | 1 << LayerMask.NameToLayer("Unit")); float distanceToTarget = Mathf.Infinity; GameObject closestTarget = null; foreach (Collider2D hit in hits) { if (hit && (hit.tag == "Player" || hit.tag == "PlayerBuilding")) { if (Vector3.Distance(hit.transform.position, this.transform.position) < distanceToTarget) { distanceToTarget = Vector3.Distance(hit.transform.position, transform.position); closestTarget = hit.gameObject; } } } if ((currentTarget == null && closestTarget != null) || (closestTarget && closestTarget != currentTarget)) { currentTarget = closestTarget; controller.Attack(closestTarget); } } }
public void OnEnter(CharacterController character) { this.character = character; character.Attack(direction); animator = character.GetComponent<Animator>(); idleHash = Animator.StringToHash("Idle"); }
public void Action() { if (!CanAction()) { return; } AbilityTriggerd(); cc.Attack(); }
public void CanAttack() { //assemble var controller = new CharacterController(); //act var result = controller.Attack(Guid.NewGuid(), 1, DamageType.Acid); //assert Assert.IsTrue(result); }
void TriggerUpdate() { if (_stateLooking) { CharacterController.LookForPlayer(); } else if (_stateWalkingTowardsPlayer) { CharacterController.WalkTowardsPlayer(); } else if (_stateAttacking) { CharacterController.Attack(); } }
// Update is called once per frame void OnGUI() { GUI.skin = skin; if (GUI.Button(buttonAttack, "Attack")) { StartCoroutine(character.Attack()); } if (GUI.Button(buttonShield, "Shield")) { character.UseShield(); } if (playerLost) { GUI.Label(new Rect(Screen.width / 2, Screen.height / 2, 200, 200), "Perdu.."); } GUI.Label(labelHP, player.hp.ToString()); DebugLog(); }
private void CheckInputs() { currentMove = Vector2.zero; float moveY = 0; float moveX = 0; if (PlayerCharacteristics.GetValue(PowerShape.Type.PRIM_MOVEMENT)) { moveY = Input.GetAxisRaw("Vertical"); moveX = Input.GetAxisRaw("Horizontal"); } if (Input.GetMouseButton(0)) { controller.Attack(); } if (moveY > 0) { currentMove.y = 1; } else if (moveY < 0) { currentMove.y = -1; } if (moveX > 0) { currentMove.x = 1; } else if (moveX < 0) { currentMove.x = -1; } if (currentMove.y != 0 && currentMove.x != 0) { currentMove.y /= Mathf.Sqrt(2); currentMove.x /= Mathf.Sqrt(2); } }