Example #1
0
    public void deplacerCarte(IConteneurCarte nouveauEmplacement, NetworkInstanceId netIdNouveauPossesseur, NetworkInstanceId netIdTaskEvent)
    {
        //TODO que faire pour deplacement vers la mains
        if (isDeplacable())
        {
            if (nouveauEmplacement is EmplacementMetierAbstract)
            {
                ((EmplacementMetierAbstract)nouveauEmplacement).putCard(this, this.getConteneur() is Mains, netIdTaskEvent);
            }
            else if (nouveauEmplacement is ISelectionnable)
            {
                JoueurUtils.getJoueurLocal().CmdCreateTask(this.netId, this.idJoueurProprietaire, ((ISelectionnable)nouveauEmplacement).IdISelectionnable, ConstanteIdObjet.ID_CONDITION_ACTION_DEPLACEMENT_STANDART, NetworkInstanceId.Invalid, false);
            }
            else if (!isServer)
            {
                //TODO bon comportement si emplacement pa sselectionnable?
                nouveauEmplacement.putCard(this);
            }

            if (netIdNouveauPossesseur != NetworkInstanceId.Invalid && netIdNouveauPossesseur != idJoueurProprietaire)
            {
                this.idJoueurProprietaire = netIdNouveauPossesseur;
            }
        }
    }
Example #2
0
    public static void invoquerCarteServer(GameObject carteAInvoquer, int niveauInvocation, IConteneurCarte emplacementCible, Joueur joueurPossesseur)
    {
        NetworkServer.Spawn(carteAInvoquer);

        CarteMetierAbstract carteScript = carteAInvoquer.GetComponent <CarteMetierAbstract> ();

        if (carteScript is CarteConstructionMetierAbstract)
        {
            ((CarteConstructionMetierAbstract)carteScript).NiveauActuel = niveauInvocation;
        }

        if (joueurPossesseur.isServer)
        {
            EmplacementUtils.putCardFromServer(emplacementCible, carteScript);
        }
        else
        {
            emplacementCible.putCard(carteScript);
        }

        NetworkUtils.assignObjectToPlayer(carteScript.GetComponent <NetworkIdentity> (), joueurPossesseur.GetComponent <NetworkIdentity> (), .2f);
        byte[] carteRefData = SerializeUtils.SerializeToByteArray(carteScript.getCarteDTORef());


        if (carteScript is CarteConstructionMetierAbstract)
        {
            ((CarteConstructionMetierAbstract)carteScript).RpcGenerate(carteRefData, NetworkInstanceId.Invalid);
        }         //TODO carte amelioration
    }