Skip to content
This repository has been archived by the owner on Sep 16, 2023. It is now read-only.

Commit

Permalink
Merge pull request #11 from MrAfitol/dev
Browse files Browse the repository at this point in the history
New PR
  • Loading branch information
Jesus-QC authored Jan 15, 2023
2 parents 3e4ca1b + 8159cdf commit 5a20014
Show file tree
Hide file tree
Showing 5 changed files with 104 additions and 2 deletions.
2 changes: 2 additions & 0 deletions CursedMod/CursedMod.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
<Compile Include="EntryPoint.cs" />
<Compile Include="Events\Handlers\MapGenerationEventHandler.cs" />
<Compile Include="Features\Enums\AuthenticationType.cs" />
<Compile Include="Features\Enums\LockerType.cs" />
<Compile Include="Features\Enums\EnvironmentalHazardType.cs" />
<Compile Include="Features\Enums\ShootingTargetType.cs" />
<Compile Include="Features\Wrappers\AdminToys\CursedAdminToy.cs" />
Expand All @@ -83,6 +84,7 @@
<Compile Include="Features\Wrappers\Facility\PocketDimension\CursedPocketDimensionExit.cs" />
<Compile Include="Features\Wrappers\Facility\Props\CursedBreakableWindow.cs" />
<Compile Include="Features\Wrappers\Facility\Props\CursedGenerator.cs" />
<Compile Include="Features\Wrappers\Facility\Props\CursedLocker.cs" />
<Compile Include="Features\Wrappers\Facility\Props\CursedLockerChamber.cs" />
<Compile Include="Features\Wrappers\Facility\Props\CursedTeslaGate.cs" />
<Compile Include="Features\Wrappers\Facility\Rooms\Cursed079Camera.cs" />
Expand Down
18 changes: 18 additions & 0 deletions CursedMod/Features/Enums/LockerType.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
namespace CursedMod.Features.Enums;

public enum LockerType
{
RegularMedkit,
AdrenalinMedKit,
LargeGun,
RifleRack,
Misc,
Scp018Pedestal,
Scp207Pedestal,
Scp244Pedestal,
Scp268Pedestal,
Scp500Pedestal,
Scp1853Pedestal,
Scp2176Pedestal,
Scp1576Pedestal
}
27 changes: 27 additions & 0 deletions CursedMod/Features/Wrappers/CursedPrefabManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using AdminToys;
using CursedMod.Features.Enums;
using Interactables.Interobjects.DoorUtils;
using MapGeneration;
using Mirror;
Expand All @@ -20,6 +21,7 @@ public static class CursedPrefabManager
private static DoorVariant _lczDoor;
private static DoorVariant _hczDoor;
private static DoorVariant _ezDoor;
private static Dictionary<LockerType, GameObject> _lockers;

public static PrimitiveObjectToy PrimitiveObject
{
Expand Down Expand Up @@ -159,4 +161,29 @@ public static DoorVariant EzDoor
return door;
}
}

public static Dictionary<LockerType, GameObject> Lockers
{
get
{
if (_lockers is not null)
return _lockers;

_lockers.Add(LockerType.RegularMedkit, NetworkClient.prefabs.Values.First(x => x.name == "RegularMedkitStructure"));
_lockers.Add(LockerType.AdrenalinMedKit, NetworkClient.prefabs.Values.First(x => x.name == "AdrenalineMedkitStructure"));
_lockers.Add(LockerType.LargeGun, NetworkClient.prefabs.Values.First(x => x.name == "LargeGunLockerStructure"));
_lockers.Add(LockerType.RifleRack, NetworkClient.prefabs.Values.First(x => x.name == "RifleRackStructure"));
_lockers.Add(LockerType.Misc, NetworkClient.prefabs.Values.First(x => x.name == "MiscLocker"));
_lockers.Add(LockerType.Scp018Pedestal, NetworkClient.prefabs.Values.First(x => x.name == "Scp018PedestalStructure Variant"));
_lockers.Add(LockerType.Scp207Pedestal, NetworkClient.prefabs.Values.First(x => x.name == "Scp207PedestalStructure Variant"));
_lockers.Add(LockerType.Scp244Pedestal, NetworkClient.prefabs.Values.First(x => x.name == "Scp244PedestalStructure Variant"));
_lockers.Add(LockerType.Scp268Pedestal, NetworkClient.prefabs.Values.First(x => x.name == "Scp268PedestalStructure Variant"));
_lockers.Add(LockerType.Scp500Pedestal, NetworkClient.prefabs.Values.First(x => x.name == "Scp500PedestalStructure Variant"));
_lockers.Add(LockerType.Scp1853Pedestal, NetworkClient.prefabs.Values.First(x => x.name == "Scp1853PedestalStructure Variant"));
_lockers.Add(LockerType.Scp2176Pedestal, NetworkClient.prefabs.Values.First(x => x.name == "Scp2176PedestalStructure Variant"));
_lockers.Add(LockerType.Scp1576Pedestal, NetworkClient.prefabs.Values.First(x => x.name == "Scp1576PedestalStructure Variant"));

return _lockers;
}
}
}
55 changes: 55 additions & 0 deletions CursedMod/Features/Wrappers/Facility/Props/CursedLocker.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
using CursedMod.Features.Enums;
using MapGeneration.Distributors;
using Mirror;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using Object = UnityEngine.Object;

namespace CursedMod.Features.Wrappers.Facility.Props;

public class CursedLocker
{
public Locker Base { get; }

public CursedLocker(Locker locker)
{
Base = locker;

List<CursedLockerChamber> chamberList = new List<CursedLockerChamber>();
foreach (var chamber in Base.Chambers)
chamberList.Add(new CursedLockerChamber(chamber));

Chambers = chamberList.ToArray();
}

public CursedLockerChamber[] Chambers { get; }

public Vector3 Position
{
get => Base.transform.position;
set => Base.transform.position = value;
}

public Quaternion Rotation
{
get => Base.transform.rotation;
set => Base.transform.rotation = value;
}

public Vector3 Scale
{
get => Base.transform.localScale;
set => Base.transform.localScale = value;
}

public CursedLocker Create(LockerType lockerType, Vector3 position, Vector3 rotation, Vector3 scale)
{
GameObject prefab = Object.Instantiate(CursedPrefabManager.Lockers[lockerType], position, Quaternion.Euler(rotation));

prefab.transform.localScale = scale;

NetworkServer.Spawn(prefab);
return new CursedLocker(prefab.GetComponent<Locker>());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ public class CursedLockerChamber
{
public LockerChamber Base { get; }

public CursedLockerChamber(LockerChamber locker)
public CursedLockerChamber(LockerChamber lockerChamber)
{
Base = locker;
Base = lockerChamber;
}

public bool IsOpen
Expand Down

0 comments on commit 5a20014

Please sign in to comment.