public static int GetFrequencyModulo(this SyncFrequency freq) { switch (freq) { case SyncFrequency.Instant: return(0); case SyncFrequency.VeryShort: return(1); case SyncFrequency.Short: return(2); case SyncFrequency.Medium: return(4); case SyncFrequency.Long: return(10); case SyncFrequency.VeryLong: return(20); default: return(20); } }
public void RegisterVar(SyncableVariable var, SyncFrequency frequency, Action <SyncableVariable, NetworkWriter> registerMethod, Action <SyncableVariable, NetworkReader> syncMethod, Func <NetworkWriter, int> byteSizeMethod, bool ignoreAuthority) { if (_varIgnoresAuthority.ContainsKey(var)) { _varIgnoresAuthority.Remove(var); } if (_methods.ContainsKey(var)) { _methods.Remove(var); } if (_varSizesMethods.ContainsKey(var)) { _varSizesMethods.Remove(var); } _varIgnoresAuthority[var] = ignoreAuthority; _methods.Add(var, new NetworkSyncableVarMethods(var, registerMethod, syncMethod)); _frequenciesMasks[(int)frequency] |= var; if (byteSizeMethod == null) { BakeVarSize(var, registerMethod); } else { _varSizesMethods.Add(var, byteSizeMethod); } }
public static float GetFrequencyPeriod(this SyncFrequency freq) { switch (freq) { case SyncFrequency.Instant: return(0f); case SyncFrequency.VeryShort: return(0.05f); case SyncFrequency.Short: return(0.1f); case SyncFrequency.Medium: return(0.2f); case SyncFrequency.Long: return(0.5f); case SyncFrequency.VeryLong: return(1f); default: return(1f); } }
public LfsBackupSyncTarget(string name, string description, string targetPath, SyncFrequency frequency, bool isEnabled, bool isAssetsSyncEnabled) { Id = Guid.NewGuid(); Name = name; Description = description; TargetPath = targetPath; Frequency = frequency; IsEnabled = isEnabled; IsAssetsSyncEnabled = isAssetsSyncEnabled; }
public void RegisterGameObjectSyncVar(GameObject go, SyncableVariable var, SyncFrequency frequency, Action <SyncableVariable, NetworkWriter> registerMethod, Action <SyncableVariable, NetworkReader> syncMethod, Func <NetworkWriter, int> byteSizeMethod, bool ignoreAuthority) { IDestroyableNetworkSyncableGameObject destroyableGameObject = go.GetComponent <IDestroyableNetworkSyncableGameObject>(); if (destroyableGameObject == null) { Debug.LogError("GameObject must have a IDestroyableNetworkSyncableGameObject component."); return; } if (_gameObjectSyncInfos.ContainsKey(go) == false) { _gameObjectSyncInfos.Add(go, new NetworkSyncableGameobjectInfos(go)); } _gameObjectSyncInfos[go].RegisterVar(var, frequency, registerMethod, syncMethod, byteSizeMethod, ignoreAuthority); destroyableGameObject.OnGameObjectDestroyed.SafeSubscribe(OnSyncableGameObjectDestroyed); }
public void RegisterGameObjectSyncVar(GameObject go, SyncableVariable var, SyncFrequency frequency, Action <SyncableVariable, NetworkWriter> registerMethod, Action <SyncableVariable, NetworkReader> syncMethod, bool ignoreAuthority) => RegisterGameObjectSyncVar(go, var, frequency, registerMethod, syncMethod, null, ignoreAuthority);
public void RegisterVar(SyncableVariable var, SyncFrequency frequency, Action <SyncableVariable, NetworkWriter> registerMethod, Action <SyncableVariable, NetworkReader> syncMethod) => RegisterVar(var, frequency, registerMethod, syncMethod, null, false);
public BackupSyncTestTarget(Guid id, string name, string description, string targetPath, SyncFrequency frequency, bool isEnabled, bool isAssetsSyncEnabled) : base(id, name, description, targetPath, frequency, isEnabled, isAssetsSyncEnabled) { }