//준비물게임
    private void SetOrderGame()
    {
        inventoryBtn.SetActive(true);
        orderDroppable.SetActive(true);
        droppable = FindObjectOfType <Droppable>();

        droppable.OnSuccess += onSuccess;
        droppable.OnFaile   += onFaile;
        droppable.OnNothing += onNothing;

        int necessCount = DataManager.instance.NecessaryRating.Count;

        for (int o = 0; o < necessCount; o++)
        {
            Image img = originItemTransform[o].gameObject.AddComponent <Image>();
            originItemTransform[o].gameObject.AddComponent <Draggable>();
            necessaryItemImage.Add(img);
            necessaryItemImage[o].preserveAspect = true;
            necessaryItemImage[o].sprite         = Resources.Load <Sprite>(DataManager.instance.NecessaryRating[o]);
        }
        for (int p = 0; p < DataManager.instance.ConfusionRating.Count; p++)
        {
            Image img = originItemTransform[p + necessCount].gameObject.AddComponent <Image>();
            originItemTransform[p + necessCount].gameObject.AddComponent <Draggable>();
            confusionItemImage.Add(img);
            confusionItemImage[p].preserveAspect = true;
            confusionItemImage[p].sprite         = Resources.Load <Sprite>(DataManager.instance.ConfusionRating[p]);
        }
    }
예제 #2
0
    // used in second level to drop off the backpack on the dropoff spot
    public void DropOff(Droppable item)
    {
        bagDroppedOff = true;

        photonView.RPC(nameof(ActivateDropOffBackpack), RpcTarget.All, item.transform.GetComponent <PhotonView>().ViewID);
        photonView.RPC(nameof(DeactivateBackpack), RpcTarget.All);
    }
        private bool IsHit(Droppable droppable, int x, int y)
        {
            Rect hitRect = new Rect(0, 0, droppable.View.Width, droppable.View.Height);
            OffsetDescendantRectToMyCoords(droppable.View, hitRect);

            return hitRect.Contains(x, y);
        }
예제 #4
0
 // Update is called once per frame
 void Update()
 {
     PhysicsCheck();
     if (isGrounded)
     {
         PlayerMovement();
     }
     if (Input.GetKeyUp(KeyCode.E))
     {
         if (interactGO != null)
         {
             if (inHand == null)
             {
                 Droppable droppableInHand = interactGO.GetComponent <ZoneController>().OnPick();
                 sounds.PlayOneShot(PickSound);
                 //interactGO.GetComponent<Collider>().enabled = false;
                 inHand = droppableInHand.gameObject;
             }
             else
             {
                 Droppable tempDrop = inHand.GetComponent <Droppable>();
                 interactGO.GetComponent <ZoneController>().OnDrop(tempDrop);
                 sounds.PlayOneShot(DropSound);
                 inHand = null;
             }
         }
     }
 }
예제 #5
0
    public override void OnItemAboveBeginDrag(Droppable droppable)
    {
        base.OnItemAboveBeginDrag(droppable);

        placeholderIsActive = true;
        droppable.GetComponent <SpriteRenderer>().sortingLayerName = cardsSortingLayer;
    }
    //순서게임
    private void SetSupplyGame()
    {
        supplyDroppable.SetActive(true);
        droppable = FindObjectOfType <Droppable>();
        supplyTextObj.SetActive(true);
        draggingText = GameObject.Find("descriptionText").GetComponent <Text>();

        droppable.OnSuccess += onSuccess;
        droppable.OnFaile   += onFaile;
        droppable.OnNothing += onNothing;

        checkImg = new Image[DataManager.instance.OriginList.Count];

        for (int i = 0; i < DataManager.instance.OriginList.Count; i++)
        {
            Image img = originItemTransform[i].gameObject.AddComponent <Image>();
            originItemTransform[i].gameObject.AddComponent <Draggable>();
            originItemTransform[i].gameObject.name = (i + 1).ToString();
            //img.preserveAspect = true;
            img.sprite = contentImage;
        }

        for (int i = 0; i < DataManager.instance.OriginList.Count; i++)
        {
            GameObject obj = new GameObject((i + 1).ToString());
            Image      img = obj.AddComponent <Image>();
            Button     btn = obj.AddComponent <Button>();
            btn.onClick.AddListener(delegate { OnClickMarker(obj.name); });
            btn.interactable = false;
            obj.transform.SetParent(GameObject.Find("CheckList").transform);
            img.sprite  = checkImageSource[0];
            checkImg[i] = img;
        }
    }
예제 #7
0
    public void OnDrop(Droppable droppable)
    {
        CardView card = droppable.GetComponent <CardView>();

        //Return it back
        card.ReturnToLastZone();
    }
