/// <summary> /// Is called whenever an object leaves this Character's sight /// </summary> public void OnOutOfRange(WorldObject obj) { obj.AreaCharCount--; if (obj == Asda2DuelingOponent) { if (Asda2Duel != null) { Asda2Duel.StopPvp(); } } if (obj == m_target) { // unset current Target ClearTarget(); } if (obj == m_activePet) { ActivePet = null; } if (GossipConversation != null && obj == GossipConversation.Speaker && GossipConversation.Character == this) { // stop conversation with a vanished object GossipConversation.Dispose(); } if (!(obj is Transport)) { KnownObjects.Remove(obj); } var chr = obj as Character; if (chr != null) { if (EnemyCharacters.Contains(chr)) { EnemyCharacters.Remove(chr); CheckEnemysCount(); } GlobalHandler.SendCharacterDeleteResponse(chr, Client); } else { var loot = obj as Asda2Loot; if (loot != null) { GlobalHandler.SendRemoveLootResponse(this, loot); } } }
static void StartLoadData() { var data = Resources.Load <StageData>("Data/StageData"); Stages = data.Stages; var playerData = Resources.Load <PlayerCharacterData>("Data/PlayerCharacterData"); PlayerCharacters = playerData.PlayerCharacters; var enemyData = Resources.Load <EnemyCharacterData>("Data/EnemyCharacterData"); EnemyCharacters = enemyData.EnemyCharacters; }
private void CheckAtackStateWithCharacter(Character visibleChr) { if (MayAttack(visibleChr)) { EnemyCharacters.Add(visibleChr); if (IsAsda2BattlegroundInProgress) { GlobalHandler.SendFightingModeChangedOnWarResponse(Client, visibleChr.SessionId, (int)visibleChr.AccId, visibleChr.Asda2FactionId); } else { GlobalHandler.SendFightingModeChangedResponse(Client, SessionId, (int)AccId, visibleChr.SessionId); } } else { if (EnemyCharacters.Contains(visibleChr)) { EnemyCharacters.Remove(visibleChr); CheckEnemysCount(); } } }
void Start() { CreateGrid(); List <EncounterUtils.Point> playerSpawnPoints = EncounterUtils.GetSpawnPoints(Team.Player, MAP_NAME, EncounterUtils.Difficulty.Easy); List <EncounterUtils.Point> enemySpawnPoints = EncounterUtils.GetSpawnPoints(Team.Enemy, MAP_NAME, EncounterUtils.Difficulty.Easy); playerSpawnArea = pointsToTiles(playerSpawnPoints); enemySpawnArea = pointsToTiles(enemySpawnPoints); List <Character> playerCharacters = Character.GetCurrentCharacters(); List <Character> enemyCharacters = EnemyCharacters.GetEnemies(); for (int i = 0; i < playerSpawnArea.Count; i++) { playerSpawnArea[i].SpawnUnit(playerCharacters[i]); } for (int i = 0; i < playerSpawnArea.Count; i++) { enemySpawnArea[i].SpawnUnit(enemyCharacters[i]); } EncounterUtils.Highlight(enemySpawnArea, Color.red); turnOnAI = false; SetupRandomObjective(); }