Exemplo n.º 1
0
    //Called when script has recieved all network data
    void Awake()
    {
        object[] data = photonView.instantiationData;
        team               = data[0].ToString();
        myOriginator       = data[1].ToString();
        floorPos           = (Vector3)data[2];
        destinationGameObj = GameObject.Find(data[3].ToString());
        ad                 = (float)data[4];
        ap                 = (float)data[5];
        initialPos         = transform.position;
        originatorGameObj  = GameObject.Find(myOriginator);
        originatorCharName = originatorGameObj.GetComponent <PlayerStats>().charName;

        spellActive = true;

        if (team == "red")
        {
            mask = ((1 << 16) | (1 << 21));
        }
        else
        {
            mask = ((1 << 17) | (1 << 21));
        }

        OnStart();
        StartCoroutine(DestroyMyselfAfterSomeTime());
    }
Exemplo n.º 2
0
    void AddCaptureSlainEvent(CharacterClass.charName charKiller, string killerName, CharacterClass.charName charSlain, string slainName)
    {
        SlainEvent capture = new SlainEvent();

        capture.killerName = killerName;
        capture.slainName  = slainName;

        for (int i = 0; i < charPortraits.Count; i++)
        {
            if (charPortraits[i].charName == charKiller)
            {
                capture.killerSprite = charPortraits[i].charPortrait;
            }

            if (charPortraits[i].charName == charSlain)
            {
                capture.slainSprite = charPortraits[i].charPortrait;
            }

            killerText.text = killerName;
            slainText.text  = slainName;
        }

        slainEventList.Add(capture);
    }
Exemplo n.º 3
0
    //INITIAL DATA SENT FROM THE PLAYERSPELL SCRIPT
    void uLink_OnNetworkInstantiate(uLink.NetworkMessageInfo info)
    {
        string  pTeam               = info.networkView.initialData.ReadString();
        string  pOriginator         = info.networkView.initialData.ReadString();
        Vector3 pDestination        = info.networkView.initialData.ReadVector3();
        string  pObjNameDestination = info.networkView.initialData.ReadString();
        float   pAd = info.networkView.initialData.ReadSingle();
        float   pAp = info.networkView.initialData.ReadSingle();

        floorPos     = pDestination;
        myOriginator = pOriginator;
        team         = pTeam;
        ad           = pAd;
        ap           = pAp;

        initialPos         = transform.position;
        originatorGameObj  = GameObject.Find(pOriginator);
        originatorCharName = originatorGameObj.GetComponent <PlayerStats>().charName;
        destinationGameObj = GameObject.Find(pObjNameDestination);

        spellActive = true;

        if (team == "red")
        {
            mask = ((1 << 16) | (1 << 21));
        }
        else
        {
            mask = ((1 << 17) | (1 << 21));
        }

        OnStart();
        StartCoroutine(DestroyMyselfAfterSomeTime());
    }
Exemplo n.º 4
0
    public void DrainHealth(float _ad, float _ap, string attacker, string originatorTag, string originatorCharName)
    {
        Debug.Log("Draining Health on this view");
        GameObject originatorObj = GameObject.Find(attacker);

        if (!destroyed)
        {
            myHealth = myHealth - GetFinalDmg(_ad, _ap, adRes + adResAdd, apRes + apResAdd);
            if (originatorObj.tag == "RedPlayerTag" || originatorObj.tag == "BluePlayerTag")
            {
                AddCaptureAttackers(attacker, originatorObj, Time.time);
            }
        }

        if (myHealth <= 0 && destroyed == false)
        {
            photonView.RPC("ImDead", PhotonTargets.All);
            myHealth  = 0;
            destroyed = true;

            for (int i = 0; i < dataScript.PlayerList.Count; i++)
            {
                if (dataScript.PlayerList[i].playerName == attacker)
                {
                    //show dmg
                    photonView.RPC("ShowGoldUi", dataScript.PlayerList[i].networkPlayer, this.transform.name, attacker, goldToGive, true);
                }
            }

            for (int i = 0; i < attackersList.Count; i++)                     // Loop with for.
            {
                attackersList[i]._Obj.GetComponent <PlayerStats>().UpdateExpToClients(expToGive / attackersList.Count);
                attackersList[i]._Obj.GetComponent <PlayerStats>().UpdateGoldToClients(goldToGive / attackersList.Count);
            }

            if (gameObject.tag == "RedPlayerTag" || gameObject.tag == "BluePlayerTag")
            {
                //call the method SendSlainAlert(); on GAME MANAGER
                CharacterClass.charName thisCharName = GetComponent <PlayerStats>().stats.characterName;
                gameManager.GetComponent <GameEvents>().SendSlainAlert(originatorCharName, attacker, thisCharName.ToString(), this.gameObject.name);
            }

            if (originatorTag == "RedPlayerTag" || originatorTag == "BluePlayerTag")
            {
                //If the reciever  is a player
                if (gameObject.tag == "RedPlayerTag" || gameObject.tag == "BluePlayerTag")
                {
                    dataScript.EditPlayerListWithScore(attacker);
                    PlayerStats originatorPlayerScript = originatorObj.GetComponent <PlayerStats>();
                    originatorPlayerScript.AddPlayerKills();
                }
                else
                {
                    //ADD HERE THE CODE IF YOU KILL A MONSTER /TOWER / MINION
                }
            }
        }
    }
