// Token: 0x060059FE RID: 23038 RVA: 0x001F45F8 File Offset: 0x001F29F8 public void Set <T>(int index, T value) { VRC_DataStorage.VrcDataElement vrcDataElement = this.dataStorage.data[index]; this.VerifyType <T>(vrcDataElement); if (this.dataHash != null && this.dataHash.Length > index) { this.dataHash[index] = null; } vrcDataElement.added = (vrcDataElement.type == VRC_DataStorage.VrcDataType.None); if (typeof(T) == typeof(bool)) { vrcDataElement.valueBool = (bool)((object)value); switch (vrcDataElement.mirror) { case VRC_DataStorage.VrcDataMirror.None: break; case VRC_DataStorage.VrcDataMirror.Rain: this._rainMemory.SetItem <T>(vrcDataElement.name, value); break; case VRC_DataStorage.VrcDataMirror.Animator: if ((bool)((object)value)) { Debug.Log("True"); } this._animator.SetBool(vrcDataElement.name, (bool)((object)value)); break; default: Debug.LogError("Add Data Mirroring."); break; } } else if (typeof(T) == typeof(int)) { vrcDataElement.valueInt = (int)((object)value); switch (vrcDataElement.mirror) { case VRC_DataStorage.VrcDataMirror.None: break; case VRC_DataStorage.VrcDataMirror.Rain: this._rainMemory.SetItem <T>(vrcDataElement.name, value); break; case VRC_DataStorage.VrcDataMirror.Animator: this._animator.SetInteger(vrcDataElement.name, (int)((object)value)); break; default: Debug.LogError("Add Data Mirroring."); break; } } else if (typeof(T) == typeof(float)) { vrcDataElement.valueFloat = (float)((object)value); switch (vrcDataElement.mirror) { case VRC_DataStorage.VrcDataMirror.None: break; case VRC_DataStorage.VrcDataMirror.Rain: this._rainMemory.SetItem <T>(vrcDataElement.name, value); break; case VRC_DataStorage.VrcDataMirror.Animator: this._animator.SetFloat(vrcDataElement.name, (float)((object)value)); break; default: Debug.LogError("Add Data Mirroring."); break; } } else if (typeof(T) == typeof(string)) { vrcDataElement.valueString = (string)((object)value); switch (vrcDataElement.mirror) { case VRC_DataStorage.VrcDataMirror.None: break; case VRC_DataStorage.VrcDataMirror.Rain: this._rainMemory.SetItem <T>(vrcDataElement.name, value); break; case VRC_DataStorage.VrcDataMirror.Animator: Debug.LogError("Cant set animator string"); break; default: Debug.LogError("Add Data Mirroring."); break; } } else if (typeof(T) == typeof(Array) || typeof(T) == typeof(byte[])) { vrcDataElement.valueSerializedBytes = (byte[])((object)value); VRC_DataStorage.VrcDataMirror mirror = vrcDataElement.mirror; if (mirror != VRC_DataStorage.VrcDataMirror.None) { if (mirror != VRC_DataStorage.VrcDataMirror.SerializeComponent) { Debug.LogError("Add Data Mirroring."); } else { vrcDataElement.serializeComponent.SetBytes(vrcDataElement.valueSerializedBytes); } } } else { vrcDataElement.Serialize <T>(value); } }
// Token: 0x060059FC RID: 23036 RVA: 0x001F42CC File Offset: 0x001F26CC public T Get <T>(int index) { VRC_DataStorage.VrcDataElement vrcDataElement = this.dataStorage.data[index]; this.VerifyType <T>(vrcDataElement); if (typeof(T) == typeof(bool)) { switch (vrcDataElement.mirror) { case VRC_DataStorage.VrcDataMirror.None: break; case VRC_DataStorage.VrcDataMirror.Rain: vrcDataElement.valueBool = (bool)this._rainMemory.GetItem(vrcDataElement.name); break; case VRC_DataStorage.VrcDataMirror.Animator: vrcDataElement.valueBool = this._animator.GetBool(vrcDataElement.name); break; default: Debug.LogError("Add Data Mirroring."); break; } return((T)((object)vrcDataElement.valueBool)); } if (typeof(T) == typeof(int)) { switch (vrcDataElement.mirror) { case VRC_DataStorage.VrcDataMirror.None: break; case VRC_DataStorage.VrcDataMirror.Rain: vrcDataElement.valueInt = (int)this._rainMemory.GetItem(vrcDataElement.name); break; case VRC_DataStorage.VrcDataMirror.Animator: vrcDataElement.valueInt = this._animator.GetInteger(vrcDataElement.name); break; default: Debug.LogError("Add Data Mirroring."); break; } return((T)((object)vrcDataElement.valueInt)); } if (typeof(T) == typeof(float)) { switch (vrcDataElement.mirror) { case VRC_DataStorage.VrcDataMirror.None: break; case VRC_DataStorage.VrcDataMirror.Rain: vrcDataElement.valueFloat = (float)this._rainMemory.GetItem(vrcDataElement.name); break; case VRC_DataStorage.VrcDataMirror.Animator: vrcDataElement.valueFloat = this._animator.GetFloat(vrcDataElement.name); break; default: Debug.LogError("Add Data Mirroring."); break; } return((T)((object)vrcDataElement.valueFloat)); } if (typeof(T) == typeof(string)) { switch (vrcDataElement.mirror) { case VRC_DataStorage.VrcDataMirror.None: break; case VRC_DataStorage.VrcDataMirror.Rain: vrcDataElement.valueString = (string)this._rainMemory.GetItem(vrcDataElement.name); break; case VRC_DataStorage.VrcDataMirror.Animator: Debug.LogError("Cant get animator string"); break; default: Debug.LogError("Add Data Mirroring."); break; } return((T)((object)vrcDataElement.valueString)); } if (typeof(T) == typeof(Array) || typeof(T) == typeof(byte[])) { VRC_DataStorage.VrcDataMirror mirror = vrcDataElement.mirror; if (mirror != VRC_DataStorage.VrcDataMirror.None) { if (mirror != VRC_DataStorage.VrcDataMirror.SerializeComponent) { Debug.LogError("Add Data Mirroring."); } else { byte[] bytes = vrcDataElement.serializeComponent.GetBytes(); vrcDataElement.valueSerializedBytes = bytes; } } return((T)((object)vrcDataElement.valueSerializedBytes)); } T result; vrcDataElement.Deserialize <T>(out result); return(result); }