void Start() { rb = GetComponent <Rigidbody2D>(); cc = GetComponent <CapsuleCollider2D>(); flub = GetComponent <Flub>(); animator = GetComponent <Animator>(); }
public int GivePowerUp(int powerUp, int maxCount) { GameObject[] gos = GameObject.FindObjectsOfType(typeof(GameObject)) as GameObject[]; foreach (GameObject go in gos) { if (go.layer == LayerMask.NameToLayer("Controllables") && maxCount > 0) { Flub flub = go.GetComponent <Flub>(); if (flub.selected && flub.powerUp == Flub.PowerUp.None) { flub.setPowerUp((Flub.PowerUp)powerUp); maxCount--; flub.selected = false; } } } return(maxCount); }
void Update() { if (Input.GetMouseButtonDown(0)) { if (EventSystem.current.IsPointerOverGameObject()) { return; } startPos = cam.ScreenToWorldPoint(Input.mousePosition); selectionAreaTransform.gameObject.SetActive(true); } if (Input.GetMouseButton(0)) { if (EventSystem.current.IsPointerOverGameObject()) { return; } Vector3 currentPos = cam.ScreenToWorldPoint(Input.mousePosition); Vector3 lowerLeft = new Vector3( Mathf.Min(startPos.x, currentPos.x), Mathf.Min(startPos.y, currentPos.y), -1 ); Vector3 upperRight = new Vector3( Mathf.Max(startPos.x, currentPos.x), Mathf.Max(startPos.y, currentPos.y), -1 ); selectionAreaTransform.position = lowerLeft; selectionAreaTransform.localScale = upperRight - lowerLeft; } if (Input.GetMouseButtonUp(0)) { selectionAreaTransform.gameObject.SetActive(false); Collider2D[] collider2DArray = Physics2D.OverlapAreaAll(startPos, cam.ScreenToWorldPoint(Input.mousePosition)); foreach (Flub flub in selectedFlubs) { flub.select(false); } selectedFlubs.Clear(); GameManager gm = GameObject.Find("GameManager").GetComponent <GameManager>(); foreach (Collider2D collider2D in collider2DArray) { Flub flub = collider2D.GetComponent <Flub>(); if (flub != null) { flub.select(true); selectedFlubs.Add(flub); Debug.Log("Selection du flub " + flub); } } } }