public void StartRandomly(I_Map _Map) { if (_Map != null) { TeleportTo(_Map.GetRandomWalkableTile()); m_LastRegenTime = DateTime.Now; } m_Lifebar.DisplayUnitLife(this); }
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); } }
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)); } } }
/// <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); }
public void SetMap(I_Map _Map) { m_Map = _Map; }
public static void LoadEnemies(I_Map _Map, List <EnemyData> _EnemyData) { GetInstance().InternalLoadEnemies(_Map, _EnemyData); }
public static void SpawnEnemyRandomly(I_Map _Map, int _Count) { GetInstance().InternalSpawnEnemyRandomly(_Map, _Count); }