private void InitPadreValues() { CostoAcumulado = m_padre.CostoAcumulado + GetCostToNode((Suelo)m_padre); if (NpcActual != null) { ESuelo tipo = (ESuelo)m_ciudad.PosicionesActuales[(int)PosicionNPC.x, (int)PosicionNPC.y]; m_tiempoAcumulado = ((Suelo)Padre).m_tiempoAcumulado + Pies.m_resistenciasSuelo[tipo.ToString()] * NpcActual.TiempoPorCasilla(PosicionNPC); } }
private Sprite GetSpriteSuelo(ESuelo suelo) { switch (suelo) { case ESuelo.Marmol: return(marmol); case ESuelo.Camino: return(camino); case ESuelo.Tierra: return(tierra); case ESuelo.Pasto: return(pasto); case ESuelo.Arena: return(arena); default: return(null); } }
private float GetCostToNode(Suelo suelo) { if (suelo.PosicionNPC == this.PosicionNPC) { return(0.4f); } ESuelo tipoSuelo = (ESuelo)m_ciudad.PosicionesActuales[(int)suelo.PosicionNPC.x, (int)suelo.PosicionNPC.y]; switch (tipoSuelo) { case ESuelo.Marmol: return(0.9f); case ESuelo.Camino: return(1); case ESuelo.Tierra: return(1.5f); case ESuelo.Pasto: return(2f); case ESuelo.Arena: return(4f); default: return(0); } }
private float Resistencia(int x, int y) { ESuelo tipo = (ESuelo)m_ciudad.PosicionesActuales[x, y]; return(Pies.m_resistenciasSuelo[tipo.ToString()]); }