/// <summary> /// Sent by: Client who is currently picking a region /// Received by: Server /// Sent after client has picked their region during setup /// </summary> /// <param name="evnt"></param> public override void OnEvent(RegionPicked evnt) { int regionID = evnt.RegionID; // find new owner of region ID CredentialToken newOwner = (CredentialToken)evnt.NewOwner; Debug.Log("new owner info: " + newOwner.DisplayName); // send regionchange event to all clients ChangeRegionOwner cro = ChangeRegionOwner.Create(Bolt.GlobalTargets.AllClients); cro.RegionID = regionID; cro.NewOwner = newOwner; cro.Send(); // update owner MapManager.Instance.MapOwners[regionID] = newOwner; // change color Color newColor = GameManager.Instance.PlayerColors[newOwner].GetColor; GameObject mapRegion = MapManager.Instance.MapRegions[regionID]; mapRegion.GetComponent <Image>().color = newColor; GameManager.Instance.PickRegionOver(); }
/// <summary> /// Sent by: Server /// Received by: All clients /// Update client data when a region changes hands from one client to another /// </summary> /// <param name="evnt"></param> public override void OnEvent(ChangeRegionOwner evnt) { int regionID = evnt.RegionID; CredentialToken newOwner = (CredentialToken)evnt.NewOwner; // update owner MapManager.Instance.MapOwners[regionID] = newOwner; // change color Color newColor = GameManager.Instance.PlayerColors[newOwner].GetColor; GameObject mapRegion = MapManager.Instance.MapRegions[regionID]; mapRegion.GetComponent <Image>().color = newColor; }