예제 #1
0
 // Update is called once per frame
 private void Start()
 {
     playr  = target.GetComponent <DragMove>();
     offset = new Vector3(0, 0, -10);
     cam    = GetComponent <Camera>();
     //slider.onValueChanged.AddListener(sliderCallBack);
 }
예제 #2
0
        /// <summary>
        /// Trigger a dragging event when the user moves the mouse while the left mouse button is pressed
        /// </summary>
        protected override void OnMouseMove(MouseEventArgs e)
        {
            if (_userClickedThisElement && !_dragActive)
            {
                _dragActive = true;
                DragStart?.Invoke(this, e);
            }

            if (_dragActive)
            {
                Point curMouseScreenPos = e.GetPosition(this);

                if (!curMouseScreenPos.Equals(_previousMouseScreenPos))
                {
                    double xDelta = curMouseScreenPos.X - _previousMouseScreenPos.X;
                    double yDelta = curMouseScreenPos.Y - _previousMouseScreenPos.Y;

                    var dragEvent = new DragMoveEventArgs(e, xDelta, yDelta);
                    DragMove?.Invoke(this, dragEvent);

                    ApplyDragToChildren(dragEvent);

                    _previousMouseScreenPos = curMouseScreenPos;
                }
            }

            base.OnMouseMove(e);
        }
 void GetAndSetCompoents()
 {
     _collider = GetComponent <QuadtreeCollider>();
     _life     = GetComponent <Life>();
     _shot     = GetComponent <PlayerShot>();
     _move     = GetComponent <DragMove>();
 }
 public LidOnState(GameObject jarGameObject, GameObject lidGameObject)
 {
     dataManager = GameObject.FindObjectOfType <DataManager>();
     gameManager = GameObject.FindObjectOfType <GameManager>();
     jarDrag     = jarGameObject.GetComponent <DragMove>();
     lidTwist    = lidGameObject.GetComponent <LidTwist>();
     lidDrag     = lidGameObject.GetComponent <DragMove>();
 }
예제 #5
0
        public void UndoDragMove(DragMove move)
        {
            List <CardAction> actions  = new List <CardAction>();
            List <Card>       toPile   = PlayPiles[move.ToPileIndex];
            List <Card>       fromPile = PlayPiles[move.FromPileIndex];
            Card card;

            if ((move.SideEffects & DragMoveSideEffects.FlipAfterDiscard) != 0)
            {
                FlipBottomCardFaceDown(move.ToPileIndex, actions);
            }

            if ((move.SideEffects & DragMoveSideEffects.DiscardedAfterDrag) != 0)
            {
                ReturnCards(move.ToPileIndex, actions);
            }

            if ((move.SideEffects & DragMoveSideEffects.FlipAfterDrag) != 0)
            {
                FlipBottomCardFaceDown(move.FromPileIndex, actions);
            }

            // Move dragged cards into holding list
            int         index    = toPile.Count - move.NumCardsDragged;
            List <Card> dragPile = toPile.GetRange(index, move.NumCardsDragged);

            toPile.RemoveRange(index, move.NumCardsDragged);

            for (int i = 0; i < dragPile.Count; i++)
            {
                card = dragPile[i];
                fromPile.Add(card);
                actions.Add(new CardAction(
                                card, CardActionType.Move, card.Location,
                                card.Location = new CardLocation(PileType.Play, move.FromPileIndex, fromPile.Count - 1)));
            }

            Score = move.PriorScore;
            NumMoves++;

            if (GameBoardEvents != null)
            {
                GameBoardEvents.UndoDragMoveComplete(new ReadOnlyCollection <CardAction>(actions));
            }
        }
 private void OnDragMove()
 {
     DragMove?.Invoke(this, EventArgs.Empty);
 }