Exemplo n.º 5
0
    void AddCharToList(CharacterClass.charName charName, bool _available, string charPortraitDir, string charPrefabDir, string toolTip)
    {
        Char_Pick_DataClass capture = new Char_Pick_DataClass();

        capture.characterName   = charName;
        capture._available      = _available;
        capture.charPortraitDir = charPortraitDir;
        capture.toolTip         = toolTip;
        capture.charPrefabDir   = charPrefabDir;
        charPickList.Add(capture);
    }
Exemplo n.º 6
0
    public void SpawnRedTeamPlayer(PhotonPlayer Owner, string PrefabDir, CharacterClass.charName charName)
    {
        redSpawnPoints = GameObject.FindGameObjectsWithTag("SpawnRed");
        GameObject randomRedSpawn = redSpawnPoints[Random.Range(0, redSpawnPoints.Length)];
        //GameObject player = (GameObject)uLink.Network.Instantiate(Owner, PrefabDir+ "Owner_mn",PrefabDir+ "Owner_mn",PrefabDir+ "Creator_mn", randomRedSpawn.transform.position, randomRedSpawn.transform.rotation, 0);
        GameObject player = (GameObject)PhotonNetwork.Instantiate(PrefabDir + "Owner_mn", randomRedSpawn.transform.position, randomRedSpawn.transform.rotation, 0);

        //player.name = PhotonNetwork.playerName;
        //player.layer = 9;
        //player.tag = "RedPlayerTag";
        //GameObject Trigger = player.transform.FindChild("Trigger").gameObject;
        //Trigger.tag = "RedPlayerTriggerTag";
        //Trigger.layer = 17;
        playerStatsScript      = player.GetComponent <PlayerStats>();
        playerStatsScript.name = player.name;
        //playerStatsScript.gameObject.name = player.name;
        playerStatsScript.SetPlayerData(PhotonNetwork.playerName, "red");
        playerStatsScript.networkOwner = Owner;
        //playerStatsScript.UpdateStatsOnClients();
        //ADD THE CURRENT PLAYER NETWORKPLAYER, THE TEAM, AND THE GAMEOBJECT TO THE PLAYERDATABASE SCRIPT ON THE GAME MANAGER GAMEOBJECT
        dataScript.AddPlayerDataToList(player.name, "red");
    }
Exemplo n.º 7
0
    public void SpawnBlueTeamPlayer(uLink.NetworkPlayer Owner, string PrefabDir, CharacterClass.charName charName)
    {
        blueSpawnPoints = GameObject.FindGameObjectsWithTag("SpawnBlue");
        GameObject randomBlueSpawn = blueSpawnPoints[Random.Range(0, blueSpawnPoints.Length)];
        GameObject player          = (GameObject)uLink.Network.Instantiate(Owner, PrefabDir + "Owner_mn", PrefabDir + "Owner_mn", PrefabDir + "Creator_mn", randomBlueSpawn.transform.position, randomBlueSpawn.transform.rotation, 0);

        player.name  = dataScript.GetPlayerName(Owner);
        player.layer = 9;
        player.tag   = "BluePlayerTag";
        GameObject Trigger = player.transform.FindChild("Trigger").gameObject;

        Trigger.tag                       = "BluePlayerTriggerTag";
        Trigger.layer                     = 16;
        playerStatsScript                 = player.GetComponent <PlayerStats>();
        playerStatsScript.name            = player.name;
        playerStatsScript.gameObject.name = player.name;
        playerStatsScript.playerTeam      = "blue";
        playerStatsScript.networkOwner    = Owner;
        playerStatsScript.UpdateStatsOnClients();
        //ADD THE CURRENT PLAYER NETWORKPLAYER, THE TEAM, AND THE GAMEOBJECT TO THE PLAYERDATABASE SCRIPT ON THE GAME MANAGER GAMEOBJECT
        dataScript.AddPlayerDataToList(Owner, "blue", player);
    }
