Exemplo n.º 1
0
        // ======================================================= PLAYER ACTIONS ====================================================================
        public void NextRound()
        {
            //TODO: If still cards in hand, play/remove them

            for (int i = 0; i < cardsPerRound; i++)
            {
                DrawCard();
            }

            List <DataHolder> dataHolders = new List <DataHolder>();

            dataHolders.Add(new DataHolder("deck", this.cardsInHand));
            deckChange.Raise(dataHolders, this);
        }
Exemplo n.º 2
0
    public IEnumerator PassBucketHandler()
    {
        animator.SetTrigger("passEvent");
        Debug.Log("pass animation trigger");
        key = "";

        if (new Vector2(nextPosX, nextPosY) == -Vector2.one)
        {
            lastHolderTossEvent.Raise();
        }
        if (!hasFinished)
        {
            isHoldingBucket = canPassBucket = false;

            GameObject keyObj = transform.GetChild(0).gameObject;
            keyObj.SetActive(false);

            //this.GetComponent<SpriteRenderer>().color = Color.white;
        }

        yield return(new WaitForSeconds(passDuration));

        passBucketEvent.Raise(new Vector2(posX, posY));
        Debug.Log("Raised pass event from " + new Vector2(posX, posY));
    }
Exemplo n.º 3
0
        public void OnHandChange()
        {
            List <DataHolder> dataHolders = new List <DataHolder>();

            dataHolders.Add(new DataHolder("deck", this.cardsInHand));
            handChange.Raise(dataHolders, this);
        }
Exemplo n.º 4
0
        public void DrawCard(bool random = true)
        {
            if (deckMain.cards.Count <= 0)
            {
                Debug.Log("Cannot draw a card, deckmain is empty");
                return;
            }
            int index = 0;

            if (random)
            {
                index = Random.Range(0, this.deckMain.cards.Count);
            }
            CardData drawnCard = this.deckMain.cards[index];

            this.cardsInHand.AddCard(drawnCard); //add to hand
            this.deckMain.RemoveCard(drawnCard); //remove from deck


            //draw card event
            List <DataHolder> dataHolders = new List <DataHolder>();

            dataHolders.Add(new DataHolder("cardData", drawnCard));
            dataHolders.Add(new DataHolder("player", this));
            cardDrawn.Raise(dataHolders, this);

            OnHandChange();
            OnDeckChange();
        }
Exemplo n.º 5
0
        public void OnNextYearChange()
        {
            List <DataHolder> dataHolders = new List <DataHolder>();

            dataHolders.Add(new DataHolder("deck", this.deckNextYear));
            nextYearChange.Raise(dataHolders, this);
        }
Exemplo n.º 6
0
        /// <summary>
        /// This function is called if all presetData is set
        /// </summary>
        private void SolveCard()
        {
            this.card.CardData.SolveCard(this.presetData);
            Destroy(this.card.gameObject); //remove the cards gameObject. The event that is fired will remove the event from the hand

            List <DataHolder> list = new List <DataHolder>();

            list.Add(new DataHolder("card", this.card));
            cardPlayed.Raise(list, this);

            ResetCard();
        }
Exemplo n.º 7
0
        public void OnMouseUpAsButton()
        {
            Debug.Log("click on building: " + this.gameObject.name);

            // Raise click event with the building data
            List <DataHolder> dataList = new List <DataHolder>()
            {
            };

            dataList.Add(new DataHolder("building", this));
            mouseUp_Building.Raise(dataList, this);
        }
Exemplo n.º 8
0
    private void Update()
    {
        UpdateSlider();

        // Check if has failed
        if (!hasFinished && Time.time - startTime >= timeUntilFail)
        {
            failedLevelEvent.Raise();
            hasFinished = true;
            slider.gameObject.SetActive(false);
            timerText.transform.parent.gameObject.SetActive(false);
            Debug.Log("Completed level with " + (Time.time - startTime) + " seconds");
        }
    }
