Beispiel #1
0
    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+ "\"";*/
        }
    }
Beispiel #3
0
    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;
    }