private void SwitchSpotTypes(PlaceableSpot.PlaceableSpotType _type) { switch (_type) { case PlaceableSpot.PlaceableSpotType.Null: break; case PlaceableSpot.PlaceableSpotType.EscapePoint: if (!m_isSelectionAxisInUse) { if (GameManager.instance.CurrentEscapeSpot != null) { GameManager.instance.CurrentEscapeSpot.Graphics.SetSelectedGraphichs(false); GameManager.instance.CurrentEscapeSpot = null; RemEsc++; } if (RemEsc > 0) { EscapeSpot _EscapeSpot = Currenthit.transform.GetComponent <EscapeSpot>(); GameManager.instance.CurrentEscapeSpot = _EscapeSpot; _EscapeSpot.Graphics.SetSelectedGraphichs(true); RemEsc--; } } break; case PlaceableSpot.PlaceableSpotType.StartinPoint: if (!m_isSelectionAxisInUse) { if (GameManager.instance.CurrentStartSpot != null) { GameManager.instance.CurrentStartSpot.Graphics.SetSelectedGraphichs(false); GameManager.instance.CurrentStartSpot = null; RemStart++; } if (RemStart > 0) { SpawnSpot _SpawnSpot = Currenthit.transform.GetComponent <SpawnSpot>(); GameManager.instance.CurrentStartSpot = _SpawnSpot; _SpawnSpot.Graphics.SetSelectedGraphichs(true); RemStart--; } } break; case PlaceableSpot.PlaceableSpotType.Hiding: //if (RemHiding > 0) //{ // HidingSpot _HidingSpot = Currenthit.transform.GetComponent<HidingSpot>(); // _HidingSpot.Graphics.SetSelectedGraphichs(true); // RemHiding--; //} break; case PlaceableSpot.PlaceableSpotType.Cam: //if (RemCams > 0) //{ // CamSpot _CamSpot = Currenthit.transform.GetComponent<CamSpot>(); // _CamSpot.Graphics.SetSelectedGraphichs(true); // RemCams--; //} break; case PlaceableSpot.PlaceableSpotType.Multi: if (CurrentSpotType != 0) { ObjectsSpot _objectsSpot = Currenthit.transform.GetComponent <ObjectsSpot>(); _objectsSpot.Graphics.SetSelectedGraphichs(true); for (int i = 0; i < _objectsSpot.SpotTypesForMulti.Count; i++) { if (_objectsSpot.SpotTypesForMulti[i] == CurrentSpotType) { _objectsSpot.SpotsForMultiExe[i].SetActive(true); _objectsSpot.SpotsForMultiPlan[i].SetActive(true); } else { _objectsSpot.SpotsForMultiExe[i].SetActive(false); _objectsSpot.SpotsForMultiPlan[i].SetActive(false); } } } break; default: break; } }
void CheckSpots() { LayerMask layerMask = ~WallMask; if (Physics.Raycast(DroneCamera.transform.position, Pointer.transform.position - DroneCamera.transform.position, out Currenthit, 500000f, layerMask)) { Debug.DrawLine(Camera.main.ScreenToWorldPoint(new Vector3(Screen.width / 2, Screen.height / 2, 10)), Currenthit.point, Color.red, 100f); if (Currenthit.transform.GetComponent <SpotBase>() != null) { Oldhit = Currenthit; if (Currenthit.transform.GetComponent <PlaceableSpot>() != null) { if (CheckDronePlacingselection()) { SwitchSpotTypes(Currenthit.transform.GetComponent <PlaceableSpot>().SpotType); CurrentSpotType = 0; } else if (Input.GetAxis("DroneSelect") != 0) { SwitchSpotTypes(Currenthit.transform.GetComponent <PlaceableSpot>().SpotType); } else if (Input.GetAxis("DroneRemove") != 0) { switch (Currenthit.transform.GetComponent <PlaceableSpot>().SpotType) { case PlaceableSpot.PlaceableSpotType.EscapePoint: //EscapeSpot _EscapeSpot = Currenthit.transform.GetComponent<EscapeSpot>(); //if (GameManager.instance.CurrentEscapeSpot == _EscapeSpot) //{ // GameManager.instance.CurrentEscapeSpot = null; // _EscapeSpot.Graphics.SetSelectedGraphichs(false); // RemEsc++; //} break; case PlaceableSpot.PlaceableSpotType.StartinPoint: //SpawnSpot _SpawnSpot = Currenthit.transform.GetComponent<SpawnSpot>(); //if (GameManager.instance.CurrentStartSpot == _SpawnSpot) //{ // GameManager.instance.CurrentStartSpot = null; // _SpawnSpot.Graphics.SetSelectedGraphichs(false); // RemStart++; //} break; case PlaceableSpot.PlaceableSpotType.Hiding: break; case PlaceableSpot.PlaceableSpotType.Cam: break; case PlaceableSpot.PlaceableSpotType.Multi: ObjectsSpot _objectsSpot = Currenthit.transform.GetComponent <ObjectsSpot>(); for (int i = 0; i < _objectsSpot.SpotTypesForMulti.Count; i++) { //if (_objectsSpot.SpotTypesForMulti[i] == CurrentSpotType) //{ _objectsSpot.SpotsForMultiExe[i].SetActive(false); _objectsSpot.Graphics.SetSelectedGraphichs(false); //} } break; default: break; } } } else if (Currenthit.transform.GetComponent <InterestSpot>() != null) { } } //else if (Oldhit.transform) Oldhit.transform.GetComponent<MeshRenderer>().material.color = Oldhit.transform.GetComponent<MeshRenderer>().material.color - Color.red; } //else if (Oldhit.transform) Oldhit.transform.GetComponent<MeshRenderer>().material.color = Oldhit.transform.GetComponent<MeshRenderer>().material.color - Color.red; }