Exemplo n.º 9
0
        public void OnClickBuildingPlot(GameEvent gameEvent)
        {
            if (waitingOnPlayer)
            {
                BuildingPlot buildingPlotClicked = (BuildingPlot)gameEvent.GetData("buildingPlot").dataObject;

                waitingOnPlayer = false;
                HighlightAllBuildingPlots(false);

                //raise the event
                List <DataHolder> dataHoldersList = new List <DataHolder>();
                dataHoldersList.Add(new DataHolder("buildingPlot", buildingPlotClicked));
                response.Raise(dataHoldersList, this);
            }
        }
Exemplo n.º 10
0
        /*
         * void Update()
         * {
         *  Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
         *  RaycastHit hit;
         *  if (Physics.Raycast(ray, out hit))
         *  {
         *      if (Input.GetMouseButtonUp(0))
         *      {
         *          if(hit.collider.gameObject == this.gameObject)
         *          {
         *              UserOnMouseUp();
         *          }
         *      }
         *  }
         * }*/


        public void OnMouseUpAsButton()
        {
            Debug.Log("click on buildingplot: " + this.gameObject.name);

            /*
             * Dictionary<string, object> dict = new Dictionary<string, object>() {
             *  {"buildingPlot", this}
             * };*/
            List <DataHolder> dataList = new List <DataHolder>()
            {
            };

            dataList.Add(new DataHolder("buildingPlot", this));

            mouseUp_BuildingPlot.Raise(dataList, this);
        }
Exemplo n.º 11
0
        public void SelectCard()
        {
            selected.SetActive(true);

            /*
             * Dictionary<string, object> dict = new Dictionary<string, object>() {
             *  {"card", this}
             * };*/

            List <DataHolder> dataList = new List <DataHolder>()
            {
            };

            dataList.Add(new DataHolder("card", this));

            select_Card.Raise(dataList, this);
        }
Exemplo n.º 12
0
        IEnumerator DeselectOnNextFrame()
        {
            yield return(new WaitForSeconds(0f));

            selected.SetActive(false);

            /*
             * Dictionary<string, object> dict = new Dictionary<string, object>() {
             *  {"card", this}
             * };*/
            List <DataHolder> dataList = new List <DataHolder>()
            {
            };

            dataList.Add(new DataHolder("card", this));

            deselect_Card.Raise(dataList, this);
        }
Exemplo n.º 13
0
 public void CheckForEndReached(Vector2 gridPos)
 {
     if (gridPos.x == grid.gridArray.GetLength(0) - 1 && gridPos.y == grid.gridArray.GetLength(1) - 1)
     {
         endReached++;
         bucketText.text = (bucketsToEnd - endReached).ToString();
         if (endReached == bucketsToEnd - 1)
         {
             bucketText.text = (bucketsToEnd - endReached).ToString();
         }
         Debug.Log("End reached " + endReached + " times");
         bucketReachedEndEvent.Raise();
         if (endReached == bucketsToEnd)
         {
             completedLevelEvent.Raise();
             bucketText.transform.parent.gameObject.SetActive(false);
         }
     }
 }
Exemplo n.º 14
0
        public override List <DataObject> Solve(List <DataObject> dataArray)
        {
            DataObject dataObjectBaseEvent = BuildingBlockChain.GetLastObjectOfTypeFromDataArray(dataArray, DataObject.ObjectTypes.Event);

            if (dataObjectBaseEvent == null)
            {
                Debug.LogError("FireEvent could not be resolved, because it couldnt load a GameEvent with Event as its type");
                return(dataArray);
            }

            BaseEvent baseEvent = (BaseEvent)dataObjectBaseEvent.objectRef;

            baseEvent.Raise(new List <DataHolder>(), this); //will not send any parameters

            // Add the new event to the list
            DataObject nwDataObject = new DataObject(DataObject.ObjectTypes.Event, baseEvent);

            dataArray.Add(nwDataObject);

            return(base.Solve(dataArray));
        }
Exemplo n.º 15
0
 public void ClickOnCancelButton()
 {
     //List<DataHolder> dataHolderList = new List<DataHolder>();
     //dataHolderList.Add(new DataHolder("cancel", null));
     cancelResponse.Raise(new List <DataHolder>(), this);
 }