ðŸ’Ĩ PatrÃģn OBSERVER 🧠 | PATRONES de DISEÑO para UNITY

āđāļŠāļĢāđŒ
āļāļąāļ‡
  • āđ€āļœāļĒāđāļžāļĢāđˆāđ€āļĄāļ·āđˆāļ­ 25 āļĄ.āļ„. 2025

āļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™ • 29

  • @ThepowerupsLearning
    @ThepowerupsLearning  3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    âĪïļ Curso de Patrones de diseÃąo para VIDEOJUEGOS: bit.ly/3auX35Y
    ➡ïļ Guía rÃĄpida de patrones de diseÃąo para VIDEOJUEGOS: thepowerups-learning.com/guia-rapida-de-patrones-de-diseno/
    ðŸ”ĩ Discord: discord.gg/KWABp4BfN4
    👆👆👆👆👆👆👆👆👆👆

  • @black1000ize
    @black1000ize 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    Muchas gracias! soy novato en la programaciÃģn y aÚn así pude entender el patrÃģn con este tutorial

    • @ThepowerupsLearning
      @ThepowerupsLearning  3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

      Me alegro de que lo hayas podido entender, ahora toca practicar 😁

  • @SirML
    @SirML 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    Buena info !

  • @damianbogarin3119
    @damianbogarin3119 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    Puedes, con uniRx, disparar un evento y que este lleve acabo una funcion que retorne UnitaskVoid?... osea una funcion async?

  • @juanmanuelaltuna8095
    @juanmanuelaltuna8095 2 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    Una duda, entre este patron o un evento en el sujeto al que se suscriban todos los observer, que ventajas tendria este patron sobre el otro metodo?

  • @Zoren.mcc95
    @Zoren.mcc95 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    Es genia!
    Quisiera aprender a fondo esto de los patrones pero no sÃĐ por dÃģnde empezar. 😓

    • @ThepowerupsLearning
      @ThepowerupsLearning  3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +2

      ÂĄHola! ÂĄTengo justo la soluciÃģn! 😁.
      En el blog tenemos una lista de todos los patrones que hemos ido viendo aplicados a videojuegos. Dentro de cada artículo encontrarÃĄs un vídeo a YT, la explicaciÃģn y el cÃģdigo utilizado. ➡ïļ thepowerups-learning.com/patrones-de-diseno/
      TambiÃĐn tenemos un curso de Patrones de diseÃąo para VIDEOJUEGOS, y las primeras lecciones son gratuitas para que puedas ver cÃģmo es el curso, te dejo el enlace por si quieres echarle un vistazo: ➡ïļ curso-patrones-para-videojuegos.thepowerups-learning.com/
      TambiÃĐn puedes pasarte por el canal de Discord (enlace en la descripciÃģn) y preguntar cualquier duda que tengas sobre patrones y otros temas de programaciÃģn, ya somos casi 200 devs en el canal 🙂.

  • @sergisanchezsalip7919
    @sergisanchezsalip7919 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    Muy buen tutorial! Tengo una duda, crees que tendría sentido implementar el plug-in de UniRX para tenerlo mÃĄs "optimizado" para mi proyecto? Soy compaÃąero de trabajo de Toni. Un saludo!

    • @ThepowerupsLearning
      @ThepowerupsLearning  3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

      ÂĄHola Sergi!
      Yo soy de la opiniÃģn de no reinventar la rueda, UniRx funciona perfecto y no tiene problemas de performance, al menos hasta donde yo lo he utilizado. AdemÃĄs tener nuestra propia librería implicarÃĄ tiempo y mantenimiento, y por experiencia eso acaba en una librería desfasada y que es un dolor de actualizar.
      De todos modos, antes de plantearme optimizarla, habría que ver la performance que tiene y hacer muchas pruebas. Ligado con esto, te dejo un vídeo donde hablo de pre-optimizaciÃģn y porquÃĐ es una mala idea: th-cam.com/video/rbPyHyCH_QQ/w-d-xo.html
      ÂĄUn saludo!

    • @sergisanchezsalip7919
      @sergisanchezsalip7919 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

      @@ThepowerupsLearning Muchas gracias Dani. Me miro el video y comparto tu opiniÃģn! Saludos!!

  • @BrontoKroxig
    @BrontoKroxig 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    Muy buenas! Muy buen vídeo, me ha aclarado muchas dudas, pero me ha surgido una nueva: la mayoría de implementaciones del patrÃģn observer que he visto usan un gestor de los eventos, una clase GameEvents o parecida, que es la que se encarga de hospedar todos los event actions, es esto una buena o mala praxis? o es situacional? de que depende? gracias! (en el canal de youtube de "Game Dev Guide" en su video "How To Build An Event System in Unity
    " usa esta implementaciÃģn que comento, por si quieres echarle un vistazo ^^)

    • @ThepowerupsLearning
      @ThepowerupsLearning  3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

      Se basa en el observer pero es otro patrÃģn, el event queue. Todo depende de como lo implementes, mientras tu sistema sea totalmente independiente de los nuevos eventos que vas aÃąadiendo no tiene porque ser un problema.

    • @BrontoKroxig
      @BrontoKroxig 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

      @@ThepowerupsLearning MUUUUUCHÍSIMAS gracias por la pronta respuesta. Con tu experiencia, cual de los dos patrones recomiendas?

    • @ThepowerupsLearning
      @ThepowerupsLearning  3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

      Depende mucho de cada caso, yo utilizo los 2 segÚn para que cosas. El event queue va muy bien para eventos generales, el observer lo prefiero para cosas mÃĄs concretas y que solo le interesan a pocos colaboradores

  • @STR1451
    @STR1451 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

    Geniales tus videos, por favor, quita los fondos blancos de tus videos, sobre todo en los diagramas :C hacen sangran los ojos xD

  • @rodrigofernandez4978
    @rodrigofernandez4978 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    Hola! En el mÃĐtodo Configure de HelathView, el Suscribre me tira error diciendo que "No se puede convertir de 'grupo de mÃĐtodos' a 'IObserver' " ÂŋPorquÃĐ podrÃĄ ser? Gracias

    • @rodrigofernandez4978
      @rodrigofernandez4978 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

      Me faltaba agregar el using UniRx

    • @ThepowerupsLearning
      @ThepowerupsLearning  3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

      Hay veces que ese using no lo pilla auto y hay que ponerlo a mano porque es un mÃĐtodo de extensiÃģn si mal no recuerdo.

  • @rubencruz2687
    @rubencruz2687 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    ÂĄHola y gracias por el video! Justo hace unos días había visto otro de UniRx, pero en vez de usarlo como un Observer, lo usaban como el Update. Me gustaría saber si para la propiedad reactiva no hace falta desuscribirse en el OnDisable, por ejemplo. ÂŋEl plugin maneja que si un objeto suscrito estÃĄ desactivado todo siga ejecutÃĄndose bien? Arigatou!

    • @ThepowerupsLearning
      @ThepowerupsLearning  3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

      ÂĄHola! Si quieres desuscribirte lo tienes que gestionar tu. La funciÃģn de suscripciÃģn devuelve un IDisposable que puedes utilizar en el OnDisable o donde prefieras, pero es cosa del consumidor lo que haga con esto.

    • @rubencruz2687
      @rubencruz2687 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

      @@ThepowerupsLearning, ah ya veo, gracias otra vez xD

  • @PeryLoth
    @PeryLoth 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    Esta muy buena la soluciÃģn del plugin, pero tengo una pregunta. Al agregar el plugin no significa que aÃąadimos mas cosas a compilar? no hace esto mas "pesado" de procesar?
    Me gusto la segunda implementaciÃģn para objetos jugables.
    En la tercera tengo mis dudas... probare el profile de unity a ver que me dice...

    • @ThepowerupsLearning
      @ThepowerupsLearning  3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§ +1

      Puede que aumente el tiempo de compilado, pero si aÃąadimos un plugin es porque lo necesitamos. Si escribimos nosotros mismos ese mismo cÃģdigo, el problema serÃĄ el mismo y ademÃĄs tendremos que mantenerlo.

  • @dahaka55555
    @dahaka55555 3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

    Hay mucha diferencia en el consumo de recursos de cada implementaciÃģn? (tanto la de actions como por referencia) Y si tengo muchos observers debería preocuparme por esto?. Muy bueno el tuto por cierto, yo uso bastante este patrÃģn tambiÃĐn.

    • @ThepowerupsLearning
      @ThepowerupsLearning  3 āļ›āļĩāļ—āļĩāđˆāđāļĨāđ‰āļ§

      La verdad es que habría que analizarlo en detalle, en el canal tenemos un proyecto para hacer este tipo de pruebas, te paso el enlace al vídeo donde lo explico: th-cam.com/video/rbPyHyCH_QQ/w-d-xo.html
      Yo tambiÃĐn lo utilizo bastante para la UI y nunca he tenido problemas de rendimiento. Claro estÃĄ que no es lo mismo reaccionar cuando ocurren ciertos eventos de vez en cuando, que reaccionar con varios Observers en cada Update.