Example #1
0
 void ChangeMarkPoint(Defines.Direction dir)
 {
     foreach (var mark in m_listfMarkPoints)
     {
         mark.GetComponent <SelectingMarkBehavior>().SetPosition(dir);
     }
 }
Example #2
0
    Defines.Position GenerateDirPosition(Defines.Direction dir)
    {
        Defines.Position returnPos = m_position;
        switch (dir)
        {
        case Defines.Direction.Left:
            break;

        case Defines.Direction.Right:
            returnPos.posX = -m_position.posX;
            returnPos.posY = m_position.posY;
            break;

        case Defines.Direction.Up:
            returnPos.posX = m_position.posY;
            returnPos.posY = -m_position.posX;
            break;

        case Defines.Direction.Down:
            returnPos.posX = m_position.posY;
            returnPos.posY = m_position.posX;
            break;
        }
        return(returnPos);
    }
Example #3
0
    public void SetPosition(Defines.Direction dir)
    {
        m_position = m_positions[(int)dir];
        if (Managers.Board.ChkBoundary(m_position) == false)
        {
            gameObject.SetActive(false);
            return;
        }
        gameObject.SetActive(true);
        Vector2 boardPos = Managers.Board.BoardPosToWorldPos(m_position);

        transform.position = boardPos + new Vector2(0, 1.25f);
    }
Example #4
0
    public override void Behavior()
    {
        int dis = (int)ChkDistanceFromPlayer();

        // 거리가 2가 넘으면 이동명령
        if (dis > 2)
        {
            Defines.Direction dir = MovingDirection(ChkPositionFromPlayer());
            Debug.Log(dir);
            m_controller.CharacterMove(m_controller.Position.PositionForDir(dir));
            return;
        }

        GameObject.Instantiate(m_cannonBall, m_cannon.transform);
    }
Example #5
0
    public override void Behavior()
    {
        int dis = (int)ChkDistanceFromPlayer();

        // 거리가 1이 넘으면 이동명령
        if (dis > 1)
        {
            Defines.Direction dir = MovingDirection(ChkPositionFromPlayer());
            Debug.Log(dir);
            m_controller.CharacterMove(m_controller.Position.PositionForDir(dir));
            return;
        }

        m_controller.AttackOtherCharacter(Managers.Object.Player);
    }
Example #6
0
    void ChkMarkPointDir()
    {
        Defines.Direction targetDir = Defines.Direction.Left;

        Vector3 mousePos  = Camera.main.ScreenToWorldPoint(Input.mousePosition);
        Vector3 playerPos = Managers.Object.Player.position;

        Vector3 targetPos = playerPos - mousePos;

        targetPos.x = targetPos.x >= 0 ? targetPos.x : -targetPos.x;
        targetPos.y = targetPos.y >= 0 ? targetPos.y : -targetPos.y;

        if (targetPos.x >= targetPos.y) // 좌, 우
        {
            if (playerPos.x - mousePos.x >= 0)
            {
                targetDir = Defines.Direction.Left;
            }
            else
            {
                targetDir = Defines.Direction.Right;
            }
        }
        else // 상, 하
        {
            if (playerPos.y - mousePos.y <= 0)
            {
                targetDir = Defines.Direction.Up;
            }
            else
            {
                targetDir = Defines.Direction.Down;
            }
        }
        ChangeMarkPoint(targetDir);
    }