void Update() { if (PlayerInput.GetButton("Fire")) { if (eventManager != null) { Vector2 target = Camera.main.ScreenToWorldPoint(Input.mousePosition).ToVector2(); if (Vector2.Distance(rigidbody.position, target) < mouseMinDistance) { target = (rigidbody.rotation.ToVector2() * mouseMinDistance) + rigidbody.position; } eventManager.TriggerEvent(GunEvents.OnShoot, new ParamsObject(target)); } } if (PlayerInput.GetButtonUp("Fire")) { if (eventManager != null) { eventManager.TriggerEvent(PlayerEvents.OnUnlockShoot); } } if (PlayerInput.GetButtonDown("Reload")) { if (eventManager != null) { eventManager.TriggerEvent(GunEvents.OnReload); } } }
bool SetMovementTargetToPlayerPosition() { eventManager.TriggerEvent(EnemyEvents.OnSetMovementTarget, new ParamsObject(playerRigidbody.position)); //if (Input.GetMouseButtonDown(2)) { // //RaycastHit2D hit = Physics2D.Raycast(ray.origin, ray.direction, Mathf.Infinity, LayerMask.NameToLayer("Default")); // Vector2 mousePos = Input.mousePosition; // Vector2 pos = Camera.main.ScreenToWorldPoint(new Vector3(mousePos.x, mousePos.y, Camera.main.nearClipPlane)); // eventManager.TriggerEvent(EnemyEvents.OnSetMovementTarget, new ParamsObject(pos)); // return true; //} return(true); }
public void SwapPlayerAbility(int indexOne, int indexTwo) { Transform indexOneTransform = transform.GetChild(indexOne); Transform indexTwoTransform = transform.GetChild(indexTwo); if (Mathf.Abs(indexOne - indexTwo) > 1) { transform.GetChild(indexTwo).SetSiblingIndex(indexOne); } indexOneTransform.SetSiblingIndex(indexTwo); uiStatusPanels.SetPlayerAbility(indexOneTransform.GetSiblingIndex(), indexOneTransform.GetComponent <PlayerAbility>()); uiStatusPanels.SetPlayerAbility(indexTwoTransform.GetSiblingIndex(), indexTwoTransform.GetComponent <PlayerAbility>()); eventManager.TriggerEvent($"OnUpdateAbility{indexOneTransform.GetSiblingIndex()}", new ParamsObject(indexOneTransform.GetComponent <PlayerAbility>())); eventManager.TriggerEvent($"OnUpdateAbility{indexTwoTransform.GetSiblingIndex()}", new ParamsObject(indexTwoTransform.GetComponent <PlayerAbility>())); }
bool SetMovementTargetToStrafePoint() { float angle = Random.Range(0, Mathf.PI * 2); Vector2 strafePos = strafeCenter + new Vector2(Mathf.Cos(angle), Mathf.Sin(angle)) * strafePointDistance; eventManager.TriggerEvent(EnemyEvents.OnSetMovementTarget, new ParamsObject(strafePos)); return(true); }
void OnTriggerEnter2D(Collider2D coll) { DamageSource damageSource = coll.GetComponent <DamageSource>(); if (damageSource) { if (damageTags.Contains(damageSource.Source)) { eventManager.TriggerEvent(EnemyEvents.OnRoll, new ParamsObject(coll.attachedRigidbody.velocity)); } } }
bool SetMovementTargetToSearchPointAroundSearchCenter() { List <PathfindingNode> possibleSearchNodes = new List <PathfindingNode>(); List <PathfindingNode> neighborsToCheck = new List <PathfindingNode>(); HashSet <PathfindingNode> neighborsChecked = new HashSet <PathfindingNode>(); PathfindingNode searchCenterNode = grid.NodeAtWorldPosition(searchCenter); float searchRadius = this.searchRadius; if (Vector2.Distance(searchCenter, searchCenterNode.WorldPosition) > grid.GridScale) { searchCenter = searchCenterNode.WorldPosition; searchRadius = Vector2.Distance(searchCenter, rigidbody.position); } neighborsToCheck.Add(searchCenterNode); PathfindingNode neighborToCheck; while (neighborsToCheck.Count > 0) { neighborToCheck = neighborsToCheck[0]; neighborsToCheck.RemoveAt(0); foreach (PathfindingNode neighbor in grid.GetNeighbors(neighborToCheck)) { if (!neighborsChecked.Contains(neighbor)) { if (Vector2.Distance(searchCenter, neighbor.WorldPosition) <= searchRadius) { neighborsToCheck.Add(neighbor); if (neighbor.IsWalkable) { possibleSearchNodes.Add(neighbor); } } neighborsChecked.Add(neighbor); } } } if (possibleSearchNodes.Count <= 0) { return(false); } PathfindingNode searchNode = possibleSearchNodes[Random.Range(0, possibleSearchNodes.Count - 1)]; eventManager.TriggerEvent(EnemyEvents.OnSetMovementTarget, new ParamsObject(searchNode.WorldPosition)); return(true); }
void Update() { if (roll) { RaycastHit2D posDir = Physics2D.Raycast(rigidbody.position, rollDirection.normalized, rollDistance, movementBlockMask); RaycastHit2D negDir = Physics2D.Raycast(rigidbody.position, -rollDirection.normalized, rollDistance, movementBlockMask); if (!posDir && !negDir) { if (Random.value > .5f) { rollDirection = -rollDirection; } } if (posDir && negDir) { if (negDir.distance > posDir.distance) { rollDirection = -rollDirection; } if (negDir.distance == posDir.distance) { if (Random.value > .5f) { rollDirection = -rollDirection; } } } if (posDir && !negDir) { rollDirection = -rollDirection; } rollStartPos = rigidbody.position; rigidbody.velocity = rollDirection.normalized * movementSpeed * 3; rollVelocity = rigidbody.velocity; shouldRollAwayFromProjectile = false; roll = false; eventManager.TriggerEvent(EnemyEvents.OnRollStart); rolling = true; } if (rollOnCooldown && !rolling) { rollCooldownTimer -= Time.deltaTime; if (rollCooldownTimer <= 0) { rollCooldownTimer = rollCooldownTime; eventManager.TriggerEvent(EnemyEvents.OnRollCooldownEnd); rollOnCooldown = false; } } if (!rollOnCooldown && rolling) { if (Vector2.Distance(rollStartPos, rigidbody.position) >= rollDistance) { rigidbody.velocity = Vector2.zero; eventManager.TriggerEvent(EnemyEvents.OnRollEnd); rolling = false; eventManager.TriggerEvent(EnemyEvents.OnRollCooldownStart); rollOnCooldown = true; } if (!rollVelocity.Equals(rigidbody.velocity)) { eventManager.TriggerEvent(EnemyEvents.OnRollEnd); rolling = false; eventManager.TriggerEvent(EnemyEvents.OnRollCooldownStart); rollOnCooldown = true; } } }
void Start() { eventManager.TriggerEvent(EnemyEvents.OnSendMovementSpeed, new ParamsObject(maxRunSpeed)); }
void OnCollisionEnter2D(Collision2D coll) { eventManager.TriggerEvent(PlayerEvents.OnReturnGun); }
void Start() { eventManager.TriggerEvent(EnemyEvents.OnSendSightAngle, new ParamsObject(sightAngle)); eventManager.TriggerEvent(EnemyEvents.OnSendSightDistance, new ParamsObject(sightDistance)); eventManager.TriggerEvent(EnemyEvents.OnSendSightBlockMask, new ParamsObject(sightBlockMask)); }
bool Shoot() { eventManager.TriggerEvent(GunEvents.OnShoot, new ParamsObject(aimTarget)); return(true); }
bool SetMovementTargetToCoverTarget() { eventManager.TriggerEvent(EnemyEvents.OnSetMovementTarget, new ParamsObject(coverTarget)); return(true); }
protected override bool OnCollisionEnterAction(Collision2D coll) { eventManager.TriggerEvent(HealthEvents.OnDecreaseHealth, new ParamsObject(coll.gameObject.GetComponent <DamageSource>().Damage)); return(true); }
void Start() { eventManager.TriggerEvent(GunEvents.OnUpdateMaxAmmo, new ParamsObject(MaxAmmo)); eventManager.TriggerEvent(GunEvents.OnUpdateCurrentAmmo, new ParamsObject(CurrentAmmo)); eventManager.TriggerEvent(GunEvents.OnUpdateGunProjectileSpeed, new ParamsObject(projectileSpeed)); eventManager.TriggerEvent(GunEvents.OnUpdateGunDamage, new ParamsObject(damage)); eventManager.TriggerEvent(GunEvents.OnUpdateGunTransform, new ParamsObject(transform)); eventManager.TriggerEvent(GunEvents.OnUpdateGunFireType, new ParamsObject(automatic)); eventManager.TriggerEvent(GunEvents.OnUpdateGunProjectile, new ParamsObject(projectileToBeFired)); eventManager.TriggerEvent(GunEvents.OnUnlockFire); }
private bool SetPlayerLastKnownPositionToNoiseLocation() { eventManager.TriggerEvent(EnemyEvents.OnSetPlayerLastKnownLocation, new ParamsObject(noiseLocation)); return(true); }
void Start() { eventManager.TriggerEvent(HealthEvents.OnUpdateMaxHealth, new ParamsObject(MaxAmount)); eventManager.TriggerEvent(HealthEvents.OnUpdateCurrentHealth, new ParamsObject(CurrentAmount)); }