public override void UpdateStatus(FightStatus fightStatus) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) if (fightStatus.TryGetEntity(concernedEntity, out IEntityWithBoardPresence entityStatus)) { Area area = entityStatus.area; int count = cells.Count; Vector2Int val = (Vector2Int)cells[0]; Vector2Int newRefCoords = (Vector2Int)cells[count - 1]; entityStatus.area.MoveTo(newRefCoords); fightStatus.NotifyEntityAreaMoved(); CharacterStatus characterStatus; if (IsMovementAction() && (characterStatus = (entityStatus as CharacterStatus)) != null) { characterStatus.actionUsed = true; fightStatus.NotifyEntityPlayableStateChanged(); } } else { Log.Error(FightEventErrors.EntityNotFound <IEntityWithBoardPresence>(concernedEntity), 46, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Fight\\Events\\EntityAreaMovedEvent.cs"); } FightLogicExecutor.FireUpdateStatus(fightStatus.fightId, EventCategory.EntityMoved); }
public override void UpdateStatus(FightStatus fightStatus) { if (fightStatus.TryGetEntity(concernedEntity, out CharacterStatus entityStatus)) { entityStatus.actionUsed = false; fightStatus.NotifyEntityPlayableStateChanged(); } else { Log.Error(FightEventErrors.EntityNotFound <CharacterStatus>(concernedEntity), 20, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Fight\\Events\\EntityActionResetEvent.cs"); } }
public override void UpdateStatus(FightStatus fightStatus) { fightStatus.RemoveEntity(concernedEntity); if (fightStatus.TryGetEntity(ownerId, out PlayerStatus entityStatus)) { EntityType newEntityType = (EntityType)this.newEntityType; EntityStatus entityStatus2; switch (newEntityType) { case EntityType.Hero: throw new Exception("[TransformationEvent] Heroes cannot be transformed."); case EntityType.Companion: entityStatus2 = CompanionAddedEvent.CreateCompanionStatus(newEntityId, entityDefId, level, entityStatus, refCoord); break; case EntityType.Summoning: entityStatus2 = SummoningAddedEvent.CreateSummoningStatus(newEntityId, entityDefId, level, entityStatus, refCoord); break; case EntityType.FloorMechanism: entityStatus2 = FloorMechanismAddedEvent.CreateFloorMechanismStatus(newEntityId, entityDefId, level, entityStatus, refCoord); break; case EntityType.ObjectMechanism: entityStatus2 = ObjectMechanismAddedEvent.CreateObjectMechanismStatus(newEntityId, entityDefId, level, entityStatus, refCoord); break; case EntityType.Global: case EntityType.Player: case EntityType.Team: Log.Error($"Transformation not handled for type {newEntityType}.", 48, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Fight\\Events\\TransformationEvent.cs"); return; default: throw new ArgumentOutOfRangeException(); } IEntityWithAction entityWithAction; if (copyActionUsed && fightStatus.TryGetEntity(concernedEntity, out IEntityWithAction entityStatus3) && (entityWithAction = (entityStatus2 as IEntityWithAction)) != null) { entityWithAction.actionUsed = entityStatus3.actionUsed; fightStatus.NotifyEntityPlayableStateChanged(); } fightStatus.AddEntity(entityStatus2); } else { Log.Error(FightEventErrors.PlayerNotFound(ownerId), 72, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Fight\\Events\\TransformationEvent.cs"); } FightLogicExecutor.FireUpdateStatus(fightStatus.fightId, EventCategory.EntityAddedOrRemoved); }
private void PropertyStatusChanged(FightStatus fightStatus, PropertyId property) { if (property == PropertyId.PlaySpellForbidden && fightStatus.TryGetEntity(concernedEntity, out PlayerStatus entityStatus)) { AbstractPlayerUIRework view = entityStatus.view; if (null != view) { view.RefreshAvailableActions(recomputeSpellCosts: false); } } if (PropertiesUtility.PreventsAction(property)) { fightStatus.NotifyEntityPlayableStateChanged(); } }
public override void UpdateStatus(FightStatus fightStatus) { fightStatus.currentTurnPlayerId = concernedEntity; foreach (CharacterStatus item in fightStatus.EnumerateEntities((CharacterStatus c) => c.ownerId == concernedEntity)) { item.actionUsed = false; } fightStatus.NotifyEntityPlayableStateChanged(); if (fightStatus != FightStatus.local || fightStatus.localPlayerId != concernedEntity) { return; } FightMap current = FightMap.current; if (null != current) { current.SetMovementPhase(); } FightUIRework instance = FightUIRework.instance; if (null != instance) { instance.StartLocalPlayerTurn(); } if (fightStatus.TryGetEntity(concernedEntity, out PlayerStatus entityStatus)) { AbstractPlayerUIRework view = entityStatus.view; if (null != view) { view.SetUIInteractable(interactable: true); } } else { Log.Error(FightEventErrors.PlayerNotFound(concernedEntity), 55, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Fight\\Events\\TurnStartedEvent.cs"); } }