// ======================================================= 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); }
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)); }
public void OnHandChange() { List <DataHolder> dataHolders = new List <DataHolder>(); dataHolders.Add(new DataHolder("deck", this.cardsInHand)); handChange.Raise(dataHolders, this); }
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(); }
public void OnNextYearChange() { List <DataHolder> dataHolders = new List <DataHolder>(); dataHolders.Add(new DataHolder("deck", this.deckNextYear)); nextYearChange.Raise(dataHolders, this); }
/// <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(); }
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); }
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"); } }
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); } }
/* * 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); }
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); }
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); }
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); } } }
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)); }
public void ClickOnCancelButton() { //List<DataHolder> dataHolderList = new List<DataHolder>(); //dataHolderList.Add(new DataHolder("cancel", null)); cancelResponse.Raise(new List <DataHolder>(), this); }