예제 #8
0
    public void DropMaterial()
    {
        Droppable pref = DroppablePrefabs[Random.Range(0, DroppablePrefabs.Length)];
        Droppable mat  = Instantiate(pref);

        mat.transform.SetPositionAndRotation(new Vector3(transform.position.x + (Random.value - .5f) * 10, transform.position.y + (Random.value - .5f) * 3), Quaternion.identity);
    }
예제 #9
0
    public override void OnItemAboveDrag(Droppable droppable)
    {
        base.OnItemAboveDrag(droppable);


        int newIndex = cardsHolderTransform.childCount;

        for (int i = 0; i < cardsHolderTransform.childCount; i++)
        {
            if (droppable.transform.position.x < cardsHolderTransform.GetChild(i).position.x)
            {
                newIndex = i;

                /*if (placeholderSiblingIndex < newIndex)
                 *  newIndex--;*/

                break;
            }
        }


        placeholderSiblingIndex = newIndex;

        UpdateCardPositions(false, cardsInsideMoveSpeed);

        droppable.GetComponent <SpriteRenderer>().sortingOrder = placeholderSiblingIndex;
    }
예제 #10
0
 private void Awake()
 {
     grayout   = GameObject.FindGameObjectWithTag("Grayout").GetComponent <Grayout>();
     droppable = GetComponent <Droppable>();
     droppable.dropDelegate += OnDrop;
     rectUtil  = GetComponent <RectUtil>();
     boxSprite = box.sprite;
 }
예제 #11
0
 // Use this for initialization
 void Start()
 {
     anim      = gameObject.GetComponent <Animator>();
     _health   = health;
     droppable = gameObject.GetComponent <Droppable>();
     rigid2D   = gameObject.GetComponent <Rigidbody2D>();
     boxColl2D = gameObject.GetComponent <BoxCollider2D>();
 }
예제 #12
0
 public void EndHover(Droppable d)
 {
     IsHoveringOver = null;
     foreach (var h in canDropHandlers)
     {
         h.OnCanDropEnd(d);
     }
 }
예제 #13
0
    public IEnumerator Fill(Droppable droppable)
    {
        yield return(new WaitForSeconds(0.25f));

        droppable.Drop();
        filled           = true;
        collider.enabled = false;
    }
예제 #14
0
    protected override void Awake()
    {
        base.Awake();

        SpriteRenderer          = GetComponent <SpriteRenderer>();
        droppableComponent      = GetComponent <Droppable>();
        BoxCollider2D           = GetComponent <BoxCollider2D>();
        originalBoxColliderSize = BoxCollider2D.size;
    }
예제 #15
0
    public void OnItemAboveBeforeDrag(Droppable droppable)
    {
        string warningString = "Are you sure you want to take away this card from " + LogEntry.ZoneLogEntryPart(zoneToDisplay) + "?";
        string voteString    = "Allow " + LogEntry.PlayerLogEntryPart(Player.LocalPlayer) + " to take away a card from " + LogEntry.ZoneLogEntryPart(zoneToDisplay) + "?";

        zoneToDisplay.TakeAwayPermission.Check(Player.LocalPlayer, zoneToDisplay.ownerNetId,
                                               () => { droppable.IsDraggable = true; },
                                               () => { droppable.IsDraggable = false; }, warningString, voteString);
    }
예제 #16
0
 public virtual void OnDrop(Droppable droppable)
 {
     if (this._droppable == null)
     {
         _droppable = droppable;
         _droppable.transform.SetParent(transform);
         _droppable.transform.position = dropPosition.position;
     }
 }
예제 #17
0
 public void DropOn(Droppable d)
 {
     IsHoveringOver = null;
     HasDropped     = true;
     foreach (var h in droppedHandlers)
     {
         h.OnDrop(d);
     }
 }
예제 #18
0
 internal void AssignItem(Droppable item)
 {
     foreach (PartHub hub in Hubs)
     {
         if (hub.Item == null && item.RepairItem.HealthType == hub.HealthType)
         {
             hub.ReceiveItem(item);
         }
     }
 }
예제 #19
0
    public override void OnDroppableHoverExit(Droppable droppable)
    {
        base.OnDroppableHoverExit(droppable);

        placeholderIsActive = false;

        UpdateCardPositions(false, cardsInsideMoveSpeed);

        droppable.GetComponent <SpriteRenderer>().sortingLayerName = draggedCardsSortingLayer;
    }
예제 #20
0
 public void ReceiveItem(Droppable item)
 {
     if (Item != null)
     {
         Item.transform.Translate(new Vector3(-1, -1));
         ReleaseItem();
     }
     item.Recepticle         = this;
     Item                    = item;
     Item.transform.position = transform.position;
 }
