A 2D Versus Shmup made in Unity
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge remote-tracking branch 'origin/GameEngine' into GameEngine

Conflicts:
Assets/Prefabs/Enemies/Falling Basic.prefab
Assets/Scenes/Main Gameplay.unity

james7132 d801ae6f ae93af93

+33 -20
+33 -20
Assets/Scripts/Projectile Controllers/Projectile.cs
··· 3 3 using System.Collections.Generic; 4 4 using System.Collections; 5 5 6 - [RequireComponent(typeof(BoxCollider2D))] 7 - [RequireComponent(typeof(CircleCollider2D))] 6 + //[RequireComponent(typeof(BoxCollider2D))] 7 + //[RequireComponent(typeof(CircleCollider2D))] 8 8 [RequireComponent(typeof(SpriteRenderer))] 9 9 public class Projectile : PooledObject<ProjectilePrefab> { 10 10 ··· 66 66 private List<ProjectileController> controllers; 67 67 private Dictionary<string, object> properties; 68 68 69 - [SerializeField] 70 - private CircleCollider2D circleCollider; 71 - [SerializeField] 72 - private BoxCollider2D boxCollider; 69 + // [SerializeField] 70 + // private CircleCollider2D circleCollider; 71 + // [SerializeField] 72 + // private BoxCollider2D boxCollider; 73 + 74 + private bool circleCheck = false; 75 + private bool boxCheck = false; 76 + private Vector2 circleCenter = Vector2.zero; 77 + private float circleRaidus = 1f; 78 + private Vector2 boxCenter = Vector2.zero; 79 + private Vector2 boxSize = Vector2.one; 80 + 73 81 [SerializeField] 74 82 private SpriteRenderer spriteRenderer; 75 83 76 84 public override void Awake() { 77 85 properties = new Dictionary<string, object> (); 78 86 controllers = new List<ProjectileController> (); 79 - if(boxCollider == null) 80 - boxCollider = GetComponent<BoxCollider2D> (); 81 - if(circleCollider == null) 82 - circleCollider = GetComponent<CircleCollider2D> (); 87 + //if(boxCollider == null) 88 + // boxCollider = GetComponent<BoxCollider2D> (); 89 + //if(circleCollider == null) 90 + // circleCollider = GetComponent<CircleCollider2D> (); 83 91 if(spriteRenderer == null) 84 92 spriteRenderer = GetComponent<SpriteRenderer> (); 85 93 } ··· 93 101 Vector3 movementVector = Transform.up * movementDistance; 94 102 95 103 RaycastHit2D hit = default(RaycastHit2D); 96 - if (circleCollider.enabled) { 97 - float radius = circleCollider.radius * Util.MaxComponent2(Util.To2D(Transform.lossyScale)); 104 + if (circleCheck) {//circleCollider.enabled) { 105 + float radius = circleRaidus * Util.MaxComponent2(Util.To2D(Transform.lossyScale)); 98 106 hit = Physics2D.CircleCast(Transform.position, radius, movementVector, movementDistance, comboMask); 99 107 } 100 - if (boxCollider.enabled) { 108 + if (boxCheck) {//boxCollider.enabled) { 109 + Vector2 offset = Util.ComponentProduct2(Transform.lossyScale, boxCenter); 101 110 hit = Physics2D.BoxCast(Transform.position, 102 - Util.ComponentProduct2(boxCollider.size, Util.To2D(Transform.lossyScale)), 111 + Util.ComponentProduct2(boxSize, Util.To2D(Transform.lossyScale)), 103 112 Transform.rotation.eulerAngles.z, 104 113 movementVector, 105 114 movementDistance, ··· 153 162 else 154 163 Debug.LogError("The provided prefab should have a SpriteRenderer!"); 155 164 156 - if(boxCollider.enabled = bc != null) { 157 - boxCollider.center = bc.center; 158 - boxCollider.size = bc.size; 165 + if(boxCheck = (bc != null)) {//boxCollider.enabled = bc != null) { 166 + // boxCollider.center = bc.center; 167 + // boxCollider.size = bc.size; 168 + boxCenter = bc.center; 169 + boxSize = bc.size; 159 170 } 160 171 161 - if(circleCollider.enabled = cc != null) { 162 - circleCollider.center = cc.center; 163 - circleCollider.radius = cc.radius; 172 + if(circleCheck = (cc != null)) {//circleCollider.enabled = cc != null) { 173 + // circleCollider.center = cc.center; 174 + // circleCollider.radius = cc.radius; 175 + circleCenter = cc.center; 176 + circleRaidus = cc.radius; 164 177 } 165 178 } 166 179