void SetTransformSyncType(TransformSyncType syncType) { var serPosRot = GetComponent <SerializeViewPosRot>(); var serTarget = GetComponent <SerializeViewTargetOnly>(); var move = GetComponent <RandomMove>(); serPosRot.SyncWithSerializeViewPosRot = false; serTarget.SyncWithSerializeViewTarget = false; rm.lerpToTarget = false; switch (syncType) { case TransformSyncType.SerializeViewTargetOnly: serTarget.SyncWithSerializeViewTarget = true; rm.lerpToTarget = true; break; case TransformSyncType.SerializeViewCurrent: serPosRot.SyncWithSerializeViewPosRot = true; break; default: case TransformSyncType.None: break; } }
void SyncWithProp(ExitGames.Client.Photon.Hashtable prop) { foreach (var keyobj in prop.Keys) { if (Enum.TryParse((string)keyobj, out RPKey rpkey)) { switch (rpkey) { case RPKey.SyncType: CurrentType = (TransformSyncType)prop[keyobj]; break; case RPKey.PeoCount: totalPeopleCount.text = CalculateTotalPeople().ToString(); break; case RPKey.Burst: burst = (bool)prop[keyobj]; break; case RPKey.BurstAmount: burstAmount = (int)prop[keyobj]; break; default: break; } } } }
public void SyncTransformSyncType(TransformSyncType syncType) { if (!PhotonNetwork.InRoom) { return; } tmpHT.Clear(); tmpHT[RPKey.SyncType.ToString()] = syncType; PhotonNetwork.CurrentRoom.SetCustomProperties(tmpHT); }
void SwitchTransformSyncType(TransformSyncType ty) { rps.SyncTransformSyncType(ty); rps.CurrentType = ty; }