예제 #21
0
 private void Update()
 {
     if (SelectedItem && Input.GetMouseButtonUp(0))
     {
         SelectedItem.Drop();
         SelectedItem = null;
     }
     else if (SelectedItem && Input.GetMouseButton(0))
     {
         Drag();
     }
 }
예제 #22
0
 public virtual void OnItemAboveBeforeDrag(Droppable droppable)
 {
     if (!canTakeAwayCards)
     {
         string warningString = "Are you sure you want to take away this card from " + LogEntry.ZoneLogEntryPart(this) + "?";
         string voteString    = "Allow " + LogEntry.PlayerLogEntryPart(Player.LocalPlayer) + " to take away a card from " + LogEntry.ZoneLogEntryPart(this) + "?";
         TakeAwayPermission.Check(Player.LocalPlayer, ownerNetId,
                                  () => { canTakeAwayCards = CanTakeAwayCards(); },
                                  () => { canTakeAwayCards = false; }, warningString, voteString);
     }
     droppable.IsDraggable = canTakeAwayCards;
 }
예제 #23
0
    public void OnDroppableAboveExit(Droppable droppable)
    {
        /*if (droppable.IsDragging)
         * {*/
        droppableExitEvent.Invoke(droppable);

        if (droppable != null)
        {
            droppable.OnDropPlaceExit(this);
        }
        //}
    }
예제 #24
0
    public virtual Droppable OnPick()
    {
        if (this._droppable != null)
        {
            Droppable droppable = _droppable;
            droppable.transform.SetParent(GameObject.FindGameObjectWithTag("Player").transform);
            droppable.transform.localPosition = Vector3.forward;
            _droppable = null;
            return(droppable);
        }

        return(null);
    }
예제 #25
0
 public bool TryHover(Droppable d)
 {
     if (CanDropOn(d))
     {
         IsHoveringOver = d;
         foreach (var h in canDropHandlers)
         {
             h.OnCanDropBegin(d);
         }
         return(true);
     }
     return(false);
 }
예제 #26
0
    public bool CanDropOn(Droppable d)
    {
        if (!d.CanDrop(this))
        {
            return(false);
        }

        if (canDropOnSpecifier != null)
        {
            return(canDropOnSpecifier.CanDrop(d));
        }

        return(true);
    }
 public void SetUp()
 {
     _driver            = new ChromeDriver(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
     _basePage          = new BasePage(_driver);
     _slider            = new Slider(_driver);
     _accordion         = new Accordion(_driver);
     _automateThePlanet = new AutomateThePlanet(_driver);
     _driver.Manage().Window.Maximize();
     _draggable = new Draggable(_driver);
     _droppable = new Droppable(_driver);
     _user      = UserFactory.GenerateRegUser();
     _regPage   = new RegistrationPage(_driver);
     _sortPage  = new SortablePage(_driver);
 }
예제 #28
0
        public void DroppableExercise1Simple()
        {
            //Checks colors of target before and after drop
            _page = new Droppable(Driver);

            var colorOfTargetBefore = _page.targetSimple.GetCssValue("background-color");

            Builder
            .DragAndDrop(_page.sourceSimple, _page.targetSimple)
            .Perform();

            var colorOfTargetAfter = _page.targetSimple.GetCssValue("background-color");

            _page.AssertSimple(colorOfTargetBefore, colorOfTargetAfter);
        }
예제 #29
0
    public void OnDrop(Droppable droppable)
    {
        /*DropZone parentZone = eventData.pointerDrag.transform.parent.GetComponent<DropZone>();
         * if (parentZone != null)
         * {
         *  parentZone.OnCardRemoved();
         * }*/
        CardView card = droppable.GetComponent <CardView>();

        string warningString = "Are you sure you want to drop this card to " + LogEntry.ZoneLogEntryPart(this) + "?";
        string voteString    = "Allow " + LogEntry.PlayerLogEntryPart(Player.LocalPlayer) + " to drop a card to " + LogEntry.ZoneLogEntryPart(this) + "?";

        DropOntoPermission.Check(Player.LocalPlayer, ownerNetId,
                                 () => { OnItemDropped(card); },
                                 () => { OnCardDropFailed(card); }, warningString, voteString);
    }
예제 #30
0
        public void DroppableExercise3Accept()
        {
            //Checks the color of target when source element is accepted
            _page = new Droppable(Driver);
            _page.Accept.Click();

            Builder
            .DragAndDrop(_page.sourceAccept, _page.targetAccept)
            .Perform();


            var expectedColor = "rgba(70, 130, 180, 1)";
            var colorOfTarget = _page.targetAccept.GetCssValue("background-color");

            Assert.AreEqual(expectedColor, colorOfTarget);
        }