public static NiveauDTO convertNiveauDataToDTO(NiveauData niveauData) { NiveauDTO niveauDTOResult = new NiveauDTO(); niveauDTOResult.TitreNiveau = niveauData.titreNiveau; niveauDTOResult.DescriptionNiveau = niveauData.descriptionNiveau; niveauDTOResult.CitationNiveau = niveauData.citationNiveau; niveauDTOResult.Cout = niveauData.cout; niveauDTOResult.Capacite = new List <CapaciteDTO> (); if (null != niveauData.capacite) { foreach (CapaciteData capaciteData in niveauData.capacite) { if (null != capaciteData) { niveauDTOResult.Capacite.Add(convertCapaciteDataToDTO(capaciteData)); } else { Debug.Log(niveauData); Debug.Log(capaciteData); } } } niveauDTOResult.NbCapaciteAuxChoix = niveauData.typeNbCapaciteAuxChoix; niveauDTOResult.ValeurTypeCapaciteAuxChoix = niveauData.valeurTypeCapaciteAuxChoix; niveauDTOResult.CapaciteManuelle = new List <CapaciteMannuelleDTO> (); if (null != niveauData.capaciteManuelle) { foreach (CapaciteMannuelleData capaciteMannuelleData in niveauData.capaciteManuelle) { niveauDTOResult.CapaciteManuelle.Add(convertCapaciteManuelleDataToDTO(capaciteMannuelleData)); } } return(niveauDTOResult); }
//Affiche la carte si clique dessus public virtual void generateVisualCard() { if (!JoueurProprietaire.CarteEnVisuel) { base.generateVisualCard(); JoueurProprietaire.CarteEnVisuel = true; float height = panelGO.GetComponent <RectTransform> ().rect.height; float width = panelGO.GetComponent <RectTransform> ().rect.width; CarteConstructionDTO carteSource = getCarteRef(); int nbNiveau = carteSource.ListNiveau.Count; //On supprime le premier niveau s'il est vide if (nbNiveau > 1 && carteSource.ListNiveau [0].TitreNiveau == "") { nbNiveau--; } //TODO le joueur envoyé devrait être celui qui clique designCarte = new DesignCarteConstructionV2(panelGO, height, width, nbNiveau, JoueurProprietaire); designCarte.setTitre(carteSource.TitreCarte); designCarte.setImage(Resources.Load <Sprite>(carteSource.ImagePath)); designCarte.setMetal(carteSource.ListNiveau [0].Cout); //TODO passer par getCout(qui vérifie s'il y a des capacité malus au bonus vert ou roge) designCarte.setNiveauActuel(NiveauActuel); designCarte.setCarburant(0); //designCarte.setDescription ("Ceci est une description de la carte"); //designCarte.setCitation ("Il était une fois une carte"); bool premierNivCache = false; for (int index = 0; index < carteSource.ListNiveau.Count; index++) { NiveauDTO niveau = carteSource.ListNiveau [index]; //ne rempie pas le premier titre s'il est vide if (index == 0 && niveau.TitreNiveau == "") { premierNivCache = true; continue; } //On affiche le cout uniquement int cout = NiveauActuel < index + 1 ? niveau.Cout : 0; designCarte.setNiveau(premierNivCache ? index : index + 1, niveau.TitreNiveau, niveau.DescriptionNiveau, niveau.Cout); } //TODO calcul PA, PD, ... designCarte.setPA(0); designCarte.setPD(this.PV); /*paternCarteConstruction = (GameObject) Instantiate(Resources.Load("Graphique/CarteConstructionPatern")); * paternCarteConstruction.transform.SetParent (panelGO.transform); * paternCarteConstruction.transform.localPosition = Vector3.zero; * paternCarteConstruction.GetComponent<RectTransform>().ForceUpdateRectTransforms(); * * float height = panelGO.GetComponent<RectTransform>().rect.height; * float width = panelGO.GetComponent<RectTransform>().rect.width; * paternCarteConstruction.GetComponent<RectTransform> ().sizeDelta = new Vector2 (width, height); * * GameObject paternTitre = paternCarteConstruction.transform.Find ("Titre").gameObject; * GameObject paternImage = paternCarteConstruction.transform.Find ("Image").gameObject; * GameObject paternRessource = paternCarteConstruction.transform.Find ("Ressource").gameObject; * GameObject paternRessourceMetal = paternRessource.transform.Find ("Metal").gameObject; * GameObject paternRessourceNiveau = paternRessource.transform.Find ("NiveauActuel").gameObject; * paternRessourceCarbu = paternRessource.transform.Find ("Carburant").gameObject; * GameObject paternDescription = paternCarteConstruction.transform.Find ("Description").gameObject; * GameObject paternCitation = paternCarteConstruction.transform.Find ("Citation").gameObject; * GameObject paternNiveaux = paternCarteConstruction.transform.Find ("Niveaux").gameObject; * GameObject paternUtilise = paternCarteConstruction.transform.Find ("Utilise").gameObject; * * CarteConstructionAbstractData carteRef = (CarteConstructionAbstractData) getCarteRef (); * * paternTitre.GetComponent<Text>().text = carteRef.titreCarte; * //paternImage.GetComponent<Image> ().sprite = carteRef.image; //TODO carte Ref doit être un sprite * paternRessourceMetal.GetComponentInChildren<Text>().text = "" + carteRef.listNiveau[0].cout; //TODO passer par getCout(qui vérifie s'il y a des capacité malus au bonus vert ou roge) * paternRessourceNiveau.GetComponentInChildren<Text> ().text = "" + this.niveauActuel; //TODO rajouter niveau actuelle dans la carte * * paternRessourceCarbu.SetActive (false); * * paternDescription.GetComponent<Text> ().text = carteRef.libelleCarte; * paternCitation.GetComponent<Text> ().text = "\"" + carteRef.citationCarte+ "\"";*/ } }
public static void generateConstructionPartCard(CarteConstructionMetierAbstract carteBean, string idCarte, TextesCarteBean beanTextCarte) { string typeCarte = getTypeCard(carteBean); Dictionary <string, Material> dictionaryMaterialForCardType = dictionnaryOfMaterial [typeCarte]; CarteConstructionDTO carteRef = carteBean.getCarteRef(); GameObject faceCarteGO = beanTextCarte.goFaceCarte; GameObject cadreMetal = GameObject.CreatePrimitive(PrimitiveType.Plane); cadreMetal.name = "CadreMetal_" + idCarte; cadreMetal.transform.SetParent(faceCarteGO.transform); cadreMetal.transform.localPosition = new Vector3(-2.39f, 0.005f, -.9f); cadreMetal.transform.localRotation = Quaternion.identity; cadreMetal.transform.localScale = new Vector3(.4f, 0.005f, .09f); cadreMetal.GetComponent <Renderer> ().material = dictionaryMaterialForCardType [KEY_METAL];; GameObject metal = new GameObject("Metal_" + idCarte); metal.transform.SetParent(cadreMetal.transform); metal.transform.localPosition = new Vector3(1f, 1f, 1f); metal.transform.localRotation = Quaternion.identity; metal.transform.Rotate(new Vector3(90, 0, 0)); //Le titre apparait face à z metal.transform.localScale = new Vector3(1, 3, 1); TextMesh txtmetal = metal.AddComponent <TextMesh> (); txtmetal.text = "M-" + carteRef.ListNiveau [0].Cout; txtmetal.color = Color.black; txtmetal.fontSize = 50; txtmetal.font = ConstanteInGame.fontChintzy; txtmetal.anchor = TextAnchor.MiddleCenter; metal.GetComponent <Renderer> ().material = ConstanteInGame.matChintzy; GameObject niveau = GameObject.CreatePrimitive(PrimitiveType.Plane); niveau.name = "Niveau_" + idCarte; niveau.transform.SetParent(faceCarteGO.transform); niveau.transform.localPosition = new Vector3(0, 0.01f, -0.9f); niveau.transform.localScale = new Vector3(.25f, .75f, 0.2f); niveau.transform.localRotation = Quaternion.identity; niveau.transform.Rotate(new Vector3(0, 180, 0)); Material matNiveau = new Material(dictionaryMaterialForCardType [KEY_NIVEAU]); matNiveau.EnableKeyword("_DETAIL_MULX2"); matNiveau.SetTexture("_DetailAlbedoMap", getSpriteNiveau(carteBean.NiveauActuel).texture); niveau.GetComponent <Renderer> ().material = matNiveau; GameObject description = GameObject.CreatePrimitive(PrimitiveType.Plane); description.name = "descriptionPart_" + idCarte; description.transform.SetParent(faceCarteGO.transform); description.transform.localPosition = new Vector3(-0f, .005f, -2.54f); description.transform.localScale = new Vector3(.75f, 1f, 0.25f); description.transform.localRotation = Quaternion.identity; description.GetComponent <Renderer> ().material = dictionaryMaterialForCardType [KEY_DESCRIPTION]; description.AddComponent <ClickableCardPart> ().setCarteMere(carteBean); BoxCollider collCadre = description.AddComponent <BoxCollider> (); collCadre.size = new Vector3(10, .1f, 10); GameObject listNiveaux = new GameObject("TxtListNiv_" + idCarte); listNiveaux.transform.SetParent(description.transform); listNiveaux.transform.localPosition = new Vector3(0f, .005f, 0f); listNiveaux.transform.localRotation = Quaternion.identity; listNiveaux.transform.Rotate(new Vector3(90, 0, 0)); //Le titre apparait face à z listNiveaux.transform.localScale = new Vector3(.75f, 1f, 1f); TextMesh txtDescriptionNiveaux = listNiveaux.AddComponent <TextMesh> (); string textNiv = ""; for (int index = 0; index < carteRef.ListNiveau.Count; index++) { NiveauDTO niveauDTO = carteRef.ListNiveau [index]; if (textNiv != "") { textNiv += "\n"; } if (niveauDTO.TitreNiveau != "") { textNiv += niveauDTO.TitreNiveau; } } txtDescriptionNiveaux.text = textNiv; txtDescriptionNiveaux.alignment = TextAlignment.Center; txtDescriptionNiveaux.anchor = TextAnchor.MiddleCenter; txtDescriptionNiveaux.color = Color.black; txtDescriptionNiveaux.fontSize = 15; txtDescriptionNiveaux.font = ConstanteInGame.fontChintzy; listNiveaux.GetComponent <Renderer> ().material = ConstanteInGame.matChintzy; GameObject cadrePD = GameObject.CreatePrimitive(PrimitiveType.Plane); cadrePD.name = "CadrePD_" + idCarte; cadrePD.transform.SetParent(faceCarteGO.transform); cadrePD.transform.localPosition = new Vector3(3.5f, .01f, -4.15f); cadrePD.transform.localRotation = Quaternion.identity; cadrePD.transform.localScale = new Vector3(.25f, 1, .1f); cadrePD.GetComponent <Renderer> ().material = dictionaryMaterialForCardType [KEY_POINT_DEF_ATT]; GameObject pointDefence = new GameObject("TxtPD_" + idCarte); pointDefence.transform.SetParent(cadrePD.transform); pointDefence.transform.localPosition = new Vector3(0, .01f, 0); pointDefence.transform.localRotation = Quaternion.identity; pointDefence.transform.Rotate(new Vector3(90, 0, 0)); //Le titre apparait face à z pointDefence.transform.localScale = new Vector3(1f, 2f, 1f); TextMesh txtPD = pointDefence.AddComponent <TextMesh> (); txtPD.text = "Def-" + carteRef.PointVieMax; //TODO modif pour PV reelle txtPD.color = Color.black; txtPD.fontSize = 60; txtPD.font = ConstanteInGame.fontChintzy; txtPD.anchor = TextAnchor.MiddleCenter; pointDefence.GetComponent <Renderer> ().material = ConstanteInGame.matChintzy; beanTextCarte.txtMetal = txtmetal; beanTextCarte.goNiveau = niveau; beanTextCarte.txtDescription = txtDescriptionNiveaux; beanTextCarte.txtPointDefense = txtPD; }