public void StartRandomly(I_Map _Map)
 {
     if (_Map != null)
     {
         TeleportTo(_Map.GetRandomWalkableTile());
         m_LastRegenTime = DateTime.Now;
     }
     m_Lifebar.DisplayUnitLife(this);
 }
Esempio n. 2
0
 private void InternalLoadEnemies(I_Map _Map, List <EnemyData> _EnemyData)
 {
     for (int i = 0; i < _EnemyData.Count; i++)
     {
         UnitEnemy enemy = GameObject.Instantiate(Resources.Load <GameObject>("Entities/Enemy"), new Vector3(0, 0, 0), Quaternion.identity).GetComponent <UnitEnemy>();
         enemy.LoadFromData(_Map, _EnemyData[i]);
         m_Enemies.Add(enemy);
     }
 }
Esempio n. 3
0
 private void InternalSpawnEnemyRandomly(I_Map _Map, int _Count)
 {
     for (int i = 0; i < _Count; i++)
     {
         UnitEnemy enemy = GameObject.Instantiate(Resources.Load <GameObject>("Entities/Enemy"), new Vector3(0, 0, 0), Quaternion.identity).GetComponent <UnitEnemy>();
         enemy.TeleportTo(_Map.GetRandomWalkableTile());
         m_Enemies.Add(enemy);
     }
 }
    public void LoadFromData(I_Map _Map, EnemyData _EnemyData)
    {
        if (_EnemyData != null)
        {
            MaxHealth = _EnemyData.MaxHealth;
            Health    = _EnemyData.CurrentHealth;

            if (_Map != null)
            {
                TeleportTo(_Map.GetTileAt(_EnemyData.PosX, _EnemyData.PosZ));
            }
        }
    }
Esempio n. 5
0
    /// <summary>
    /// 寻路
    /// </summary>
    /// <param name="map"></param>
    /// <param name="start"></param>
    /// <param name="end"></param>
    /// <param name="limitG">限定寻路最大移动消耗</param>
    /// <param name="limitOutCount">限定寻路结果节点输出数量</param>
    /// <returns></returns>
    public I_PathNode[] FindWay(I_Map map, I_PathNode start, I_PathNode end, float limitG, int limitOutCount)
    {
        Clear();

        m_Map           = map;
        m_Start         = start; //起点
        m_End           = end;   //终点
        m_limitG        = limitG;
        m_limitOutCount = limitOutCount;
        AddToOpenList(start, null);//将起点加入开启列表

        do
        {
            DoLoop();
        }while(!CheckResult());

        return(m_Result);
    }
    public void LoadLastPosition(I_Map _Map, PlayerData _PlayerData)
    {
        if (_PlayerData != null)
        {
            MaxHealth = _PlayerData.MaxHealth;
            Health    = _PlayerData.CurrentHealth;

            if (_Map != null)
            {
                TeleportTo(_Map.GetTileAt(_PlayerData.PosX, _PlayerData.PosZ));
            }

            long lastSavedRegenTime = Convert.ToInt64(_PlayerData.LastRegenTime);
            m_LastRegenTime = DateTime.FromBinary(lastSavedRegenTime);
            RegenHealthSinceLastRegen();
        }
        m_Lifebar.DisplayUnitLife(this);
    }
Esempio n. 7
0
 public void SetMap(I_Map _Map)
 {
     m_Map = _Map;
 }
Esempio n. 8
0
 public static void LoadEnemies(I_Map _Map, List <EnemyData> _EnemyData)
 {
     GetInstance().InternalLoadEnemies(_Map, _EnemyData);
 }
Esempio n. 9
0
 public static void SpawnEnemyRandomly(I_Map _Map, int _Count)
 {
     GetInstance().InternalSpawnEnemyRandomly(_Map, _Count);
 }