예제 #7
0
    // Update is called once per frame
    void Update()
    {
        DragMove player = GameObject.Find("Player").GetComponent <DragMove>();

        currentTrialLastTarget = currentTrial.ToString() + "_" + (currentTrialNumOfTargets - 1).ToString();

        if (paused == false)
        {
            //print ("Vamos por el " + currentTarget);
            startingTime -= Time.deltaTime * 600;
            Timer.value   = startingTime;

            // Esto se ejecuta cuando el contador de la barra de tiempo llega a 0
            if (startingTime <= 0)
            {
                if (lastRound == true)
                {
                    player.GameOver();
                }

                if (endingTrial == true || playerEaten == true)
                {
                    if (trialTimerBar.trialCanStart == true)
                    {
                        print("Destroy trial");
                        //DestroyFullTrial (currentTrialNumOfTargets, currentTrial);
                        for (int t = 0; t < (currentTrialNumOfTargets); t++)
                        {
                            print("Quitando" + currentTrial.ToString() + "_" + t);
                            Destroy(GameObject.Find(currentTrial.ToString() + "_" + t));
                        }

                        endingTrial = false;
                        setUp.manageItems(currentTrial);
                        currentTrial = currentTrial + 1;

                        currentTargetNumber      = 0;
                        currentTarget            = currentTrial.ToString() + "_0";
                        currentTrialNumOfTargets = setUp.trialList [currentTrial - 1].trialTargets.Count;
                        currentTrialLastTarget   = currentTrial.ToString() + "_" + currentTrialNumOfTargets;
                        fullTime = setUp.trialList [currentTrial - 1].trialTargets [0].time;


                        //print ("Last trial->" + lastTrial);

                        if (currentTrial > lastTrial)
                        {
                            lastRound = true;
                        }

                        trialTimerBar.trialCanStart = false;
                        trialTimerBar.startingTime  = trialTimerBar.fullTime;
                        //trialTimerBar.timerActive = false;
                    }
                }
                else
                {
                    if (currentTrial > lastTrial)
                    {
                        player.GameOver();
                    }


                    if (lastRound == false)
                    {
                        //print ("Activando->" + currentTarget.ToString ());
                        if (currentTarget.ToString() == "1_0")
                        {
                            GameObject.Find(currentTarget.ToString()).GetComponent <Renderer> ().enabled = true;
                        }

                        if (currentTargetNumber == 0)
                        {
                            if (trialTimerBar.trialCanStart == true)
                            {
                                GameObject.Find(currentTarget.ToString()).GetComponent <Renderer> ().enabled = true;
                            }
                        }
                        else
                        {
                            GameObject.Find(currentTarget.ToString()).GetComponent <Renderer> ().enabled = true;
                        }

                        player.listOfPossibleTargets.Add(currentTarget.ToString());

                        if (currentTarget == currentTrialLastTarget)
                        {
                            endingTrial = true;
                        }
                    }

                    if (currentTargetNumber == 0)
                    {
                        paused = true;
                        trialTimerBar.startingTime = trialTimerBar.fullTime;
                        //trialTimerBar.timerActive = false;
                        //GameObject.Find (currentTrial.ToString ()+"_0").GetComponent<Renderer> ().enabled = true;
                    }

                    currentTargetNumber = currentTargetNumber + 1;
                    currentTarget       = currentTrial.ToString() + "_" + currentTargetNumber.ToString();


                    fullTime = setUp.trialList [currentTrial - 1].trialTargets [currentTargetNumber - 1].time;

                    startingTime = fullTime;
                }
            }
        }         //paused
    }
예제 #8
0
        public void UndoDragMove(DragMove move)
        {
            List<CardAction> actions = new List<CardAction>();
            List<Card> toPile = PlayPiles[move.ToPileIndex];
            List<Card> fromPile = PlayPiles[move.FromPileIndex];
            Card card;

            if ((move.SideEffects & DragMoveSideEffects.FlipAfterDiscard) != 0)
            {
                FlipBottomCardFaceDown(move.ToPileIndex, actions);
            }

            if ((move.SideEffects & DragMoveSideEffects.DiscardedAfterDrag) != 0)
            {
                ReturnCards(move.ToPileIndex, actions);
            }

            if ((move.SideEffects & DragMoveSideEffects.FlipAfterDrag) != 0)
            {
                FlipBottomCardFaceDown(move.FromPileIndex, actions);
            }

            // Move dragged cards into holding list
            int index = toPile.Count - move.NumCardsDragged;
            List<Card> dragPile = toPile.GetRange(index, move.NumCardsDragged);

            toPile.RemoveRange(index, move.NumCardsDragged);

            for (int i = 0; i < dragPile.Count; i++)
            {
                card = dragPile[i];
                fromPile.Add(card);
                actions.Add(new CardAction(
                    card, CardActionType.Move, card.Location,
                    card.Location = new CardLocation(PileType.Play, move.FromPileIndex, fromPile.Count - 1)));
            }

            Score = move.PriorScore;
            NumMoves++;

            if (GameBoardEvents != null)
                GameBoardEvents.UndoDragMoveComplete(new ReadOnlyCollection<CardAction>(actions));
        }