// Update is called once per frame void Update() { try { if (player == null) { player = NetworkClient.connection.identity.GetComponent <OnlinePlayer>(); staticPlayerReference = player; Debug.Log("Started as " + player.name); } if (manager.CheckNumberOfPlayers() && player.name.Equals("Under attack") && isWaiting) { Debug.Log("Second Player Joined"); PlayerTeamController team = GameObject.Find("Player").GetComponent <PlayerTeamController>(); try { SerializableEncounter enc = new SerializableEncounter(team.GetMyTeamAsAnEncounter()); player.SendEncounterData(new SerializableEncounter(enemyEncounter), enc); isWaiting = false; } catch { } } } catch { } }
public void SendEncounterData(SerializableEncounter encounterData, SerializableEncounter teamData) { if (encounterData != null) { RecieveTheEncounter(encounterData, teamData); } }
public void OnClientReceivedEncounter(SerializableEncounter enemy, SerializableEncounter team) { if (!receivedEncounter) { Debug.Log("Player 2nd received encounter"); Encounter enemyEncounter = enemy.ToEncounter(); Encounter teamEncounter = team.ToEncounter(); receivedEncounter = true; foreach (Character character in teamEncounter.CharactersInEncounter) { this.team.AssignCharacterToNextFreeSlot(character); } fightController.SetupFight(teamEncounter.CharactersInEncounter, enemyEncounter.CharactersInEncounter); } }
public void RecieveTheEncounter(SerializableEncounter encounterData, SerializableEncounter teamData) { ReceivedEncounter?.Invoke(encounterData, teamData); Debug.Log("Received Encounter"); }