public void AddExperiencia(ATRIBUTO atributo, int experiencia) { CharAttribute atribute = attributes[atributo]; int thisExperience = GetFixedExperience(level); atribute.AddExperiencie(experiencia); Debug.Log("Has ganado " + experiencia + " de experiencia en el atributo " + atributo.ToString() + ". Total experiencia: " + atribute.experiencia + "/" + thisExperience); if (atribute.experiencia > thisExperience) { int newExperience = GetFixedExperience(level + 1); float porc = GetAumento(level, thisExperience, newExperience); atribute.AddLevel(newExperience); Debug.Log("Ha subido el atributo " + atributo + "Al nivel " + atribute.level); foreach (KeyValuePair <ATRIBUTO, CharAttribute> value in attributes) { if (value.Value.hasExperience) { value.Value.RecalculateExperience(porc); } } level++; } //Actualizar el gráfico. actionUpdate(); }
public CharAttribute(ATRIBUTO atributo) { this.atributo = atributo; experiencia = 0; level = 5; hasExperience = false; isActive = true; }
public CharAttribute(ATRIBUTO atributo, int nivel, int experiencia) { this.atributo = atributo; this.experiencia = experiencia; level = nivel; hasExperience = true; isActive = true; }
public bool CanDoAction(ATRIBUTO atributo) { for (int i = 0; i < barraAtributo.Length; i++) { if (barraAtributo[i].estado == atributo && barraAtributo[i].toggleActivado != null) { return(barraAtributo[i].toggleActivado.isOn); } } return(true); }
public float GetPorc(ATRIBUTO atributo) { int nivel = GetLevel(atributo); int actualExperience = GetExperience(atributo); int nextLevel = GetFixedExperience(nivel + 1); if (nextLevel == 0) { return(1); } return(((float)actualExperience) / ((float)nextLevel)); }
public void ResetObject() { atributo = StartAtributo; transform.position = StartPosition; transform.rotation = StartRotation; transform.localScale = StartScale; rb.useGravity = startGravity; rb.velocity = StartVelocity; rb.angularVelocity = Vector3.zero; if (GetComponent <BoxCollider>()) { this.GetComponent <BoxCollider>().material = normal; } if (GetComponent <SphereCollider>()) { this.GetComponent <SphereCollider>().material = normal; } GetComponentInChildren <MeshRenderer>().material = StartMaterial; }
public void CambiarAtributo(int atr) { if (atr != 0) { GameManager.GM.SetObjeto(this.gameObject); } switch (atr) { case 1: { atributo = ATRIBUTO.Iman; GetComponentInChildren <MeshRenderer>().material = GameManager.GM.TypesM[0]; Debug.Log("Soy muy atractivo ;)"); } break; case 2: { achivements.CheckAchivement(0); atributo = ATRIBUTO.Girar; GetComponentInChildren <MeshRenderer>().material = GameManager.GM.TypesM[1]; Debug.Log("Estoy girando yay"); Girar(); } break; case 3: { atributo = ATRIBUTO.Rebotable; GetComponentInChildren <MeshRenderer>().material = GameManager.GM.TypesM[2]; Rebotable(); } break; case 4: { achivements.CheckAchivement(2); atributo = ATRIBUTO.Gravedad; rb.useGravity = !rb.useGravity; if (!rb.useGravity) { rb.AddForce(Vector3.up, ForceMode.Impulse); } GetComponentInChildren <MeshRenderer>().material = GameManager.GM.TypesM[3]; Debug.Log("Aqui todos Flotan"); } break; default: { atributo = ATRIBUTO.Neutral; GetComponentInChildren <MeshRenderer>().material = StartMaterial; Debug.Log("Todo vuelve a la normalidad"); } break; } if (atributo != ATRIBUTO.Gravedad) { rb.useGravity = startGravity; } if (atributo != ATRIBUTO.Iman) { if (magnetico.Length > 0) { achivements.CheckAchivement(3); for (int i = 0; i < magnetico.Length; i++) { //magnetico[i].GetComponent<Rigidbody>().useGravity = startGravity; } } } if (atributo != ATRIBUTO.Rebotable) { if (GetComponent <BoxCollider>()) { this.GetComponent <BoxCollider>().material = normal; } if (GetComponent <SphereCollider>()) { this.GetComponent <SphereCollider>().material = normal; } } }
// Añade la experiencia a la acción. public void SetExperience(ATRIBUTO attribute, int quantity) { atributo = attribute; experience = quantity; }
public int GetExperience(ATRIBUTO atributo) { return(attributes[atributo].experiencia); }
public int GetLevel(ATRIBUTO atributo) { return(attributes[atributo].level); }
public int this [ATRIBUTO atributo] { get { return(GetExperience(atributo)); } }
public bool IsActive(ATRIBUTO atributo) { return(attributes[atributo].isActive); }
public void SetActive(ATRIBUTO atributo, bool actived) { attributes[atributo].SetActive(actived); }