Пример #1
0
    public override void ReturnToPools()
    {
        base.ReturnToPools();

        PoolExtension.SetPool(EnemyEnums.GetPoolEnemy(_VirusEnemyId), transform);

        direction_left_right = DirectionEnums.DirectionId.None;
        direction_up_down    = DirectionEnums.DirectionId.None;
    }
Пример #2
0
    public override void IUpdate()
    {
        if (!IsUpdate)
        {
            return;
        }

        if (!IsActiveHit)
        {
            IsActiveHit = GameManager.Instance.IsActiveGetHit(position.y);
        }

        speed_moving = Time.deltaTime * target_speed_moving;

        switch (direction_up_down)
        {
        case DirectionEnums.DirectionId.Up:
            position.y += speed_moving;
            break;

        case DirectionEnums.DirectionId.Down:
            position.y -= speed_moving;
            break;
        }

        switch (direction_left_right)
        {
        case DirectionEnums.DirectionId.Left:
            position.x -= speed_moving;

            if (GameManager.Instance.IsOutSiteLeft(position.x))
            {
                direction_left_right = DirectionEnums.DirectionId.Right;
            }

            break;

        case DirectionEnums.DirectionId.Right:
            position.x += speed_moving;

            if (GameManager.Instance.IsOutSiteRight(position.x))
            {
                direction_left_right = DirectionEnums.DirectionId.Left;
            }

            break;
        }

        IsRenderer = true;
    }
Пример #3
0
    public void RefreshDirection()
    {
        DirectionId = DirectionEnums.DirectionId.None;

        var limit_x_left  = EnemyManager.Instance.GetLimitXLeftInstanceEnemy();
        var limit_x_right = EnemyManager.Instance.GetLimitYRightInstanceEnemy();

        if (position.x < limit_x_left)
        {
            DirectionId = DirectionEnums.DirectionId.Right;
        }

        if (position.x > limit_x_right)
        {
            DirectionId = DirectionEnums.DirectionId.Left;
        }
    }
Пример #4
0
    private void RefreshDirectionUpDown()
    {
        switch (direction_up_down)
        {
        case DirectionEnums.DirectionId.None:
            direction_up_down = DirectionEnums.DirectionId.Down;
            break;

        case DirectionEnums.DirectionId.Down:
            direction_up_down = DirectionEnums.DirectionId.Up;
            break;

        case DirectionEnums.DirectionId.Up:
            direction_up_down = DirectionEnums.DirectionId.Down;
            break;
        }
    }
Пример #5
0
    private void RefreshDirectionLeftRight()
    {
        switch (direction_left_right)
        {
        case DirectionEnums.DirectionId.None:

            var random_value = Random.Range(0, 3);

            switch (random_value)
            {
            case 0:
                direction_left_right = DirectionEnums.DirectionId.None;
                break;

            case 1:
                direction_left_right = DirectionEnums.DirectionId.Left;
                break;

            case 2:
                direction_left_right = DirectionEnums.DirectionId.Right;
                break;

            default:
                direction_left_right = DirectionEnums.DirectionId.None;
                break;
            }

            break;

        case DirectionEnums.DirectionId.Left:
            direction_left_right = DirectionEnums.DirectionId.Right;
            break;

        case DirectionEnums.DirectionId.Right:
            direction_left_right = DirectionEnums.DirectionId.Left;
            break;
        }
    }