Ejemplo n.º 1
0
    void Update()
    {
        //GERENCIAMENTO DE DISPONIBILIDADE
        if (walkUp.Count > 0)
        {
            auxStr            = walkUp [0];
            auxStr.onTheField = walkUp [0].box.gameObject.transform.GetComponent <ScriptField> ().freeFloor;
            auxStr.box.gameObject.transform.GetComponent <ScriptField> ().onPath = auxStr.onTheField;
            walkUp [0] = auxStr;
            auxStr     = new _campo();
        }

        if (walkDown.Count > 0)
        {
            auxStr            = walkDown [0];
            auxStr.onTheField = walkDown [0].box.gameObject.transform.GetComponent <ScriptField> ().freeFloor;
            auxStr.box.gameObject.transform.GetComponent <ScriptField> ().onPath = auxStr.onTheField;
            walkDown [0] = auxStr;
            auxStr       = new _campo();
        }

        if (walkLeft.Count > 0)
        {
            auxStr            = walkLeft [0];
            auxStr.onTheField = walkLeft [0].box.gameObject.transform.GetComponent <ScriptField> ().freeFloor;
            auxStr.box.gameObject.transform.GetComponent <ScriptField> ().onPath = auxStr.onTheField;
            walkLeft [0] = auxStr;
            auxStr       = new _campo();
        }

        if (walkRight.Count > 0)
        {
            auxStr            = walkRight [0];
            auxStr.onTheField = walkRight [0].box.gameObject.transform.GetComponent <ScriptField> ().freeFloor;
            auxStr.box.gameObject.transform.GetComponent <ScriptField> ().onPath = auxStr.onTheField;
            walkRight [0] = auxStr;
            auxStr        = new _campo();
        }
        //GERENCIAMENTO DE DISPONIBILIDADE

        //PREPARA

        if (prepara == true)
        {
            if (walkUp.Count > 0)
            {
                auxStr = walkUp [0];
                if (auxStr.onTheField == true)
                {
                    auxStr.box.gameObject.transform.GetComponent <SpriteRenderer> ().color = new Vector4(0, 1, 0, 1);

                    if (auxStr.box.gameObject.transform.GetComponent <ScriptField> ().preparaCampo == true)
                    {
                        destino = auxStr.box.gameObject;
                        walking = true;
                        prepara = false;
                    }
                }
                else
                {
                    auxStr.box.gameObject.transform.GetComponent <SpriteRenderer> ().color = backColor;
                }
            }

            if (walkDown.Count > 0)
            {
                auxStr = walkDown [0];
                if (auxStr.onTheField == true)
                {
                    auxStr.box.gameObject.transform.GetComponent <SpriteRenderer> ().color = new Vector4(0, 1, 0, 1);

                    if (auxStr.box.gameObject.transform.GetComponent <ScriptField> ().preparaCampo == true)
                    {
                        destino = auxStr.box.gameObject;
                        walking = true;
                        prepara = false;
                    }
                }
                else
                {
                    auxStr.box.gameObject.transform.GetComponent <SpriteRenderer> ().color = backColor;
                }
            }

            if (walkLeft.Count > 0)
            {
                auxStr = walkLeft [0];
                if (auxStr.onTheField == true)
                {
                    auxStr.box.gameObject.transform.GetComponent <SpriteRenderer> ().color = new Vector4(0, 1, 0, 1);

                    if (auxStr.box.gameObject.transform.GetComponent <ScriptField> ().preparaCampo == true)
                    {
                        destino = auxStr.box.gameObject;
                        walking = true;
                        prepara = false;
                    }
                }
                else
                {
                    auxStr.box.gameObject.transform.GetComponent <SpriteRenderer> ().color = backColor;
                }
            }

            if (walkRight.Count > 0)
            {
                auxStr = walkRight [0];
                if (auxStr.onTheField == true)
                {
                    auxStr.box.gameObject.transform.GetComponent <SpriteRenderer> ().color = new Vector4(0, 1, 0, 1);

                    if (auxStr.box.gameObject.transform.GetComponent <ScriptField> ().preparaCampo == true)
                    {
                        destino = auxStr.box.gameObject;
                        walking = true;
                        prepara = false;
                    }
                }
                else
                {
                    auxStr.box.gameObject.transform.GetComponent <SpriteRenderer> ().color = backColor;
                }
            }
        }

        //PREPARA

        //ANDA

        if (walking == true)
        {
            gameObject.transform.GetComponent <spawnPlayerRaMooh> ().onField = false;
            transform.position = Vector2.Lerp(transform.position, destino.transform.position, Time.deltaTime);
            limpa = true;
        }

        if (limpa == true)
        {
            if (walkUp.Count > 0)
            {
                auxStr = walkUp [0];
                auxStr.box.gameObject.transform.GetComponent <SpriteRenderer> ().color = backColor;
                auxStr.box.gameObject.transform.GetComponent <ScriptField> ().onPath   = false;
            }

            if (walkDown.Count > 0)
            {
                auxStr = walkDown [0];
                auxStr.box.gameObject.transform.GetComponent <SpriteRenderer> ().color = backColor;
                auxStr.box.gameObject.transform.GetComponent <ScriptField> ().onPath   = false;
            }

            if (walkLeft.Count > 0)
            {
                auxStr = walkLeft [0];
                auxStr.box.gameObject.transform.GetComponent <SpriteRenderer> ().color = backColor;
                auxStr.box.gameObject.transform.GetComponent <ScriptField> ().onPath   = false;
            }

            if (walkRight.Count > 0)
            {
                auxStr = walkRight [0];
                auxStr.box.gameObject.transform.GetComponent <SpriteRenderer> ().color = backColor;
                auxStr.box.gameObject.transform.GetComponent <ScriptField> ().onPath   = false;
            }



            walkUp.Clear();
            walkDown.Clear();
            walkRight.Clear();
            walkLeft.Clear();

            limpa = false;
        }

        if (limpaColor == true)
        {
            if (walkUp.Count > 0)
            {
                auxStr = walkUp [0];
                auxStr.box.gameObject.transform.GetComponent <SpriteRenderer> ().color = backColor;
                auxStr.box.gameObject.transform.GetComponent <ScriptField> ().onPath   = false;
            }

            if (walkDown.Count > 0)
            {
                auxStr = walkDown [0];
                auxStr.box.gameObject.transform.GetComponent <SpriteRenderer> ().color = backColor;
                auxStr.box.gameObject.transform.GetComponent <ScriptField> ().onPath   = false;
            }

            if (walkLeft.Count > 0)
            {
                auxStr = walkLeft [0];
                auxStr.box.gameObject.transform.GetComponent <SpriteRenderer> ().color = backColor;
                auxStr.box.gameObject.transform.GetComponent <ScriptField> ().onPath   = false;
            }

            if (walkRight.Count > 0)
            {
                auxStr = walkRight [0];
                auxStr.box.gameObject.transform.GetComponent <SpriteRenderer> ().color = backColor;
                auxStr.box.gameObject.transform.GetComponent <ScriptField> ().onPath   = false;
            }

            limpaColor = false;
        }

        //ANDA
    }
