Exemple #1
0
 void Start()
 {
     rb       = GetComponent <Rigidbody2D>();
     cc       = GetComponent <CapsuleCollider2D>();
     flub     = GetComponent <Flub>();
     animator = GetComponent <Animator>();
 }
Exemple #2
0
 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);
 }
Exemple #3
0
    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);
                }
            }
        }
    }