示例#1
0
    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;
        }
    }
示例#2
0
    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;
    }