Ejemplo n.º 2
0
    //UPDATE


    void OnTriggerStay2D(Collider2D other)
    {
        if (other.tag == "Enemy")
        {
            alien = other.gameObject;
        }

        if (criaLista == true)
        {
            if (gameObject.transform.GetComponent <spawnPlayerRaMooh>().onField = true)
            {
                if (other.tag == "Box")
                {
                    other.gameObject.transform.GetComponent <ScriptField> ().freeFloor = false;
                }
            }

            line     = null;
            lineDown = null;
            lineUp   = null;

            if (walkUp != null)
            {
                walkUp.Clear();
            }

            if (walkDown != null)
            {
                walkDown.Clear();
            }

            if (walkRight != null)
            {
                walkRight.Clear();
            }

            if (walkLeft != null)
            {
                walkLeft.Clear();
            }

            if (other.gameObject.tag == "Box")
            {
                grid = other.gameObject.transform.parent.parent.gameObject;
                line = other.gameObject.transform.parent.gameObject;

                for (int i = 0; i < grid.transform.GetComponent <LineIndentificator> ().qtd; i++)
                {
                    if (grid.gameObject.transform.GetChild(i).gameObject == line.gameObject)
                    {
                        auxInt = i;
                    }
                }

                if (auxInt < grid.transform.GetComponent <LineIndentificator> ().qtd - 1)
                {
                    lineUp = grid.transform.GetChild(auxInt + 1).gameObject;
                }

                if (auxInt > 0)
                {
                    lineDown = grid.transform.GetChild(auxInt - 1).gameObject;
                }

                auxInt = line.gameObject.transform.GetComponent <LineIndentificator> ().path.Count;

                if (auxInt > 0)
                {
                    for (int i = 0; i < auxInt; i++)
                    {
                        if (line.gameObject.transform.GetChild(i).gameObject == other.gameObject)
                        {
                            if (lineUp != null)
                            {
                                var str = new _campo();
                                str.box        = lineUp.gameObject.transform.GetChild(i).gameObject;
                                str.onTheField = true;
                                walkUp.Add(str);
                            }

                            if (lineDown != null)
                            {
                                var str = new _campo();
                                str.box        = lineDown.gameObject.transform.GetChild(i).gameObject;
                                str.onTheField = true;
                                walkDown.Add(str);
                            }

                            if (i < auxInt - 1)
                            {
                                var str = new _campo();
                                str.box        = line.gameObject.transform.GetChild(i + 1).gameObject;
                                str.onTheField = true;
                                walkRight.Add(str);
                            }

                            if (i > 0)
                            {
                                var str = new _campo();
                                str.box        = line.gameObject.transform.GetChild(i - 1).gameObject;
                                str.onTheField = true;
                                walkLeft.Add(str);
                            }
                        }
                    }
                }
            }
            criaLista = false;
        }
        //Fecha If Cria Lista

        //POSICIONA
        if (destino != null)
        {
            if (other.gameObject == destino.gameObject)
            {
                other.gameObject.transform.GetComponent <ScriptField> ().preparaCampo = false;
                walking = false;
                if (gameObject.transform.position.x - other.gameObject.transform.position.x > -0.9f ||
                    gameObject.transform.position.x - other.gameObject.transform.position.x < 0.1f)
                {
                    gameObject.transform.position = other.gameObject.transform.position;
                    destino = null;
                }
                gameObject.transform.GetComponent <spawnPlayerRaMooh> ().onField = true;
            }
        }
        //POSICIONA
    }