public static GamePosition ToGame(this PlaceMarker marker, int userNumber) { return(new GamePosition(marker.X, marker.Y) { Value = userNumber }); }
public void OnClick(RaycastHit hit, Transform t) { IInteract inter = i.GetHolding(); if (inter != null) { PlaceMarker m = null; if (gameObject.CompareTag("PShelf")) { m = i.ClosestMarker(pMarkers.ToArray(), hit.point); } else { m = i.ClosestMarker(markers, hit.point); } if (!m.GetOccupation()) { if (inter.GetObject().CompareTag("Food")) { PutFoodDown(inter.GetObject()); } i.OnPutDown(m, null, false); } } }
public static List <PlaceMarker> GetPlacemarker(string lattitude, string longitude) { List <PlaceMarker> markers = new List <PlaceMarker>(); PlaceMarker marker = new PlaceMarker { Description = "Awesome monument", Name = "Awesome monument", PlaceMarkerId = 1, PlaceMarkerTypeID = 1 }; PlaceMarker marker2 = new PlaceMarker { Description = "Awesome place", Name = "Awesome place", PlaceMarkerId = 1, PlaceMarkerTypeID = 1 }; markers.Add(marker); markers.Add(marker2); return(markers); }
void Start() { marker = GetComponentInChildren <PlaceMarker>(); interact = FindObjectOfType <Interact>(); hinge = transform.Find("Hinge"); lid = transform.Find("Lid"); audioManager = FindObjectOfType <AudioManager>(); }
public TicTacToeLogic(PlaceMarker xMarker, PlaceMarker oMarker, EndGame endGame) { placeXMarker = xMarker; placeOMarker = oMarker; placeXNext = true; boardState = new string[3,3]; endGameListener = endGame; gameOver = false; }
public void OnPutDown(PlaceMarker toPos, Transform t, bool cook) //when the player places an object down { if (!isMoving) { GetHolding().GetObject().transform.parent = null; physics = GetHolding().GetObject().GetComponent <IPhysics>(); physics.SetMarker(toPos); StartCoroutine(MoveAndRotate(GetHolding().GetObject().transform, toPos.transform.position, .2f, cook)); StartCoroutine(WaitForFinish(physics, t, .21f)); toPos.SetOccupation(true); SetUI(3, ""); } }
public PlaceMarker GetMarker(GameObject obj) { PlaceMarker m = obj.GetComponentInChildren <PlaceMarker>(); if (m != null) { if (!m.GetOccupation()) { return(m); } } return(null); }
bool CheckEmptyMarker(Vector3 pos) { foreach (PlaceMarker p in markers) { if (!p.GetOccupation()) { return(true); } } PlaceMarker pl = i.ClosestMarker(markers, pos); if (!pl.GetOccupation()) { return(true); } return(false); }
public virtual void Start() { i = FindObjectOfType <Interact>(); au = FindObjectOfType <AudioManager>(); menu = FindObjectOfType <Menu>(); manager = FindObjectOfType <GameManager>(); foodTime = (int)menu.GetItemTime(GetName()); canvas = transform.Find("Canvas").GetComponent <Canvas>(); cookBar = canvas.transform.Find("CookBar").GetComponent <Image>(); if (canvas.gameObject.activeInHierarchy) { canvas.gameObject.SetActive(false); } thisMarker = GetComponentInChildren <PlaceMarker>(); defaultDrag = 600; stack = 1; }
public double EndOfDayRestock(bool clean) { double cleanCost = UnityEngine.Random.Range(0.45f, .51f); Move_S[] allS = FindObjectsOfType <Move_S>(); Food_O[] allFood = FindObjectsOfType <Food_O>(); GameObject[] allDeb = GameObject.FindGameObjectsWithTag("debris"); if (clean) { foreach (Food_O f in allFood) { Destroy(f.gameObject); } foreach (Move_S surface in allS) { if (surface.GetMarker() != null) { surface.GetMarker().SetOccupation(false); } Destroy(surface.gameObject); } GameObject[] allMObjs = GameObject.FindGameObjectsWithTag("Marker"); PlaceMarker[] allMarkers = new PlaceMarker[allMObjs.Length]; for (int i = 0; i < allMarkers.Length; i++) { allMarkers[i] = allMObjs[i].GetComponent <PlaceMarker>(); } foreach (PlaceMarker s in allMarkers) { s.SpwanObject(); } if (allDeb != null) { foreach (GameObject g in allDeb) { Destroy(g); } } cleanCost += dropCount * .2; dropCount = 0; } return(cleanCost); }
public void OnClick(RaycastHit hit, Transform t) { if (CheckForFood()) { PlaceMarker m = i.AnyMarker(markers.ToList(), hit.point); if (!m.GetOccupation()) { GameObject obj = i.GetHolding().GetObject(); Food_O food = obj.GetComponent <Food_O>(); if (!food.HasChild() && CheckScene()) { StartCoroutine(WaitToCook(food)); i.OnPutDown(m, null, true); obj.transform.rotation = Quaternion.identity; } } } }
public void OnClick(RaycastHit hit, Transform t) { IInteract obj = i.GetHolding(); if (obj != null) { if (obj.GetObject().CompareTag("Plate") && ticket != null) { PlaceMarker m = i.ClosestMarker(markers, hit.point); if (!m.GetOccupation()) { SendMeal(); SetTicket(null); i.OnPutDown(m, null, true); } } } }
void PutFoodOnFood(GameObject obj) //when food is in hand and want to place on other food. { Food_O[] food = obj.GetComponentsInChildren <Food_O>(); Food_O last = food[food.Length - 1]; //getting the last in the stack, may only be the one if (last.stack + stack <= 7 && !inStack) //may change stack limit { PlaceMarker m = i.GetMarker(gameObject); if (m != null) { for (int i = 0; i < food.Length; i++) { food[i].ChangeDrag(food[i].defaultDrag); //restting the drag and stack varibales if (food[i] != obj.GetComponent <Food_O>()) { food[i].stack = food[i - 1].stack + 1; } else { food[i].stack = stack + 1; } } if (GetParents() != null) { Food_O bottom = GetParents()[GetParents().Length - 1];//getting item at the bottom of the stack foreach (Food_O f in food) { bottom.foodStack.Add(f); //reordering the stack f.firstOnStack = bottom; } } Move_S move = m.GetComponentInParent <Move_S>(); //checing if the placemarker belongs to a plate/board/tray if (move != null) { for (int i = 0; i < food.Length; i++) { food[i].SetOnSurface(true); move.ListOfFood().Add(food[i]); //adding food to the surface accordingly } } i.OnPutDown(m, transform, false); } } }
public PlaceMarker ClosestMarker(PlaceMarker[] t, Vector3 pos) //function to find closest marker to where ray hit { PlaceMarker closest = null; float minDistance = float.MaxValue; List <float> distances = new List <float>(); for (int i = 0; i < t.Length; i++) { float distance = Vector3.Distance(pos, t[i].transform.position); distances.Add(distance); distances[i] = distance; if (distances[i] < minDistance) { minDistance = distances[i]; closest = t[i]; } } return(closest); }
void PutFoodOn(RaycastHit hit, GameObject food) //putting food on { PlaceMarker a = interact.AnyMarker(MarkerList(), hit.point); if (a != null) { Food_O[] foods = food.GetComponentsInChildren <Food_O>(); if (foods != null) //checking how many objects { int i = 1; foreach (Food_O f in foods) { ListOfFood().Add(f); //setting the food varibales f.SetOnSurface(true); f.ChangeDrag(f.defaultDrag); f.stack = i; i++; } } interact.OnPutDown(a, transform, false); } }
public PlaceMarker AnyMarker(List <PlaceMarker> markers, Vector3 pos) //fucntion to find any free placemarker { if (markers.Count > 0) { PlaceMarker closest = null; float minDistance = float.MaxValue; List <float> distances = new List <float>(); for (int i = 0; i < markers.Count; i++) { float distance = Vector3.Distance(pos, markers[i].transform.position); distances.Add(distance); distances[i] = distance; if (distances[i] < minDistance) { minDistance = distances[i]; closest = markers[i]; } } markers.Remove(closest); return(closest); } return(null); }
public void SetMarker(PlaceMarker m) { marker = m; }