123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- class ActionTargetLighSource : ActionTarget
- {
- bool m_Remove;
- }
- //WIP
- class PlayerLightManager
- {
- int m_SelectedLightSource;
- ref ActionTargetLighSource m_LightItemTarget;
- ref array<ref ActionTarget> m_ValidLightItems;
- PlayerBase m_Player;
-
- void PlayerLightManager(PlayerBase player)
- {
- m_LightItemTarget = null;
- m_ValidLightItems = new array<ref ActionTarget>;
- m_Player = player;
- }
-
- // can be anything, as long as it has appropriate actions for handling lights, see Mich2001Helmet
- void AddLightSource(Object object)
- {
- m_LightItemTarget = new ActionTargetLighSource(object, null, -1, vector.Zero, -1);
- UpdateLightSourceList();
- }
-
- void RemoveLightSource(Object object)
- {
- m_LightItemTarget = new ActionTargetLighSource(object, null, -1, vector.Zero, -1);
- m_LightItemTarget.m_Remove = true;
- UpdateLightSourceList();
- }
-
- void UpdateLightSourceList()
- {
- if ( m_LightItemTarget )
- {
- if ( !m_LightItemTarget.m_Remove )
- {
- m_ValidLightItems.Insert(m_LightItemTarget);
- }
- else
- {
- m_ValidLightItems.RemoveItem(m_LightItemTarget);
- }
- }
- }
-
- ref array<ref ActionTarget> GetLightSourceList()
- {
- return m_ValidLightItems;
- }
-
- void SetSelectedLightSourceIdx(int value)
- {
- m_SelectedLightSource = value;
- }
-
- int GetSelectedLightSourceIdx()
- {
- return m_SelectedLightSource;
- }
-
- void SelectLightSourceTarget(ActionTarget target) //should be ActionTarget?
- {
- int idx = m_ValidLightItems.Find(target);
- SetSelectedLightSourceIdx(idx);
- }
-
- ref ActionTarget GetSelectedLightSourceTarget()
- {
- return m_ValidLightItems.Get(m_SelectedLightSource);
- }
- };
|