private void MoveBack() { if (thisScript.shortestEnemyDistance < stopByEnemy && isCharging && thisScript.shortestEnemyScript != null) { thisScript.shortestEnemyScript.MoveBack(); thisScript.GetDamage(); } }
private void CheckAttack() { float distance = 0f; try { if (isPlayerProjection) { if (thisUnitScript.buildingIsShortest) { distance = Vector2.Distance(currentPosition, gameManager.GetEnemyUnitSpawnPosition().position); } else { distance = Vector2.Distance(currentPosition, thisUnitScript.shortestEnemyScript.GetCurrentPosition()); } if (distance <= hitRange) { thisUnitScript.GetDamage(this.transform); Destroy(gameObject); fusionManager.projectionScripts.Remove(this); } } else { if (thisEnemyScript.buildingIsShortest) { distance = Vector2.Distance(currentPosition, gameManager.GetUnitSpawnPosition().position); } else { distance = Vector2.Distance(currentPosition, thisEnemyScript.shortestScript.GetCurrentPosition()); } if (distance <= hitRange) { thisEnemyScript.GetDamage(this.transform); Destroy(gameObject); fusionManager.projectionScripts.Remove(this); } } } catch (NullReferenceException) { Destroy(gameObject); fusionManager.projectionScripts.Remove(this); } }