elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Como usar una función public List de una clase C#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como usar una función public List de una clase C#  (Leído 2,633 veces)
yoelrodguez

Desconectado Desconectado

Mensajes: 167


Es mejor, una amarga verdad que una dulce mentira


Ver Perfil WWW
Como usar una función public List de una clase C#
« en: 24 Agosto 2022, 00:44 am »

Hola, tengo la siguiente situación: estoy haciendo una aplicación con unity 3d y c# (Soy nuevo en C#) en la que estoy usando la sdk de Easyar. El problema que tengo es que no sé cómo usar la función de una clase de la sdk a continuación les dejo lo que tengo hasta ahora hecho y la función que quiero utilizar.

Gracias

Lo que tengo hasta ahora:

Código:
public class Audiora : MonoBehaviour
{
    public AudioClip otherClip;
    public AudioSource audios;
    private AudioSource[] allAudioSources;
    private AudioSource audioN;

    private readonly ImageTrackerFrameFilter filter = new ImageTrackerFrameFilter();

    void Start()
    {
         //Aquí es donde necesito llamar a la función de la clase ImageTrackerFrameFilter
    }
}


Función que quiero llamar.
Código:
public List<KeyValuePair<Optional<TargetController>, Matrix44F>> OnResult(Optional<FrameFilterResult> frameFilterResult)
        {
            var resultControllers = new List<KeyValuePair<Optional<TargetController>, Matrix44F>>();
            var targetIDs = new List<int>();
            var lostIDs = new List<int>();

            if (frameFilterResult.OnSome)
            {
                var targetTrackerResult = frameFilterResult.Value as TargetTrackerResult;
                foreach (var targetInstance in targetTrackerResult.targetInstances())
                {
                    using (targetInstance)
                    {
                        if (targetInstance.status() != TargetStatus.Tracked)
                        {
                            continue;
                        }
                        var targetOptional = targetInstance.target();
                        if (targetOptional.OnNone)
                        {
                            continue;
                        }
                        using (var target = targetOptional.Value)
                        {
                            var controller = TryGetTargetController(target.runtimeID());
                            if (controller)
                            {
                                targetIDs.Add(target.runtimeID());
                                resultControllers.Add(new KeyValuePair<Optional<TargetController>, Matrix44F>(controller, targetInstance.pose()));
                                             
                            }
                        }
                    }
                }
            }
 foreach (var id in previousTargetIDs)
            {
                lostIDs.Add(id);
            }
            foreach (var id in targetIDs)
            {
                if (lostIDs.Contains(id))
                {
                    lostIDs.Remove(id);
                }
                var controller = TryGetTargetController(id);
                if (controller && controller.IsLoaded)
                {
                    controller.OnTracking(true);
                }
            }
            foreach (var id in lostIDs)
            {
                var controller = TryGetTargetController(id);
                if (controller)
                {
                    controller.OnTracking(false);
                }
            }

            previousTargetIDs = targetIDs;
            return resultControllers;
        }


En línea

**Aincrad**


Desconectado Desconectado

Mensajes: 668



Ver Perfil WWW
Re: Como usar una función public List de una clase C#
« Respuesta #1 en: 30 Agosto 2022, 20:31 pm »

No he usado unity, pero ...

OnResult Es una funcion que retorna una Lista de KeyValuePair, osea que tiene como Key TargetController y Value Matrix44F

A la funcion OnResult tambien debes pasarle un parametro FrameFilterResult hay un identeificador Optional, no se para que sirve, pero si es lo mismo que en VB, entonces no hay necesidad de pasarle parametro, ya que es opcional.

Código
  1.  
  2. FrameFilterResult FrameFilterEX;
  3.  
  4.        List<KeyValuePair[<TargetController, Matrix44F>]> OnResultData = OnResult(FrameFilterEX);
  5.  
  6.        foreach (KeyValuePair[<TargetController, Matrix44F>] ResultData in OnResultData)
  7.        {
  8.            TargetController TargetControllerEx = ResultData.Key;
  9.            Matrix44F MatrixEx = ResultData.Value;
  10.        }
  11.  
  12.  

Seria algo como eso, Osea no tal cual, pero si similar.



En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines