using System.Collections; using System.Collections.Generic; using UnityEngine; public static class PlayerControllerHelper { public static Vector3 getWallRotation(Transform wall, Vector3 playerPos) { if (playerPos.x > wall.transform.position.x + (wall.transform.localScale.x / 2f)) { //right return wall.eulerAngles + new Vector3(0, 270, 0); } else if (playerPos.x < wall.transform.position.x - (wall.transform.localScale.x / 2f)) { //left return wall.eulerAngles + new Vector3(0, 90, 0); } else if (playerPos.z < wall.transform.position.z - (wall.transform.localScale.z / 2f)) { //bottom return wall.eulerAngles + Vector3.zero; } else if (playerPos.z > wall.transform.position.z + (wall.transform.localScale.z / 2f)) { //top return wall.eulerAngles + new Vector3(0, 180, 0); } else { Debug.Log("No results found"); Debug.Log(playerPos); Debug.Log(wall.position); Debug.Log(wall.localScale); return Vector3.zero; } } public static Vector3 playerPositionNearWall(Transform wall, Vector3 playerPos, float offset) { if (playerPos.x > wall.transform.position.x + (wall.transform.localScale.x / 2f)) { //right return new Vector3(wall.transform.position.x + (wall.transform.localScale.x / 2f) + offset, playerPos.y, playerPos.z); } else if (playerPos.x < wall.transform.position.x - (wall.transform.localScale.x / 2f)) { //left return new Vector3(wall.transform.position.x - (wall.transform.localScale.x / 2f) - offset, playerPos.y, playerPos.z); } else if (playerPos.z < wall.transform.position.z - (wall.transform.localScale.z / 2f)) { //bottom return new Vector3(playerPos.x, playerPos.y, wall.transform.position.z - (wall.transform.localScale.z / 2f) - offset); } else if (playerPos.z > wall.transform.position.z + (wall.transform.localScale.z / 2f)) { //top return new Vector3(playerPos.x, playerPos.y, wall.transform.position.z + (wall.transform.localScale.z / 2f) + offset); } else { Debug.Log("No results found"); Debug.Log(playerPos); Debug.Log(wall.position); Debug.Log(wall.localScale); return Vector3.zero; } } public static float GetDamageForHitboxType(HitBoxType type) { switch(type) { case HitBoxType.Head: return 50; case HitBoxType.Body: return 20; case HitBoxType.Leg: return 10; case HitBoxType.Hand: return 5; default: return 5; } } }