123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- using System;
- using UnityEngine;
- public class LayerManager
- {
- public static readonly int PlayerMask = LayerMask.GetMask(new string[]
- {
- "Player"
- });
- public static readonly int PlayerBodyMask = LayerMask.GetMask(new string[]
- {
- "PlayerBody"
- });
- public static readonly int EnemyMask = LayerMask.GetMask(new string[]
- {
- "Enemy"
- });
- public static readonly int GroundMask = LayerMask.GetMask(new string[]
- {
- "Ground"
- });
- public static readonly int CeilingMask = LayerMask.GetMask(new string[]
- {
- "Ceiling"
- });
- public static readonly int ObstacleMask = LayerMask.GetMask(new string[]
- {
- "Obstacle"
- });
- public static readonly int WallMask = LayerMask.GetMask(new string[]
- {
- "Wall"
- });
- public static readonly int OneWayGroundMask = LayerMask.GetMask(new string[]
- {
- "OneWayPlatforms"
- });
- public static readonly int PhysicCheckLineMask = LayerMask.GetMask(new string[]
- {
- "PhysicCheckLine"
- });
- public static readonly int ColliderimpactMask = LayerMask.GetMask(new string[]
- {
- "SoftCollidedImpact"
- });
- public static readonly int PlayerLayerID = LayerMask.NameToLayer("Player");
- public static readonly int PlayerBodyLayerID = LayerMask.NameToLayer("PlayerBody");
- public static readonly int EnemyLayerID = LayerMask.NameToLayer("Enemy");
- public static readonly int GroundLayerID = LayerMask.NameToLayer("Ground");
- public static readonly int CeilingLayerID = LayerMask.NameToLayer("Ceiling");
- public static readonly int ObstacleLayerID = LayerMask.NameToLayer("Obstacle");
- public static readonly int WallLayerID = LayerMask.NameToLayer("Wall");
- public static readonly int OneWayPlatformLayerID = LayerMask.NameToLayer("OneWayPlatforms");
- public enum ZNumEnum
- {
- NNear,
- MNear,
- NMiddle,
- MMiddle_P,
- MMiddle_E,
- FMiddle,
- NFar,
- MFar,
- FFar,
- BgFar,
- Fx
- }
- public static class ZNum
- {
- public static float MMiddleE(EnemyAttribute.RankType rankType = EnemyAttribute.RankType.Normal)
- {
- switch (rankType)
- {
- case EnemyAttribute.RankType.Normal:
- return LayerManager.ZNum.MMiddle_E;
- case EnemyAttribute.RankType.Elite:
- return LayerManager.ZNum.MMiddle_E_Elite;
- case EnemyAttribute.RankType.BOSS:
- return LayerManager.ZNum.MMiddle_E_Boss;
- default:
- throw new ArgumentOutOfRangeException("rankType", rankType, null);
- }
- }
- public static float NNear = -5f;
- public static float MNear = -4f;
- public static float NMiddle = -0.003f;
- public static float MMiddle_P = -0.002f;
- private static float MMiddle_E = -0.001f;
- private static float MMiddle_E_Elite = -0.0009f;
- private static float MMiddle_E_Boss = -0.0008f;
- public static float TempEnemy = -0.003f;
- public static float FMiddle;
- public static float NFar = 10f;
- public static float MFar = 20f;
- public static float FFar = 30f;
- public static float BgFar = 50f;
- public static float Fx = -0.2f;
- }
- public class YNum
- {
- public static float GetGroundHeight(GameObject target)
- {
- BoxCollider2D component = target.GetComponent<BoxCollider2D>();
- Vector3 position = target.transform.position;
- RaycastHit2D raycastHit2D = Physics2D.Raycast(target.transform.position, Vector2.down, 100f, LayerManager.GroundMask | LayerManager.OneWayGroundMask);
- if (component == null)
- {
- return raycastHit2D.point.y;
- }
- RaycastHit2D raycastHit2D2 = Physics2D.Raycast(new Vector3(position.x + component.offset.x - component.size.x / 2f, position.y, position.z), Vector2.down, 100f, LayerManager.GroundMask | LayerManager.OneWayGroundMask);
- RaycastHit2D raycastHit2D3 = Physics2D.Raycast(new Vector3(position.x + component.offset.x + component.size.x / 2f, position.y, position.z), Vector2.down, 100f, LayerManager.GroundMask | LayerManager.OneWayGroundMask);
- return Mathf.Max(raycastHit2D2.point.y, raycastHit2D3.point.y);
- }
- public const float Zero = -4.2f;
- }
- }
|