Iuvo Unity 0.5.1
This is library containing a variety of helper classes and extension methods for the Unity gane engine.
GitHub | Iuvo Unity Updates | Creator
Loading...
Searching...
No Matches
IuvoUnity.ProceduralGeneration.Wall Class Reference
Inheritance diagram for IuvoUnity.ProceduralGeneration.Wall:

Public Member Functions

void Start ()
bool IsBoundary ()
void Destroy ()

Public Attributes

bool iAmBoundaryWall = false
List< Collider > myContacts = new List<Collider>()
int myNumber = 0

Properties

Room myRoom [get, set]
Wall siblingWall [get, set]

Member Function Documentation

◆ Destroy()

void IuvoUnity.ProceduralGeneration.Wall.Destroy ( )
68 {
69 if (!iAmBoundaryWall)
70 {
71 GridDungeonManager.Instance.walls.Remove(this);
72 Object.Destroy(this);
73 }
74 }
UnityEngine.Object Object
Definition InterfaceReference.cs:3

References iAmBoundaryWall, IuvoUnity.ProceduralGeneration.Dungeons.GridDungeonManager.Instance, and IuvoUnity.ProceduralGeneration.Dungeons.GridDungeonManager.walls.

◆ IsBoundary()

bool IuvoUnity.ProceduralGeneration.Wall.IsBoundary ( )
26 {
27 BoxCollider coll = GetComponent<BoxCollider>();
28 int layer = LayerMask.NameToLayer("PG_Wall");
29
30 if (coll != null)
31 {
32 Collider[] colliders = Physics.OverlapBox(coll.bounds.center, coll.bounds.extents, Quaternion.identity, 1 << layer);
33
34 for (int i = 0; i < colliders.Length; i++)
35 {
36 if (colliders[i] != coll)
37 {
38 myContacts.Add(colliders[i]);
39 }
40 }
41
42 if (myContacts.Count > 6)
43 {
44 iAmBoundaryWall = false;
45 }
46 else
47 {
48 iAmBoundaryWall = true;
49 }
50
51 for (int i = 0; i < myContacts.Count; i++)
52 {
53 if (myContacts[i] != null && myContacts[i].transform == transform)
54 {
55 Wall theirWall = myContacts[i].GetComponent<Wall>();
56 if (theirWall != null)
57 {
58 siblingWall = theirWall;
59 }
60 }
61 }
62
63 }
64 return iAmBoundaryWall;
65 }

References iAmBoundaryWall, myContacts, and siblingWall.

◆ Start()

void IuvoUnity.ProceduralGeneration.Wall.Start ( )
22 {
23 }

Member Data Documentation

◆ iAmBoundaryWall

bool IuvoUnity.ProceduralGeneration.Wall.iAmBoundaryWall = false

Referenced by Destroy(), and IsBoundary().

◆ myContacts

List<Collider> IuvoUnity.ProceduralGeneration.Wall.myContacts = new List<Collider>()

Referenced by IsBoundary().

◆ myNumber

int IuvoUnity.ProceduralGeneration.Wall.myNumber = 0

Property Documentation

◆ myRoom

Room IuvoUnity.ProceduralGeneration.Wall.myRoom
getset
16{ get; set; }

◆ siblingWall

Wall IuvoUnity.ProceduralGeneration.Wall.siblingWall
getset
17{ get; set; }

Referenced by IsBoundary().


The documentation for this class was generated from the following file:
  • D:/Unity/IuvoUnityCore/Assets/IuvoUnity/Runtime/ProceduralGenerationBases/Dungeons/Wall.cs