[ClientRpc] public void RpcAddCat(float CDefense, float CAttack, float CTorsoHP, float CMaxSpeed, string CName, float CTravel, int CStamina, int CAtSpeed, int CAtRecharge, string[] PackagedData, NetworkInstanceId netInstanceId) { GameObject reciever = ClientScene.FindLocalObject(netInstanceId); PlayerAssign PlayerScript = reciever.GetComponent <PlayerAssign> (); List <String> ExtractedData = PackagedData.ToList(); Rarity CatRarity = (Rarity)System.Enum.Parse(typeof(Rarity), ExtractedData.ElementAt(0)); Cat ThatCat = (Cat)ScriptableObject.CreateInstance("Cat") as Cat; ThatCat.catRarity = CatRarity; ThatCat.Defense = CDefense; ThatCat.Attack = CAttack; ThatCat.TorsoHP = CTorsoHP; ThatCat.MaxSpeed = CMaxSpeed; ThatCat.CatName = CName; ThatCat.TravelSpeed = CTravel; ThatCat.MaxStamina = CStamina; ThatCat.AttackSpeed = CAtSpeed; ThatCat.AttackRecharge = CAtRecharge; int AbilityCount = ExtractedData.Count - 1; for (int i = 0; i < AbilityCount; i++) { string ThatAbilitysName = ExtractedData.ElementAt(i + 1); Ability ThatAbility = Resources.Load <Ability> ("Abilitys/" + ThatAbilitysName); ThatCat.abilitys.Add(ThatAbility); } PlayerScript.catToAdd = ThatCat; PlayerScript.catsToSpawn.Add(ThatCat); }
void Awake() { if (instance != null) { Debug.LogWarning("More Than One Instance Of PlayerAssign Detected On A Single Client, Exiting!"); return; } instance = this; }
[ClientRpc] public void RpcAddCat(float CDefense, float CAttack, float CTorsoHP, float CMaxSpeed, string CName, float CTravel, int CStamina, int CAtSpeed, int CAtRecharge, string[] PackagedData, NetworkInstanceId netInstanceId, int AbilityCount, abilityHolder[] abilitys, attackHolder[] attacks) { GameObject reciever = ClientScene.FindLocalObject(netInstanceId); PlayerAssign PlayerScript = reciever.GetComponent <PlayerAssign> (); List <String> ExtractedData = PackagedData.ToList(); List <abilityHolder> ExtractedAbilitys = abilitys.ToList(); List <attackHolder> ExtractedAttacks = attacks.ToList(); Rarity CatRarity = (Rarity)System.Enum.Parse(typeof(Rarity), ExtractedData.ElementAt(0)); Cat ThatCat = (Cat)ScriptableObject.CreateInstance("Cat") as Cat; ThatCat.catRarity = CatRarity; ThatCat.Defense = CDefense; ThatCat.Attack = CAttack; ThatCat.TorsoHP = CTorsoHP; ThatCat.MaxSpeed = CMaxSpeed; ThatCat.CatName = CName; ThatCat.TravelSpeed = CTravel; ThatCat.MaxStamina = CStamina; ThatCat.AttackSpeed = CAtSpeed; ThatCat.AttackRecharge = CAtRecharge; foreach (abilityHolder holder in ExtractedAbilitys) { Ability theAbility = (Ability)ScriptableObject.CreateInstance("Ability") as Ability; theAbility.name = holder.FileName; theAbility.Name = holder.Name; theAbility.AbilityID = holder.AbilityID; theAbility.isDefault = holder.isDefault; theAbility.AbilityType = holder.AbilityType; ThatCat.abilitys.Add(theAbility); } foreach (attackHolder holder in ExtractedAttacks) { Attack theAttack = (Attack)ScriptableObject.CreateInstance("Attack") as Attack; theAttack.name = holder.FileName; theAttack.Range = holder.Range; theAttack.DamageIncrease = holder.DamageIncrease; theAttack.EnemyDefenseReduction = holder.EnemyDefenseReduction; theAttack.AttackName = holder.AttackName; ThatCat.attacks.Add(theAttack); } //for (int i = 0; i < AttackCount; i++) { // string ThatAttacksName = ExtractedData.ElementAt (i + AbilityCount); // Attack ThatAttack = Resources.Load<Attack> ("Attacks/" + ThatAttacksName); // ThatCat.attacks.Add (ThatAttack); //} PlayerScript.catToAdd = ThatCat; PlayerScript.catsToSpawn.Add(ThatCat); }
public void Update() { PCA = PlayersCompleteActive; PCP = PlayersCompletePassive; playerlist = players.Count(); for (var x = 0; x < cats.Count; x++) { var SpecialX = x + 1; // cats [x].CatId = SpecialX; cats [x].transform.name = "Cat: " + SpecialX + ", Name: " + cats[x].CatName; } GameBegins = true; for (var q = 0; q < players.Count; q++) { var SpecialQ = q + 1; players [q].PlayerID = SpecialQ; players [q].transform.name = "Player: " + SpecialQ; if (players [q].Prepared == false) { GameBegins = false; } } PlayersCompletePassive = true; for (var p = 0; p < players.Count; p++) { PlayerAssign ThingPlayer = players [p]; if (ThingPlayer.finishedPassive != true) { PlayersCompletePassive = false; } } PlayersCompleteActive = true; for (var p = 0; p < players.Count; p++) { PlayerAssign ThingPlayer = players [p]; if (ThingPlayer.finishedActive != true) { PlayersCompleteActive = false; } } }
[ClientRpc] public void RpcAddCat(NetworkInstanceId netInstanceId, string CatsName) { GameObject transmitReciver = ClientScene.FindLocalObject(netInstanceId); //if (transmitReciver == null) { // Debug.LogError ("Player That Is To Recive Things Is Null!"); //} PlayerAssign reciverScript = transmitReciver.GetComponent <PlayerAssign> (); Cat catToRun = Resources.Load <Cat> ("Cats/" + CatsName); if (!reciverScript.catsToSpawn.Contains(catToRun)) { reciverScript.catsToSpawn.Add(catToRun); } //if (!reciverScript.catsToSpawn.Contains (catToAdd)) { // reciverScript.catsToSpawn.Add (catToAdd); Debug.Log("Player Recived A Cat!"); //} }