Beispiel #1
0
    public static void generateAttaquePartCard(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 cadrePA = GameObject.CreatePrimitive(PrimitiveType.Plane);

        cadrePA.name = "CadrePA_" + idCarte;
        cadrePA.transform.SetParent(faceCarteGO.transform);
        cadrePA.transform.localPosition             = new Vector3(-3.5f, .01f, -4.15f);
        cadrePA.transform.localRotation             = Quaternion.identity;
        cadrePA.transform.localScale                = new Vector3(.25f, 1, .1f);
        cadrePA.GetComponent <Renderer> ().material = dictionaryMaterialForCardType [KEY_POINT_DEF_ATT];

        GameObject pointAttaque = new GameObject("TxtPA_" + idCarte);

        pointAttaque.transform.SetParent(cadrePA.transform);
        pointAttaque.transform.localPosition = new Vector3(0, .01f, 0);
        pointAttaque.transform.localRotation = Quaternion.identity;
        pointAttaque.transform.Rotate(new Vector3(90, 0, 0));                   //Le titre apparait face à z
        pointAttaque.transform.localScale = new Vector3(1f, 2f, 1f);
        TextMesh txtPA = pointAttaque.AddComponent <TextMesh> ();

        txtPA.text     = "Att-" + carteRef.PointAttaque;
        txtPA.color    = Color.black;
        txtPA.fontSize = 60;
        txtPA.font     = ConstanteInGame.fontChintzy;
        txtPA.anchor   = TextAnchor.MiddleCenter;
        pointAttaque.GetComponent <Renderer> ().material = ConstanteInGame.matChintzy;

        beanTextCarte.txtPointAttaque = txtPA;
    }
Beispiel #2
0
    public static void generateCarburantPartCard(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 cadreCarburant = GameObject.CreatePrimitive(PrimitiveType.Plane);

        cadreCarburant.name = "CadreCarbu_" + idCarte;
        cadreCarburant.transform.SetParent(faceCarteGO.transform);
        cadreCarburant.transform.localPosition             = new Vector3(2.39f, 0.005f, -.9f);
        cadreCarburant.transform.localRotation             = Quaternion.identity;
        cadreCarburant.transform.localScale                = new Vector3(.4f, 0.005f, .09f);
        cadreCarburant.GetComponent <Renderer> ().material = dictionaryMaterialForCardType [KEY_CARBURANT];
        GameObject carburant = new GameObject("Carbu_" + idCarte);

        carburant.transform.SetParent(cadreCarburant.transform);
        carburant.transform.localPosition = new Vector3(1f, 1f, 1f);
        carburant.transform.localRotation = Quaternion.identity;
        carburant.transform.Rotate(new Vector3(90, 0, 0));                      //Le titre apparait face à z
        carburant.transform.localScale = new Vector3(1, 3, 1);
        TextMesh txtcarburant = carburant.AddComponent <TextMesh> ();

        txtcarburant.text     = "C-" + carteRef.ConsommationCarburant;
        txtcarburant.color    = Color.black;
        txtcarburant.fontSize = 50;
        txtcarburant.font     = ConstanteInGame.fontChintzy;
        txtcarburant.anchor   = TextAnchor.MiddleCenter;
        carburant.GetComponent <Renderer> ().material = ConstanteInGame.matChintzy;

        beanTextCarte.txtCarburant = txtcarburant;
    }
Beispiel #3
0
    private GameObject convertDataToGO(CarteConstructionAbstractData carteConstructionData, bool isServer)
    {
        CarteConstructionDTO carteDTO = ConvertDataAndDTOUtils.convertCarteConstructionDataToDTO(carteConstructionData);

        GameObject carteConstructionGO = CarteUtils.convertCarteDTOToGameobject(carteDTO, isServer);

        carteConstructionGO.SetActive(false);

        return(carteConstructionGO);
    }
    public override bool initCarteRef(CarteDTO carteRef)
    {
        bool initDo = false;

        if (null == carteRef && carteRef is CarteConstructionDTO)
        {
            this.carteRef = (CarteConstructionDTO)carteRef;
            initDo        = true;
        }

        return(initDo);
    }
    public string initCarte(CarteConstructionDTO initCarteRef, bool isServer)
    {
        carteRef = initCarteRef;
        initId();
        NiveauActuel = 1;
        PV           = carteRef.PointVieMax;

        if (isServer)
        {
            initEvent();
        }

        return(id);
    }
    public void RpcGenerate(byte[] dataObject, NetworkInstanceId networkIdJoueur)
    {
        Debug.Log("ClientRpc");

        if (NetworkInstanceId.Invalid == networkIdJoueur || networkIdJoueur == this.netId)
        {
            CarteConstructionDTO carteRef = null;

            carteRef = SerializeUtils.Deserialize <CarteConstructionDTO> (dataObject);

            initCarte(carteRef, false);
            generateGOCard();
            CmdAssignCard();
        }
    }
Beispiel #7
0
    public static CarteConstructionDTO convertCarteConstructionDataToDTO(CarteConstructionAbstractData carteConstructionData)
    {
        CarteConstructionDTO carteConstructionDTO = new CarteConstructionDTO();

        carteConstructionDTO.TitreCarte    = carteConstructionData.titreCarte;
        carteConstructionDTO.LibelleCarte  = carteConstructionData.libelleCarte;
        carteConstructionDTO.CitationCarte = carteConstructionData.citationCarte;

        carteConstructionDTO.ImagePath = ConstanteInGame.strImageCartePath + "/" + getDossierCarte(carteConstructionData) + "/" + carteConstructionData.name;

        carteConstructionDTO.NbTourAvantActif = carteConstructionData.nbTourAvantActif;
        carteConstructionDTO.PointVieMax      = carteConstructionData.pointVieMax;
        carteConstructionDTO.ListNiveau       = new List <NiveauDTO> ();

        if (null != carteConstructionData.listNiveau)
        {
            foreach (NiveauData niveauData in carteConstructionData.listNiveau)
            {
                carteConstructionDTO.ListNiveau.Add(convertNiveauDataToDTO(niveauData));
            }
        }

        if (carteConstructionData is CarteBatimentData)
        {
            carteConstructionDTO.PointAttaque          = 0;
            carteConstructionDTO.ConsommationCarburant = 0;
            carteConstructionDTO.TypeOfCarte           = ConstanteInGame.strBatiment;
        }
        else if (carteConstructionData is CarteDefenseData)
        {
            carteConstructionDTO.PointAttaque          = ((CarteDefenseData)carteConstructionData).pointAttaque;
            carteConstructionDTO.ConsommationCarburant = 0;
            carteConstructionDTO.TypeOfCarte           = ConstanteInGame.strDefense;
        }
        else if (carteConstructionData is CarteVaisseauData)
        {
            carteConstructionDTO.PointAttaque          = ((CarteVaisseauData)carteConstructionData).pointAttaque;
            carteConstructionDTO.ConsommationCarburant = ((CarteVaisseauData)carteConstructionData).consommationCarburant;
            carteConstructionDTO.TypeOfCarte           = ConstanteInGame.strVaisseau;
        }
        else
        {
            carteConstructionDTO.PointAttaque          = 0;
            carteConstructionDTO.ConsommationCarburant = 0;
        }

        return(carteConstructionDTO);
    }
    //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 #9
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;
    }