public IEnumerator Initialize() { CameraHandler.AddMapRotationListener(OnMapRotationChanged); FightStatus local = FightStatus.local; int regionCount = m_mapDefinition.regionCount; m_movementContexts = new FightMapMovementContext[regionCount]; for (int i = 0; i < regionCount; i++) { FightStatus fightStatus = FightLogicExecutor.GetFightStatus(i); fightStatus.EntitiesChanged += OnEntitiesChanged; FightMapMovementContext fightMapMovementContext = new FightMapMovementContext(fightStatus.mapStatus, fightStatus); if (fightStatus == local) { m_localMovementContext = fightMapMovementContext; } m_movementContexts[i] = fightMapMovementContext; } if (m_localMovementContext != null) { IMapStateProvider stateProvider = m_localMovementContext.stateProvider; m_targetContext = new FightMapTargetContext(stateProvider); } BoxCollider mapCollider = CreateCollider(); InitializeHandlers(mapCollider, giveUserControl: false); MonsterSpawnCellDefinition monsterSpawnCellDefinition = m_bossFightMapResources.monsterSpawnCellDefinition; if (null != monsterSpawnCellDefinition) { yield return(monsterSpawnCellDefinition.Initialize()); m_monsterSpawnCellDictionary = new Dictionary <int, GameObject>(); } if (AudioManager.isReady) { m_audioContext.Initialize(); m_worldMusicRequest = AudioManager.LoadWorldMusic(m_musicGroup, m_ambianceGroup, m_audioContext); while (m_worldMusicRequest.state == AudioWorldMusicRequest.State.Loading) { yield return(null); } } }
public static void SetupSpellTargetHighlight([NotNull] FightMapFeedbackResources resources, [NotNull] FightMapTargetContext context, Vector2Int coords, [NotNull] CellHighlight highlight, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) if (!context.HasNonEntityTargetAt(coords)) { highlight.ClearSprite(); return; } Sprite sprite = resources.areaFeedbackSprites[15]; highlight.SetSprite(sprite, color); }
private void UpdateFeedbacks() { //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Unknown result type (might be due to invalid IL or missing references) //IL_01ad: Unknown result type (might be due to invalid IL or missing references) //IL_024d: Unknown result type (might be due to invalid IL or missing references) //IL_0252: Unknown result type (might be due to invalid IL or missing references) //IL_0264: Unknown result type (might be due to invalid IL or missing references) //IL_0269: Unknown result type (might be due to invalid IL or missing references) //IL_026b: Unknown result type (might be due to invalid IL or missing references) //IL_0270: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Unknown result type (might be due to invalid IL or missing references) //IL_02bb: Unknown result type (might be due to invalid IL or missing references) //IL_0311: Unknown result type (might be due to invalid IL or missing references) FightMapFeedbackResources feedbackResources = m_feedbackResources; if (null == feedbackResources) { return; } FightMapMovementContext[] movementContexts = m_movementContexts; int num = movementContexts.Length; for (int i = 0; i < num; i++) { FightMapMovementContext fightMapMovementContext = movementContexts[i]; if (!fightMapMovementContext.hasEnded) { continue; } IMapDefinition mapDefinition = m_mapDefinition; IMapStateProvider stateProvider = fightMapMovementContext.stateProvider; Vector2Int sizeMin = stateProvider.sizeMin; Vector2Int sizeMax = stateProvider.sizeMax; for (int j = sizeMin.get_y(); j < sizeMax.get_y(); j++) { for (int k = sizeMin.get_x(); k < sizeMax.get_x(); k++) { int cellIndex = mapDefinition.GetCellIndex(k, j); CellObject cellObject = m_cellObjectsByIndex[cellIndex]; if (!(null == cellObject)) { cellObject.highlight.ClearSprite(); } } } } FightMapTargetContext targetContext = m_targetContext; if (targetContext != null) { if (targetContext.isActive) { IMapDefinition mapDefinition2 = m_mapDefinition; IMapStateProvider stateProvider2 = targetContext.stateProvider; Vector2Int sizeMin2 = stateProvider2.sizeMin; Vector2Int sizeMax2 = stateProvider2.sizeMax; Color targetableAreaColor = feedbackResources.feedbackColors.targetableAreaColor; for (int l = sizeMin2.get_y(); l < sizeMax2.get_y(); l++) { for (int m = sizeMin2.get_x(); m < sizeMax2.get_x(); m++) { int cellIndex2 = mapDefinition2.GetCellIndex(m, l); CellObject cellObject2 = m_cellObjectsByIndex[cellIndex2]; if (!(null == cellObject2)) { FightMapFeedbackHelper.SetupSpellTargetHighlight(feedbackResources, targetContext, cellObject2.coords, cellObject2.highlight, targetableAreaColor); } } } m_pathFinderFeedbackManager.Clear(); return; } if (targetContext.hasEnded) { IMapDefinition mapDefinition3 = m_mapDefinition; IMapStateProvider stateProvider3 = targetContext.stateProvider; Vector2Int sizeMin3 = stateProvider3.sizeMin; Vector2Int sizeMax3 = stateProvider3.sizeMax; for (int n = sizeMin3.get_y(); n < sizeMax3.get_y(); n++) { for (int num2 = sizeMin3.get_x(); num2 < sizeMax3.get_x(); num2++) { int cellIndex3 = mapDefinition3.GetCellIndex(num2, n); CellObject cellObject3 = m_cellObjectsByIndex[cellIndex3]; if (!(null == cellObject3)) { cellObject3.highlight.ClearSprite(); } } } } } FightMapMovementContext activeMovementContext = m_activeMovementContext; if (activeMovementContext == null) { m_pathFinderFeedbackManager.Clear(); return; } ICharacterEntity trackedCharacter = activeMovementContext.trackedCharacter; if (trackedCharacter != null) { Color highlightColor = GetHighlightColor(feedbackResources.feedbackColors, activeMovementContext.entityProvider, trackedCharacter); IMapDefinition mapDefinition4 = m_mapDefinition; IMapStateProvider stateProvider4 = activeMovementContext.stateProvider; Vector2Int sizeMin4 = stateProvider4.sizeMin; Vector2Int sizeMax4 = stateProvider4.sizeMax; for (int num3 = sizeMin4.get_y(); num3 < sizeMax4.get_y(); num3++) { for (int num4 = sizeMin4.get_x(); num4 < sizeMax4.get_x(); num4++) { int cellIndex4 = mapDefinition4.GetCellIndex(num4, num3); CellObject cellObject4 = m_cellObjectsByIndex[cellIndex4]; if (!(null == cellObject4)) { FightMapFeedbackHelper.SetupMovementAreaHighlight(feedbackResources, activeMovementContext, cellObject4.coords, cellObject4.highlight, highlightColor); } } } } if (m_pathFinder.tracking) { Vector2Int?target = activeMovementContext.targetedEntity?.area.refCoord; m_pathFinderFeedbackManager.Setup(feedbackResources.movementFeedbackResources, m_pathFinder.currentPath, target); } else { m_pathFinderFeedbackManager.Clear(); } }