Esempio n. 1
0
 private Restricciones[] GetRestricciones()
 {
     Restricciones[] restricciones = new Restricciones[nroRestricciones];
     try
     {
         for (int i = 0; i < nroRestricciones; i++)
         {
             float[] variables = new float[nroVariables];
             var     b         = float.Parse(dgvRestriciones.Rows[i].Cells[nroVariables + 1].Value.ToString());
             string  signo     = Convert.ToString(dgvRestriciones.Rows[i].Cells[nroVariables].Value);
             for (int j = 0; j < nroVariables; j++)
             {
                 if (dgvRestriciones.Rows[i].Cells[j].Value == null)
                 {
                     variables[j] = 0;
                     continue;
                 }
                 variables[j] = float.Parse(dgvRestriciones.Rows[i].Cells[j].Value.ToString());
             }
             restricciones[i] = new Restricciones(variables, b, signo);
         }
         return(restricciones);
     }
     catch (Exception e)
     {
         throw new Exception("Se han Ingresado datos erróneos al ingresar los valores de las Restricciones");
     }
 }
Esempio n. 2
0
        private Restricciones[] GetRestriccionesEjemplo()
        {
            Restricciones[] restriccionesArray = new Restricciones[3];
            Restricciones   r1 = new Restricciones();

            r1.sign      = "<=";
            r1.b         = 70;
            r1.variables = new float[2] {
                1, 0
            };

            Restricciones r2 = new Restricciones();

            r2.sign      = "<=";
            r2.b         = 50;
            r2.variables = new float[2] {
                0, 1
            };

            Restricciones r3 = new Restricciones();

            r3.sign      = "<=";
            r3.b         = 120;
            r3.variables = new float[2] {
                1, 1
            };

            restriccionesArray[0] = r1;
            restriccionesArray[1] = r2;
            restriccionesArray[2] = r3;

            return(restriccionesArray);
        }
    public void Mover(Vector2 input, Restricciones restricciones)
    {
        Vector3 newPosition = transform.position;

        if (input.x != 0)
        {
            float      dirX     = -Mathf.Sign(input.x);
            float      rot      = dirX * OrbitDegrees * Time.deltaTime;
            Quaternion rotation = Quaternion.Euler(0, rot, 0);
            newPosition = RotatePointAroundPivot(newPosition, target.transform.position, rotation);
        }

        if (input.y != 0)
        {
            float   distanciaY = Mathf.Sign(input.y) < 0 ? 1f : 3f;
            Vector3 lerpTo     = new Vector3(newPosition.x, distanciaY, newPosition.z);
            newPosition = Vector3.Lerp(newPosition, lerpTo, Time.deltaTime);
        }

        newPosition.x = Mathf.Clamp(newPosition.x, restricciones.minX, restricciones.maxX);
        newPosition.y = Mathf.Clamp(newPosition.y, restricciones.minY, restricciones.maxY);
        newPosition.z = Mathf.Clamp(newPosition.z, restricciones.minZ, restricciones.maxZ);

        transform.position = newPosition;
    }
Esempio n. 4
0
 public Personajes(int _id, string _nombre_personaje, byte _sexo, Celda _celda, int _restricciones)
 {
     id            = _id;
     nombre        = _nombre_personaje;
     sexo          = _sexo;
     celda         = _celda;
     restricciones = new Restricciones(_restricciones);
 }
Esempio n. 5
0
 public virtual void Dispose(bool disposing)
 {
     if (!disposed)
     {
         celda         = null;
         disposed      = true;
         restricciones = null;
     }
 }
        private string GetValidacionRestriccion(double restriccionValor, Restricciones restriccion)
        {
            var    signo = restriccion.sign;
            string resp  = "NO";

            switch (signo)
            {
            case "=":
                if (restriccionValor == restriccion.b)
                {
                    resp = "SI";
                }
                break;

            case "<":
                if (restriccionValor < restriccion.b)
                {
                    resp = "SI";
                }
                break;

            case "<=":
                if (restriccionValor <= restriccion.b)
                {
                    resp = "SI";
                }
                break;

            case ">":
                if (restriccionValor > restriccion.b)
                {
                    resp = "SI";
                }
                break;

            case ">=":
                if (restriccionValor >= restriccion.b)
                {
                    resp = "SI";
                }
                break;

            default:
                break;
            }
            return(resp);
        }
    public void Mover(Vector2 input, Restricciones restricciones)
    {
        Vector3 newPosition = transform.position;

        if(input.x != 0){
            float dirX = -Mathf.Sign(input.x);
            float rot = dirX * OrbitDegrees * Time.deltaTime;
            Quaternion rotation = Quaternion.Euler(0, rot, 0);
            newPosition = RotatePointAroundPivot(newPosition, target.transform.position, rotation);
        }

        if(input.y != 0){
            float distanciaY = Mathf.Sign(input.y) < 0 ? 1f : 3f;
            Vector3 lerpTo = new Vector3(newPosition.x, distanciaY, newPosition.z);
            newPosition = Vector3.Lerp(newPosition, lerpTo, Time.deltaTime);
        }

        newPosition.x = Mathf.Clamp(newPosition.x, restricciones.minX, restricciones.maxX);
        newPosition.y = Mathf.Clamp(newPosition.y, restricciones.minY, restricciones.maxY);
        newPosition.z = Mathf.Clamp(newPosition.z, restricciones.minZ, restricciones.maxZ);

        transform.position = newPosition;
    }