// brief Call this once a GameObject has detected a collision
    public void OnCollision()
    {
        GameObject fireGrid = new GameObject();

        fireGrid.name = "FireGrid";
        FireGrid grid = fireGrid.AddComponent <FireGrid>();

        fireGrid.AddComponent <FireGrassRemover>();
        grid.IgniterUpdate(m_firePrefab, gameObject.transform.position, m_gridWidth, m_gridHeight);
    }
示例#2
0
    // brief Call this once a GameObject has detected a collision
    public void OnCollision()
    {
        GameObject fireGrid = new GameObject();

        fireGrid.name = "FireGrid";
        grid          = fireGrid.AddComponent <FireGrid>();
        fireGrid.AddComponent <FireGrassRemover>();

        emitter = GetComponent <FMODUnity.StudioEventEmitter>();
        if (emitter == null)
        {
            Debug.Log("Unable to create FMOD_StudioEventEmitter on " + gameObject.name);
        }

        grid.IgniterUpdate(m_firePrefab, gameObject.transform.position, m_gridWidth, m_gridHeight);
    }
示例#3
0
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            RaycastHit2D Hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector3.zero);
            if (Hit.transform != null)
            {
                if (Hit.transform.CompareTag("Ship"))
                {
                    SelectedPiece = Hit.transform.gameObject; InitialPos = SelectedPiece.transform.parent.transform.position; SelfInitialPos = SelectedPiece.transform.position;
                }
            }
            ;
        }
        ;

        if (MousePointCollider != null && SelectedPiece != null)
        {
            if (Input.GetMouseButtonUp(0) && MousePointCollider.GetComponent <MousePointCollider>().CollideWithAMagneticArea)
            {
                if (SelectedPiece.GetComponent <RectTransform>().sizeDelta.x / SelectedPiece.GetComponent <RectTransform>().sizeDelta.y == 1)
                {
                    SelectedPiece.transform.position = new Vector3(MousePointCollider.GetComponent <MousePointCollider>().MagneticAreaCollided.transform.position.x, MousePointCollider.GetComponent <MousePointCollider>().MagneticAreaCollided.transform.position.y, -1f);                                                                                                              // else SelectedPiece.transform.position = new Vector3(MousePointCollider.GetComponent<MousePointCollider>().MagneticAreaCollided.transform.position.x + ((SelectedPiece.GetComponent<RectTransform>().sizeDelta.x / (SelectedPiece.GetComponent<RectTransform>().sizeDelta.x / SelectedPiece.GetComponent<RectTransform>().sizeDelta.y)*2)/10), MousePointCollider.GetComponent<MousePointCollider>().MagneticAreaCollided.transform.position.y, -1f); };
                }
                else if (SelectedPiece.transform.GetChild(0).GetComponent <TailCollider>().CollideWithAMagneticArea)
                {
                    SelectedPiece.transform.parent.transform.position = new Vector3(MousePointCollider.GetComponent <MousePointCollider>().MagneticAreaCollided.transform.position.x, MousePointCollider.GetComponent <MousePointCollider>().MagneticAreaCollided.transform.position.y, -1f);
                }                                                                                                                                                                                                                                                                                                                                                                       /*"}"*/
                FreeShips--;
            }
        }
        ;
        if (SelectedPiece != null && Input.GetMouseButton(0))
        {
            Vector3 MousePoint = Camera.main.ScreenToWorldPoint(Input.mousePosition); if (SelectedPiece.GetComponent <RectTransform>().sizeDelta.x / SelectedPiece.GetComponent <RectTransform>().sizeDelta.y == 1)
            {
                SelectedPiece.transform.position = new Vector3(MousePoint.x, MousePoint.y, -1f);
            }
            else
            {
                SelectedPiece.transform.parent.transform.position = new Vector3(MousePoint.x, MousePoint.y, -1f);
            }; SelectedPiece.transform.parent.transform.SetParent(MainCanvas.transform);
        }

        if (SelectedPiece != null && Input.GetMouseButtonUp(0))
        {
            if (SelectedPiece.GetComponent <RectTransform>().sizeDelta.x / SelectedPiece.GetComponent <RectTransform>().sizeDelta.y != 1)
            {
                if (!(MousePointCollider.GetComponent <MousePointCollider>().CollideWithAMagneticArea) || (!(SelectedPiece.transform.GetChild(0)).GetComponent <TailCollider>().CollideWithAMagneticArea))
                {
                    SelectedPiece.transform.parent.transform.position = InitialPos;
                }
            }
            else if (!(MousePointCollider.GetComponent <MousePointCollider>().CollideWithAMagneticArea))
            {
                SelectedPiece.transform.position = SelfInitialPos;
            }
            SelectedPiece = null;
        }

        if (FreeShips == 0)
        {
            PlacementEnd = true; FireGrid.SetActive(true); TextMessage.SetActive(false);
        }
    }
 void Start()
 {
     RealFloorGrid = gameObject.GetComponent <CentralFloor>().Grid;
     RealFireGrid  = gameObject.GetComponent <FireGrid>();
 }