public void NewEvent(List <int> alivePlayers) { int tempCounter = actionCounter; actionCounter += alivePlayers.Count; foreach (int player in alivePlayers) { FallDownEvent fallDownEvent = new FallDownEvent(this); fallDownEvent.AssignPlayer(player); if (PhotonNetwork.IsMasterClient) { string indexeddata = tempCounter + "," + fallDownEvent.Serialize(); myPhotonView.RPC("RPC_AddEvent", RpcTarget.All, indexeddata); } tempCounter++; } }
private void RPC_AddEvent(string data, PhotonMessageInfo info) { string[] eventData = data.Split(','); GameEvent eventToPerform = new GameEvent(this); switch (eventData[1]) { case "fallDown": eventToPerform = new FallDownEvent(this); break; } eventToPerform.Deserialize(eventData); gameEvents.Add(int.Parse(eventData[0]), eventToPerform); if (eventToPerform.players.Contains(ActorID)) { notifier.DisplayEvent(); eventDisplayer.Display(eventToPerform); timeKeeper.Reset("event", 10f); ship.gameObject.SetActive(false); } }