bool Grab() { foreach (Collider2D near in Physics2D.OverlapCircleAll(body.position, grabRange)) { if (near.gameObject == gameObject) { continue; } Grabbable grabbable = near.GetComponent <Grabbable>(); if (grabbable && !grabbable.IsGrabbed) { Debug.Log("Grabbing " + grabbable); GrabThrow otherGrabThrow = near.GetComponent <GrabThrow>(); if (!otherGrabThrow || otherGrabThrow.Grabbed != gameObject) { Grabbed = near.gameObject; Grabbed.transform.parent = transform; Grabbed.transform.localPosition = new Vector2(carryOffsetX * move.Facing, carryOffsetY); grabbable.IsGrabbed = true; grabbedBody = near.GetComponent <Rigidbody2D>(); grabbedBody.angularVelocity = 0; grabbedBody.simulated = false; return(true); } } } return(false); }
void Start() { body = GetComponent <Rigidbody2D>(); sprite = GetComponent <SpriteRenderer>(); grab = GetComponent <GrabThrow>(); groundedMask = LayerMask.GetMask(new string[] { "Default" }); audioSource = GetComponent <AudioSource>(); if (PlayerNum == 1) { controllerNum = GlobalInput.Player1Controller; if (controllerNum == -1) { controllerNum = 1; // Default controller number for debugging. } } else { controllerNum = GlobalInput.Player2Controller; if (controllerNum == -1) { controllerNum = 2; // Default controller number for debugging. } } Sprite selectedSprite = sprite.sprite; if (PlayerNum == 1) { if (GlobalInput.Player1DogType == GlobalInput.DogType.Corgi) { selectedSprite = corgiSprite; } else if (GlobalInput.Player1DogType == GlobalInput.DogType.Husky) { selectedSprite = huskySprite; } } else { if (GlobalInput.Player2DogType == GlobalInput.DogType.Corgi) { selectedSprite = corgiSprite; } else if (GlobalInput.Player2DogType == GlobalInput.DogType.Husky) { selectedSprite = huskySprite; } } this.sprite.sprite = selectedSprite; }
public void Enter() { levelSndInstance = levelSnd.CreateInstance(); //levelSndInstance.Play(); rectangles = state.levelManager.levels[2].rectangles; //gate gateRectangle = new RectangleObjects(336, 24, 96, 72); rectangles.Add(gateRectangle); //reset resetRectangle = new Rectangle(336, 662, 98, 10); collide = new Collision(rectangles, actors, state); grabThrow = new GrabThrow(actors); patrol = new Patroling(rectangles, actors, resetRectangle); rockHit = new RockHit(actors, grabThrow); checkWin = new CheckWin(actors); pursue = new Pursue(actors, state); }