예제 #1
0
    void Update()
    {
        transform.position -= movement * Time.deltaTime;

        if (_HasFinished == false &&
            transform.position.x <= EndMark.position.x)
        {
            gameChangeInformation.ChangeToMainGame(true, "flower");
            _HasFinished = true;
        }
    }
예제 #2
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.transform.tag == "PurpleRose")
     {
         handRose.SetActive(true);
         flowerPick.SetActive(false);
     }
     else
     {
         gameChangeInformation.ChangeToMainGame(false, "flower");
     }
 }
    private void CheckInputs()
    {
        if (inputCount >= 6)
        {
            inputCount = 0;
            bool isInputCorrect = true;

            foreach (int input in inputArray)
            {
                if (input != inputCheck[inputCount])
                {
                    isInputCorrect = false;
                }

                inputCount++;
            }
            disableAllDances();
            inputCount = 0;
            inputArray = new int[6];
            gameChangeInformation.ChangeToMainGame(isInputCorrect, "dance");
        }
    }
    void Update()
    {
        if (_HasLost == false)
        {
            Timer         -= Time.deltaTime;
            TimerText.text = string.Format("{0:0.0}", Timer);

            if (Timer <= 0)
            {
                _GameChangeInfo.ChangeToMainGame(false, "fridge");
                _HasLost = true;

                Timer          = 0f;
                TimerText.text = string.Format("{0:0.0}", Timer);
            }
        }

        if (Input.GetMouseButtonUp(0))
        {
            Ray mousRay = Camera.main.ScreenPointToRay(Input.mousePosition);

            RaycastHit mouseHit;
            Physics.Raycast(mousRay, out mouseHit, float.MaxValue);

            if (mouseHit.collider != null)
            {
                MoveableMagnet magnet = mouseHit.collider.GetComponent <MoveableMagnet>();
                MagnetSlot     slot   = mouseHit.collider.GetComponent <MagnetSlot>();

                if (magnet != null)
                {
                    bool swapping = false;

                    // we selected a magnet and we had a magnet previously selected
                    if (_SelectedMagnet != null)
                    {
                        // both in slot so going to swap
                        if (magnet.IsInMagnetSlot() == true &&
                            _SelectedMagnet.IsInMagnetSlot() == true)
                        {
                            swapping = true;
                        }
                    }

                    bool moving = false;

                    // not swapping so check moving to a slot
                    if (swapping == false)
                    {
                        if (_SelectedSlot != null &&
                            _SelectedSlot.IsSlotFull() == false)
                        {
                            moving = true;
                        }
                    }

                    if (swapping == true)
                    {
                        MagnetSlot swappingTo = _SelectedMagnet.GetHoldingSlot();
                        _SelectedMagnet.SetSlotHoldingMagnet(magnet.GetHoldingSlot());
                        magnet.SetSlotHoldingMagnet(swappingTo);

                        _SelectedMagnet.SetSelectState(false);
                        _SelectedMagnet = null;

                        am.Play("magnet");

                        if (_SelectedSlot != null)
                        {
                            _SelectedSlot.SetSelectState(false);
                            _SelectedSlot = null;
                        }

                        CheckWinState();
                    }
                    else if (moving == true)
                    {
                        magnet.SetSlotHoldingMagnet(_SelectedSlot);
                        am.Play("magnet");

                        _SelectedSlot.SetSelectState(false);
                        _SelectedSlot = null;

                        if (_SelectedMagnet != null)
                        {
                            _SelectedMagnet.SetSelectState(false);
                            _SelectedMagnet = null;
                        }

                        CheckWinState();
                    }
                    else
                    {
                        // just change selection

                        if (_SelectedMagnet != null)
                        {
                            _SelectedMagnet.SetSelectState(false);
                        }

                        magnet.SetSelectState(true);
                        _SelectedMagnet = magnet;
                    }
                }
                else if (slot != null)
                {
                    bool swapping = false;

                    // we selected a slot and we had a slot previously selected
                    if (_SelectedSlot != null)
                    {
                        // both slots are full so going to swap
                        if (slot.IsSlotFull() == true &&
                            _SelectedSlot.IsSlotFull() == true)
                        {
                            swapping = true;
                        }
                    }

                    bool moving = false;

                    // not swapping so check moving to a slot
                    if (swapping == false)
                    {
                        // selected magnet has no slot
                        if (_SelectedMagnet != null &&
                            _SelectedMagnet.IsInMagnetSlot() == false)
                        {
                            moving = true;
                        }
                    }

                    if (swapping == true)
                    {
                        MoveableMagnet swappingWith = _SelectedSlot.GetMagnetInSlot();
                        _SelectedSlot.SetMagnetInSlot(slot.GetMagnetInSlot());
                        slot.SetMagnetInSlot(swappingWith);

                        _SelectedSlot.SetSelectState(false);
                        _SelectedSlot = null;

                        am.Play("magnet");

                        if (_SelectedMagnet != null)
                        {
                            _SelectedMagnet.SetSelectState(false);
                            _SelectedMagnet = null;
                        }

                        CheckWinState();
                    }
                    else if (moving == true)
                    {
                        slot.SetMagnetInSlot(_SelectedMagnet);
                        _SelectedMagnet.SetSelectState(false);
                        _SelectedMagnet = null;

                        am.Play("magnet");

                        if (_SelectedSlot != null)
                        {
                            _SelectedSlot.SetSelectState(false);
                            _SelectedSlot = null;
                        }

                        CheckWinState();
                    }
                    else
                    {
                        // just change selection

                        if (_SelectedSlot != null)
                        {
                            _SelectedSlot.SetSelectState(false);
                        }

                        slot.SetSelectState(true);
                        _SelectedSlot = slot;
                    }
                }
            }
        }
    }