mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Get rid of all SetValue things
This commit is contained in:
parent
af37b6e4c6
commit
c54f7336d5
@ -18,12 +18,12 @@ namespace NewHorizons.Builder.Atmosphere
|
||||
SC.radius = airScale;
|
||||
|
||||
SimpleFluidVolume SFV = airGO.AddComponent<SimpleFluidVolume>();
|
||||
SFV.SetValue("_layer", 5);
|
||||
SFV.SetValue("_priority", 1);
|
||||
SFV.SetValue("_density", 1.2f);
|
||||
SFV.SetValue("_fluidType", FluidVolume.Type.AIR);
|
||||
SFV.SetValue("_allowShipAutoroll", true);
|
||||
SFV.SetValue("_disableOnStart", false);
|
||||
SFV._layer = 5;
|
||||
SFV._priority = 1;
|
||||
SFV._density = 1.2f;
|
||||
SFV._fluidType = FluidVolume.Type.AIR;
|
||||
SFV._allowShipAutoroll = true;
|
||||
SFV._disableOnStart = false;
|
||||
|
||||
if(hasOxygen)
|
||||
{
|
||||
@ -33,9 +33,9 @@ namespace NewHorizons.Builder.Atmosphere
|
||||
if (isRaining)
|
||||
{
|
||||
VisorRainEffectVolume VREF = airGO.AddComponent<VisorRainEffectVolume>();
|
||||
VREF.SetValue("_rainDirection", VisorRainEffectVolume.RainDirection.Radial);
|
||||
VREF.SetValue("_layer", 0);
|
||||
VREF.SetValue("_priority", 0);
|
||||
VREF._rainDirection = VisorRainEffectVolume.RainDirection.Radial;
|
||||
VREF._layer = 0;
|
||||
VREF._priority = 0;
|
||||
|
||||
AudioSource AS = airGO.AddComponent<AudioSource>();
|
||||
AS.mute = false;
|
||||
@ -52,7 +52,7 @@ namespace NewHorizons.Builder.Atmosphere
|
||||
AS.reverbZoneMix = 1f;
|
||||
|
||||
OWAudioSource OWAS = airGO.AddComponent<OWAudioSource>();
|
||||
OWAS.SetValue("_audioLibraryClip", AudioType.GD_RainAmbient_LP);
|
||||
OWAS._audioLibraryClip = AudioType.GD_RainAmbient_LP;
|
||||
OWAS.SetClipSelectionType(OWAudioSource.ClipSelectionOnPlay.RANDOM);
|
||||
OWAS.SetTrack(OWAudioMixer.TrackName.Environment);
|
||||
|
||||
|
||||
@ -15,11 +15,11 @@ namespace NewHorizons.Builder.Atmosphere
|
||||
effectsGO.transform.localPosition = Vector3.zero;
|
||||
|
||||
SectorCullGroup SCG = effectsGO.AddComponent<SectorCullGroup>();
|
||||
SCG.SetValue("_sector", sector);
|
||||
SCG.SetValue("_particleSystemSuspendMode", CullGroup.ParticleSystemSuspendMode.Stop);
|
||||
SCG.SetValue("_occlusionCulling", false);
|
||||
SCG.SetValue("_dynamicCullingBounds", false);
|
||||
SCG.SetValue("_waitForStreaming", false);
|
||||
SCG._sector = sector;
|
||||
SCG._particleSystemSuspendMode = CullGroup.ParticleSystemSuspendMode.Stop;
|
||||
SCG._occlusionCulling = false;
|
||||
SCG._dynamicCullingBounds = false;
|
||||
SCG._waitForStreaming = false;
|
||||
|
||||
if(hasRain)
|
||||
{
|
||||
@ -34,8 +34,8 @@ namespace NewHorizons.Builder.Atmosphere
|
||||
new Keyframe(atmoSize, 0f)
|
||||
});
|
||||
|
||||
rainGO.GetComponent<PlanetaryVectionController>().SetValue("_activeInSector", sector);
|
||||
rainGO.GetComponent<PlanetaryVectionController>().SetValue("_exclusionSectors", new Sector[] { });
|
||||
rainGO.GetComponent<PlanetaryVectionController>()._activeInSector = sector;
|
||||
rainGO.GetComponent<PlanetaryVectionController>()._exclusionSectors = new Sector[] { };
|
||||
rainGO.SetActive(true);
|
||||
}
|
||||
|
||||
@ -58,8 +58,8 @@ namespace NewHorizons.Builder.Atmosphere
|
||||
new Keyframe(atmoSize, 0f)
|
||||
});
|
||||
|
||||
snowEmitter.GetComponent<PlanetaryVectionController>().SetValue("_activeInSector", sector);
|
||||
snowEmitter.GetComponent<PlanetaryVectionController>().SetValue("_exclusionSectors", new Sector[] { });
|
||||
snowEmitter.GetComponent<PlanetaryVectionController>()._activeInSector = sector;
|
||||
snowEmitter.GetComponent<PlanetaryVectionController>()._exclusionSectors = new Sector[] { };
|
||||
snowEmitter.SetActive(true);
|
||||
}
|
||||
}
|
||||
|
||||
@ -55,7 +55,7 @@ namespace NewHorizons.Builder.Atmosphere
|
||||
|
||||
/*
|
||||
SectorProxy lodFogSectorProxy = lodFogGO.AddComponent<SectorProxy>();
|
||||
lodFogSectorProxy.SetValue("_renderers", new List<Renderer> { lodMR });
|
||||
lodFogSectorProxy._renderers = new List<Renderer> { lodMR };
|
||||
lodFogSectorProxy.SetSector(sector);
|
||||
*/
|
||||
|
||||
|
||||
@ -14,11 +14,11 @@ namespace NewHorizons.Builder.Atmosphere
|
||||
overrideGO.transform.parent = body.transform;
|
||||
|
||||
GiantsDeepSunOverrideVolume GDSOV = overrideGO.AddComponent<GiantsDeepSunOverrideVolume>();
|
||||
GDSOV.SetValue("_sector", sector);
|
||||
GDSOV.SetValue("_cloudsOuterRadius", atmo.Size);
|
||||
GDSOV.SetValue("_cloudsInnerRadius", atmo.Size * 0.9f);
|
||||
GDSOV.SetValue("_waterOuterRadius", surfaceSize);
|
||||
GDSOV.SetValue("_waterInnerRadius", 0f);
|
||||
GDSOV._sector = sector;
|
||||
GDSOV._cloudsOuterRadius = atmo.Size;
|
||||
GDSOV._cloudsInnerRadius = atmo.Size * 0.9f;
|
||||
GDSOV._waterOuterRadius = surfaceSize;
|
||||
GDSOV._waterInnerRadius = 0f;
|
||||
|
||||
overrideGO.transform.localPosition = Vector3.zero;
|
||||
overrideGO.SetActive(true);
|
||||
|
||||
@ -50,7 +50,7 @@ namespace NewHorizons.Builder.Body
|
||||
if (module.Tint != null) proxyLavaSphere.GetComponent<MeshRenderer>().material.SetColor("_EmissionColor", module.Tint.ToColor());
|
||||
|
||||
var sectorProxy = moltenCoreProxy.GetComponent<SectorProxy>();
|
||||
sectorProxy.SetValue("_renderers", new List<Renderer> { proxyLavaSphere.GetComponent<MeshRenderer>() });
|
||||
sectorProxy._renderers = new List<Renderer> { proxyLavaSphere.GetComponent<MeshRenderer>() };
|
||||
sectorProxy.SetSector(sector);
|
||||
|
||||
var destructionVolume = GameObject.Instantiate(GameObject.Find("VolcanicMoon_Body/MoltenCore_VM/DestructionVolume"), moltenCore.transform);
|
||||
|
||||
@ -50,8 +50,8 @@ namespace NewHorizons.Builder.Body
|
||||
TSR.LODRadius = 0;
|
||||
|
||||
OceanEffectController OEC = waterGO.AddComponent<OceanEffectController>();
|
||||
OEC.SetValue("_sector", sector);
|
||||
OEC.SetValue("_ocean", TSR);
|
||||
OEC._sector = sector;
|
||||
OEC._ocean = TSR;
|
||||
|
||||
//Buoyancy
|
||||
var buoyancyObject = new GameObject("WaterVolume");
|
||||
@ -64,18 +64,18 @@ namespace NewHorizons.Builder.Body
|
||||
sphereCollider.isTrigger = true;
|
||||
|
||||
var owCollider = buoyancyObject.AddComponent<OWCollider>();
|
||||
owCollider.SetValue("_parentBody", rb);
|
||||
owCollider.SetValue("_collider", sphereCollider);
|
||||
owCollider._parentBody = rb;
|
||||
owCollider._collider = sphereCollider;
|
||||
|
||||
var buoyancyTriggerVolume = buoyancyObject.AddComponent<OWTriggerVolume>();
|
||||
buoyancyTriggerVolume.SetValue("_owCollider", owCollider);
|
||||
buoyancyTriggerVolume._owCollider = owCollider;
|
||||
|
||||
var fluidVolume = buoyancyObject.AddComponent<RadialFluidVolume>();
|
||||
fluidVolume.SetValue("_fluidType", FluidVolume.Type.WATER);
|
||||
fluidVolume.SetValue("_attachedBody", rb);
|
||||
fluidVolume.SetValue("_triggerVolume", buoyancyTriggerVolume);
|
||||
fluidVolume.SetValue("_radius", waterSize);
|
||||
fluidVolume.SetValue("_layer", LayerMask.NameToLayer("BassicEffectVolume"));
|
||||
fluidVolume._fluidType = FluidVolume.Type.WATER;
|
||||
fluidVolume._attachedBody = rb;
|
||||
fluidVolume._triggerVolume = buoyancyTriggerVolume;
|
||||
fluidVolume._radius = waterSize;
|
||||
fluidVolume._layer = LayerMask.NameToLayer("BassicEffectVolume");
|
||||
|
||||
var fogGO = GameObject.Instantiate(GameObject.Find("GiantsDeep_Body/Sector_GD/Sector_GDInterior/Effects_GDInterior/OceanFog"), waterGO.transform);
|
||||
fogGO.name = "OceanFog";
|
||||
|
||||
@ -28,12 +28,12 @@ namespace NewHorizons.Builder.General
|
||||
kinematicRigidBody.centerOfMass = Vector3.zero;
|
||||
|
||||
OWRigidbody owRigidBody = body.AddComponent<OWRigidbody>();
|
||||
owRigidBody.SetValue("_kinematicSimulation", true);
|
||||
owRigidBody.SetValue("_autoGenerateCenterOfMass", true);
|
||||
owRigidBody._kinematicSimulation = true;
|
||||
owRigidBody._autoGenerateCenterOfMass = true;
|
||||
owRigidBody.SetIsTargetable(true);
|
||||
owRigidBody.SetValue("_maintainOriginalCenterOfMass", true);
|
||||
owRigidBody.SetValue("_rigidbody", rigidBody);
|
||||
owRigidBody.SetValue("_kinematicRigidbody", kinematicRigidBody);
|
||||
owRigidBody._maintainOriginalCenterOfMass = true;
|
||||
owRigidBody._rigidbody = rigidBody;
|
||||
owRigidBody._kinematicRigidbody = kinematicRigidBody;
|
||||
owRigidBody._origParent = GameObject.Find("SolarSystemRoot").transform;
|
||||
owRigidBody.EnableKinematicSimulation();
|
||||
owRigidBody.MakeKinematic();
|
||||
@ -49,10 +49,10 @@ namespace NewHorizons.Builder.General
|
||||
else if (config.Base.HasCometTail) type = AstroObject.Type.Comet;
|
||||
else if (config.Star != null) type = AstroObject.Type.Star;
|
||||
else if (config.FocalPoint != null) type = AstroObject.Type.None;
|
||||
astroObject.SetValue("_type", type);
|
||||
astroObject.SetValue("_name", AstroObject.Name.CustomString);
|
||||
astroObject.SetValue("_customName", config.Name);
|
||||
astroObject.SetValue("_primaryBody", primaryBody);
|
||||
astroObject._type = type;
|
||||
astroObject._name = AstroObject.Name.CustomString;
|
||||
astroObject._customName = config.Name;
|
||||
astroObject._primaryBody = primaryBody;
|
||||
|
||||
// Expand gravitational sphere of influence of the primary to encompass this body if needed
|
||||
if (primaryBody?.gameObject?.GetComponent<SphereCollider>() != null && !config.Orbit.IsStatic)
|
||||
@ -66,7 +66,7 @@ namespace NewHorizons.Builder.General
|
||||
{
|
||||
var alignment = body.AddComponent<AlignWithTargetBody>();
|
||||
alignment.SetTargetBody(primaryBody?.GetAttachedOWRigidbody());
|
||||
alignment.SetValue("_usePhysicsToRotate", true);
|
||||
alignment._usePhysicsToRotate = true;
|
||||
if(config.Orbit.AlignmentAxis == null)
|
||||
{
|
||||
alignment._localAlignmentAxis = new Vector3(0, -1, 0);
|
||||
|
||||
@ -23,7 +23,7 @@ namespace NewHorizons.Builder.General
|
||||
detectorGO.layer = LayerMask.NameToLayer("BasicDetector");
|
||||
|
||||
ConstantForceDetector forceDetector = detectorGO.AddComponent<ConstantForceDetector>();
|
||||
forceDetector.SetValue("_inheritElement0", true);
|
||||
forceDetector._inheritElement0 = true;
|
||||
OWRB.RegisterAttachedForceDetector(forceDetector);
|
||||
|
||||
// For falling into sun
|
||||
@ -45,7 +45,7 @@ namespace NewHorizons.Builder.General
|
||||
GravityVolume parentGravityVolume = primaryBody?.GetAttachedOWRigidbody()?.GetAttachedGravityVolume();
|
||||
if (parentGravityVolume != null)
|
||||
{
|
||||
forceDetector.SetValue("_detectableFields", new ForceVolume[] { parentGravityVolume });
|
||||
forceDetector._detectableFields = new ForceVolume[] { parentGravityVolume };
|
||||
}
|
||||
else if (astroObject != null)
|
||||
{
|
||||
@ -58,7 +58,7 @@ namespace NewHorizons.Builder.General
|
||||
if (binaryFocalPoint.Secondary != null)
|
||||
{
|
||||
var secondaryRB = binaryFocalPoint.Secondary.GetAttachedOWRigidbody();
|
||||
SetBinaryForceDetectableFields(binaryFocalPoint, forceDetector, secondaryRB.GetAttachedForceDetector(), OWRB, secondaryRB);
|
||||
SetBinaryForceDetectableFields(binaryFocalPoint, forceDetector, secondaryRB.GetAttachedForceDetector() as ConstantForceDetector, OWRB, secondaryRB);
|
||||
}
|
||||
}
|
||||
else if (astroObject.GetCustomName().Equals(binaryFocalPoint.SecondaryName))
|
||||
@ -67,7 +67,7 @@ namespace NewHorizons.Builder.General
|
||||
if (binaryFocalPoint.Primary != null)
|
||||
{
|
||||
var primaryRB = binaryFocalPoint.Primary.GetAttachedOWRigidbody();
|
||||
SetBinaryForceDetectableFields(binaryFocalPoint, primaryRB.GetAttachedForceDetector(), forceDetector, primaryRB, OWRB);
|
||||
SetBinaryForceDetectableFields(binaryFocalPoint, primaryRB.GetAttachedForceDetector() as ConstantForceDetector, forceDetector, primaryRB, OWRB);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -77,7 +77,7 @@ namespace NewHorizons.Builder.General
|
||||
if(binaryFocalPoint.Primary != null && binaryFocalPoint.Secondary != null)
|
||||
{
|
||||
var fakeBarycenterGravityVolume = binaryFocalPoint.FakeMassBody.GetComponent<AstroObject>().GetGravityVolume();
|
||||
forceDetector.SetValue("_detectableFields", new ForceVolume[] { fakeBarycenterGravityVolume });
|
||||
forceDetector._detectableFields = new ForceVolume[] { fakeBarycenterGravityVolume };
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -87,7 +87,7 @@ namespace NewHorizons.Builder.General
|
||||
return detectorGO;
|
||||
}
|
||||
|
||||
private static void SetBinaryForceDetectableFields(BinaryFocalPoint point, ForceDetector primaryCFD, ForceDetector secondaryCFD, OWRigidbody primaryRB, OWRigidbody secondaryRB)
|
||||
private static void SetBinaryForceDetectableFields(BinaryFocalPoint point, ConstantForceDetector primaryCFD, ConstantForceDetector secondaryCFD, OWRigidbody primaryRB, OWRigidbody secondaryRB)
|
||||
{
|
||||
Logger.Log($"Setting up binary focal point for {point.name}");
|
||||
|
||||
@ -108,15 +108,15 @@ namespace NewHorizons.Builder.General
|
||||
var pointForceDetector = point.GetAttachedOWRigidbody().GetAttachedForceDetector();
|
||||
|
||||
// Set detectable fields
|
||||
primaryCFD.SetValue("_detectableFields", new ForceVolume[] { secondaryGV });
|
||||
primaryCFD.SetValue("_inheritDetector", pointForceDetector);
|
||||
primaryCFD.SetValue("_activeInheritedDetector", pointForceDetector);
|
||||
primaryCFD.SetValue("_inheritElement0", false);
|
||||
primaryCFD._detectableFields = new ForceVolume[] { secondaryGV };
|
||||
primaryCFD._inheritDetector = pointForceDetector;
|
||||
primaryCFD._activeInheritedDetector = pointForceDetector;
|
||||
primaryCFD._inheritElement0 = false;
|
||||
|
||||
secondaryCFD.SetValue("_detectableFields", new ForceVolume[] { primaryGV });
|
||||
secondaryCFD.SetValue("_inheritDetector", pointForceDetector);
|
||||
secondaryCFD.SetValue("_activeInheritedDetector", pointForceDetector);
|
||||
secondaryCFD.SetValue("_inheritElement0", false);
|
||||
secondaryCFD._detectableFields = new ForceVolume[] { primaryGV };
|
||||
secondaryCFD._inheritDetector = pointForceDetector;
|
||||
secondaryCFD._activeInheritedDetector = pointForceDetector;
|
||||
secondaryCFD._inheritElement0 = false;
|
||||
|
||||
foreach(var planet in planets)
|
||||
{
|
||||
|
||||
@ -41,7 +41,7 @@ namespace NewHorizons.Builder.General
|
||||
OWTriggerVolume OWTV = gravityGO.AddComponent<OWTriggerVolume>();
|
||||
|
||||
GravityVolume GV = gravityGO.AddComponent<GravityVolume>();
|
||||
GV.SetValue("_cutoffAcceleration", 0.1f);
|
||||
GV._cutoffAcceleration = 0.1f;
|
||||
|
||||
GravityVolume.FalloffType falloff = GravityVolume.FalloffType.linear;
|
||||
if (config.Base.GravityFallOff.ToUpper().Equals("LINEAR")) falloff = GravityVolume.FalloffType.linear;
|
||||
@ -49,20 +49,20 @@ namespace NewHorizons.Builder.General
|
||||
else Logger.LogError($"Couldn't set gravity type {config.Base.GravityFallOff}. Must be either \"linear\" or \"inverseSquared\". Defaulting to linear.");
|
||||
GV._falloffType = falloff;
|
||||
|
||||
GV.SetValue("_alignmentRadius", config.Base.SurfaceGravity != 0 ? 1.5f * config.Base.SurfaceSize : 0f);
|
||||
GV.SetValue("_upperSurfaceRadius", config.Base.SurfaceSize);
|
||||
GV.SetValue("_lowerSurfaceRadius", 0);
|
||||
GV.SetValue("_layer", 3);
|
||||
GV.SetValue("_priority", 0);
|
||||
GV.SetValue("_alignmentPriority", 0);
|
||||
GV.SetValue("_surfaceAcceleration", config.Base.SurfaceGravity);
|
||||
GV.SetValue("_inheritable", false);
|
||||
GV.SetValue("_isPlanetGravityVolume", true);
|
||||
GV.SetValue("_cutoffRadius", 0f);
|
||||
GV._alignmentRadius = config.Base.SurfaceGravity != 0 ? 1.5f * config.Base.SurfaceSize : 0f;
|
||||
GV._upperSurfaceRadius = config.Base.SurfaceSize;
|
||||
GV._lowerSurfaceRadius = 0;
|
||||
GV._layer = 3;
|
||||
GV._priority = 0;
|
||||
GV._alignmentPriority = 0;
|
||||
GV._surfaceAcceleration = config.Base.SurfaceGravity;
|
||||
GV._inheritable = false;
|
||||
GV._isPlanetGravityVolume = true;
|
||||
GV._cutoffRadius = 0f;
|
||||
|
||||
gravityGO.SetActive(true);
|
||||
|
||||
ao.SetValue("_gravityVolume", GV);
|
||||
ao._gravityVolume = GV;
|
||||
|
||||
return GV;
|
||||
}
|
||||
|
||||
@ -13,7 +13,7 @@ namespace NewHorizons.Builder.General
|
||||
public static void Make(GameObject body, string name, IPlanetConfig config)
|
||||
{
|
||||
MapMarker mapMarker = body.AddComponent<MapMarker>();
|
||||
mapMarker.SetValue("_labelID", (UITextType)TranslationHandler.AddUI(config.Name));
|
||||
mapMarker._labelID = (UITextType)TranslationHandler.AddUI(config.Name);
|
||||
|
||||
var markerType = MapMarker.MarkerType.Planet;
|
||||
|
||||
|
||||
@ -34,7 +34,7 @@ namespace NewHorizons.Builder.General
|
||||
spawnGO.transform.localPosition = module.ShipSpawnPoint;
|
||||
|
||||
var spawnPoint = spawnGO.AddComponent<SpawnPoint>();
|
||||
spawnPoint.SetValue("_isShipSpawn", true);
|
||||
spawnPoint._isShipSpawn = true;
|
||||
|
||||
var ship = GameObject.Find("Ship_Body");
|
||||
ship.transform.position = spawnPoint.transform.position;
|
||||
|
||||
@ -30,7 +30,7 @@ namespace NewHorizons.Builder.Orbital
|
||||
public static InitialMotion Update(InitialMotion initialMotion, GameObject body, AstroObject primaryBody, OWRigidbody OWRB, OrbitModule orbit)
|
||||
{
|
||||
// Rotation
|
||||
initialMotion.SetValue("_initAngularSpeed", SiderealPeriodToAngularSpeed(orbit.SiderealPeriod));
|
||||
initialMotion._initAngularSpeed = SiderealPeriodToAngularSpeed(orbit.SiderealPeriod);
|
||||
|
||||
var rotationAxis = Quaternion.AngleAxis(orbit.AxialTilt + 90f, Vector3.right) * Vector3.up;
|
||||
body.transform.rotation = Quaternion.FromToRotation(Vector3.up, rotationAxis);
|
||||
|
||||
@ -64,11 +64,11 @@ namespace NewHorizons.Builder.Orbital
|
||||
orbitLine._fadeStartDist = 3000;
|
||||
}
|
||||
|
||||
orbitLine.SetValue("_color", color);
|
||||
orbitLine._color = color;
|
||||
|
||||
orbitLine.SetValue("_astroObject", astroobject);
|
||||
orbitLine.SetValue("_fade", fade);
|
||||
orbitLine.SetValue("_lineWidth", 2f);
|
||||
orbitLine._astroObject = astroobject;
|
||||
orbitLine._fade = fade;
|
||||
orbitLine._lineWidth = 2f;
|
||||
|
||||
Main.Instance.ModHelper.Events.Unity.FireOnNextUpdate(() =>
|
||||
typeof(OrbitLine).GetMethod("InitializeLineRenderer", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).Invoke(orbitLine, new object[] { })
|
||||
|
||||
@ -49,9 +49,9 @@ namespace NewHorizons.Builder.Props
|
||||
kinematicRigidBody.centerOfMass = Vector3.zero;
|
||||
|
||||
var owRigidBody = raftObject.AddComponent<OWRigidbody>();
|
||||
owRigidBody.SetValue("_kinematicSimulation", true);
|
||||
owRigidBody.SetValue("_rigidbody", rigidBody);
|
||||
owRigidBody.SetValue("_kinematicRigidbody", kinematicRigidBody);
|
||||
owRigidBody._kinematicSimulation = true;
|
||||
owRigidBody._rigidbody = rigidBody;
|
||||
owRigidBody._kinematicRigidbody = kinematicRigidBody;
|
||||
kinematicRigidBody._rigidbody = rigidBody;
|
||||
kinematicRigidBody._owRigidbody = owRigidBody;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user