public void get_Experiencia_Oficio(ClienteTcp cliente, string paquete) { string[] separador_oficio_experiencia = paquete.Substring(3).Split('|'); PersonajeJuego personaje = cliente.cuenta.juego.personaje; uint experiencia_actual, experiencia_base, experiencia_siguiente_nivel; short id; byte nivel; foreach (string oficio in separador_oficio_experiencia) { id = short.Parse(oficio.Split(';')[0]); nivel = byte.Parse(oficio.Split(';')[1]); experiencia_base = uint.Parse(oficio.Split(';')[2]); experiencia_actual = uint.Parse(oficio.Split(';')[3]); if (nivel < 100) { experiencia_siguiente_nivel = uint.Parse(oficio.Split(';')[4]); } else { experiencia_siguiente_nivel = 0; } personaje.oficios.Find(x => x.id == id).set_Actualizar_Oficio(nivel, experiencia_base, experiencia_actual, experiencia_siguiente_nivel); } personaje.evento_Oficios_Actualizados(); }
public void get_Experiencia_Oficio(ClienteTcp cliente, string paquete) { string[] array = paquete.Substring(3).Split(new char[] { '|' }); PersonajeJuego personaje = cliente.cuenta.juego.personaje; short id; Predicate <Oficio> < > 9__0; foreach (string text in array) { id = short.Parse(text.Split(new char[] { ';' })[0]); byte b = byte.Parse(text.Split(new char[] { ';' })[1]); uint experiencia_base = uint.Parse(text.Split(new char[] { ';' })[2]); uint experiencia_actual = uint.Parse(text.Split(new char[] { ';' })[3]); bool flag = b < 100; uint experiencia_siguiente_nivel; if (flag) { experiencia_siguiente_nivel = uint.Parse(text.Split(new char[] { ';' })[4]); } else { experiencia_siguiente_nivel = 0U; } List <Oficio> oficios = personaje.oficios; Predicate <Oficio> match; if ((match = < > 9__0) == null) { match = (< > 9__0 = ((Oficio x) => x.id == (int)id)); } oficios.Find(match).set_Actualizar_Oficio(b, experiencia_base, experiencia_actual, experiencia_siguiente_nivel); } personaje.evento_Oficios_Actualizados(); }
public void get_Skills_Oficio(ClienteTcp cliente, string paquete) { string[] separador_skill; PersonajeJuego personaje = cliente.cuenta.juego.personaje; Oficio oficio; SkillsOficio skill = null; short id_oficio, id_skill; byte cantidad_minima, cantidad_maxima; float tiempo; foreach (string datos_oficio in paquete.Substring(3).Split('|')) { id_oficio = short.Parse(datos_oficio.Split(';')[0]); oficio = personaje.oficios.Find(x => x.id == id_oficio); if (oficio == null) { oficio = new Oficio(id_oficio); personaje.oficios.Add(oficio); } foreach (string datos_skill in datos_oficio.Split(';')[1].Split(',')) { separador_skill = datos_skill.Split('~'); id_skill = short.Parse(separador_skill[0]); cantidad_minima = byte.Parse(separador_skill[1]); cantidad_maxima = byte.Parse(separador_skill[2]); tiempo = float.Parse(separador_skill[4]); skill = oficio.skills.Find(actividad => actividad.id == id_skill); if (skill != null) { skill.set_Actualizar(id_skill, cantidad_minima, cantidad_maxima, tiempo); } else { oficio.skills.Add(new SkillsOficio(id_skill, cantidad_minima, cantidad_maxima, tiempo)); } } } personaje.evento_Oficios_Actualizados(); }
public void get_Skills_Oficio(ClienteTcp cliente, string paquete) { PersonajeJuego personaje = cliente.cuenta.juego.personaje; short id_oficio; short id_skill; Predicate <Oficio> < > 9__0; Predicate <SkillsOficio> < > 9__1; foreach (string text in paquete.Substring(3).Split(new char[] { '|' })) { id_oficio = short.Parse(text.Split(new char[] { ';' })[0]); List <Oficio> oficios = personaje.oficios; Predicate <Oficio> match; if ((match = < > 9__0) == null) { match = (< > 9__0 = ((Oficio x) => x.id == (int)id_oficio)); } Oficio oficio = oficios.Find(match); bool flag = oficio == null; if (flag) { oficio = new Oficio((int)id_oficio); personaje.oficios.Add(oficio); } foreach (string text2 in text.Split(new char[] { ';' })[1].Split(new char[] { ',' })) { string[] array3 = text2.Split(new char[] { '~' }); id_skill = short.Parse(array3[0]); byte cantidad_minima = byte.Parse(array3[1]); byte cantidad_maxima = byte.Parse(array3[2]); float tiempo = float.Parse(array3[4]); List <SkillsOficio> skills = oficio.skills; Predicate <SkillsOficio> match2; if ((match2 = < > 9__1) == null) { match2 = (< > 9__1 = ((SkillsOficio actividad) => actividad.id == id_skill)); } SkillsOficio skillsOficio = skills.Find(match2); bool flag2 = skillsOficio != null; if (flag2) { skillsOficio.set_Actualizar(id_skill, cantidad_minima, cantidad_maxima, tiempo); } else { oficio.skills.Add(new SkillsOficio(id_skill, cantidad_minima, cantidad_maxima, tiempo)); } } } personaje.evento_Oficios_Actualizados(); }