summaryrefslogtreecommitdiff
path: root/Runtime/Camera/OcclusionPortal.h
blob: 48bface873c753791cce1a450336d46892664d60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef OCCLUSION_PORTAL_H
#define OCCLUSION_PORTAL_H

#include "Runtime/GameCode/Behaviour.h"
#include "Runtime/Math/Vector3.h"

class OcclusionPortal : public Unity::Component
{
public:
	REGISTER_DERIVED_CLASS (OcclusionPortal, Component)
	DECLARE_OBJECT_SERIALIZE (OcclusionPortal)    
	
	OcclusionPortal (MemLabelId label, ObjectCreationMode mode);
	
	void SetPortalIndex (int portalIndex) { m_PortalIndex = portalIndex; }
	
	void SetIsOpen (bool opened);
	bool GetIsOpen ()                   { return m_Open; }

	
	Vector3f GetCenter () { return m_Center; }
	Vector3f GetSize () { return m_Size; }
	
	bool CalculatePortalEnabled ();

	virtual void AwakeFromLoad (AwakeFromLoadMode mode);
	virtual void Deactivate (DeactivateOperation operation);

	private:
	
	Vector3f m_Center;
	Vector3f m_Size;
	int      m_PortalIndex;
	bool     m_Open;
};

#endif