Example #1
0
 public void RemoveNode(I_EnvironmentNode _poi)
 {
     if (m_EnvironmentNodesDict.ContainsKey(_poi.GetType()))
     {
         m_EnvironmentNodesDict[_poi.GetType()].Remove(_poi);
     }
 }
Example #2
0
        public void RegisterNodeAsType(I_EnvironmentNode _poi, System.Type _type)
        {
            if (!m_EnvironmentNodesDict.ContainsKey(_type))
            {
                m_EnvironmentNodesDict[_type] = new EnvironmentQueryResult();
            }

            Debug.Log("[POIManager] Registerd POI " + _type.Name);

            m_EnvironmentNodesDict[_type].Add(_poi);
        }
Example #3
0
            public void Remove(I_EnvironmentNode _poi)
            {
                int index = nodes.IndexOf(_poi);

                if (index < 0)
                {
                    return;
                }
                nodes.RemoveAt(index);
                nodePositionsXZ.RemoveAt(index);
            }
Example #4
0
        public T QueryRandomNodeOfType <T>() where T : I_EnvironmentNode
        {
            EnvironmentQueryResult pois = QueryNodesOfType <T>();

            if (pois.Count() > 0)
            {
                I_EnvironmentNode randomPoi = pois.AtIndex(Random.Range(0, pois.Count()));
                return((T)randomPoi);
            }

            return(default(T));
        }
Example #5
0
 public void Add(I_EnvironmentNode _poi)
 {
     nodes.Add(_poi);
     nodePositionsXZ.Add(_poi.GetPositionXZ());
 }
Example #6
0
 public void AddNode(I_EnvironmentNode _poi)
 {
     RegisterNodeAsType(_poi, _poi.GetType());
 }