Exemplo n.º 8
0
 public void SendSlainAlertToClient(CharacterClass.charName charKiller, string killerName, CharacterClass.charName charSlain, string slainName)
 {
     AddCaptureSlainEvent(charKiller, killerName, charSlain, slainName);
 }
Exemplo n.º 9
0
 public void SendSlainAlert(CharacterClass.charName charKiller, string killerName, CharacterClass.charName charSlain, string slainName)
 {
     networkView.RPC("SendSlainAlertToClient", uLink.RPCMode.Others, charKiller, killerName, charSlain, slainName);
 }
Exemplo n.º 10
0
    //USED TO DRAIN HEALTH ON ANY PLAYER OR ENEMYS
    public void DrainHealth(float _ad, float _ap, string attacker, GameObject originatorObj, string originatorTag, CharacterClass.charName originatorCharName)
    {
        if (!destroyed)
        {
            myHealth = myHealth - GetFinalDmg(_ad, _ap, adRes + adResAdd, apRes + apResAdd);

            if (originatorObj.tag == "RedPlayerTag" || originatorObj.tag == "BluePlayerTag")
            {
                AddCaptureAttackers(attacker, originatorObj, Time.time);
            }

            UpdateHealthClients();
        }

        if (myHealth <= 0 && destroyed == false && uLink.Network.isServer == true)
        {
            myHealth  = 0;
            destroyed = true;

            for (int i = 0; i < dataScript.PlayerList.Count; i++)
            {
                if (dataScript.PlayerList[i].playerName == attacker)
                {
                    networkView.RPC("ShowGoldUi", dataScript.PlayerList[i].networkPlayer, this.transform.name, attacker, goldToGive, true);
                }
            }

            for (int i = 0; i < attackersList.Count; i++)             // Loop with for.
            {
                attackersList[i]._Obj.GetComponent <PlayerStats>().UpdateExpToClients(expToGive / attackersList.Count);
                attackersList[i]._Obj.GetComponent <PlayerStats>().UpdateGoldToClients(goldToGive / attackersList.Count);
            }

            if (gameObject.tag == "RedPlayerTag" || gameObject.tag == "BluePlayerTag")
            {
                //call the method SendSlainAlert(); on GAME MANAGER
                CharacterClass.charName thisCharName = GetComponent <PlayerStats>().charName;

                gameManager.GetComponent <GameEvents>().SendSlainAlert(originatorCharName, attacker, thisCharName, this.gameObject.name);
            }

            if (originatorTag == "RedPlayerTag" || originatorTag == "BluePlayerTag")
            {
                //If the reciever  is a player
                if (gameObject.tag == "RedPlayerTag" || gameObject.tag == "BluePlayerTag")
                {
                    dataScript.EditPlayerListWithScore(attacker);

                    PlayerStats originatorPlayerScript = originatorObj.GetComponent <PlayerStats>();
                    originatorPlayerScript.kills++;
                    if (originatorPlayerScript.playerExp >= originatorPlayerScript.maxPlayerExp)
                    {
                        originatorPlayerScript.ShowAbilityUpUi();
                        originatorPlayerScript.playerLvl++;
                        originatorPlayerScript._bAdValue += 5;
                        originatorPlayerScript._bApValue += 5;
                        originatorPlayerScript.maxHealth += 25;
                        originatorPlayerScript.playerExp  = 0;
                        originatorPlayerScript.UpdateStatsOnClients();
                    }
                }
                else
                //If the  reciever is not a player
                {
                    //dataScript.EditPlayerListWithScore(attacker, 1);
                    PlayerStats originatorPlayerScript = originatorObj.GetComponent <PlayerStats>();

                    if (originatorPlayerScript.playerExp >= originatorPlayerScript.maxPlayerExp)
                    {
                        originatorPlayerScript.ShowAbilityUpUi();
                        originatorPlayerScript.playerLvl++;
                        originatorPlayerScript._bAdValue += 8;
                        originatorPlayerScript._bApValue += 8;
                        originatorPlayerScript.maxHealth += 25;
                        originatorPlayerScript.playerExp  = 0;
                        originatorPlayerScript.UpdateStatsOnClients();
                    }
                }
            }



            networkView.RPC("ImDead", uLink.RPCMode.All);
        }
    }