public override bool GetValue(DynamicValueContext context, out int value) { AssembledEntityContext assembledEntityContext = context as AssembledEntityContext; if (assembledEntityContext == null) { value = 0; return(false); } int num = 0; IReadOnlyList <int> assemblingIds = assembledEntityContext.assembling.assemblingIds; FightStatus fightStatus = assembledEntityContext.fightStatus; int i = 0; for (int count = assemblingIds.Count; i < count; i++) { if (fightStatus.TryGetEntity(assemblingIds[i], out FloorMechanismStatus entityStatus)) { int?activationValue = entityStatus.activationValue; if (activationValue.HasValue) { num += activationValue.Value; } } } value = num; return(true); }
public IEnumerable <IEntity> Filter(IEnumerable <IEntity> entities, DynamicValueContext context) { List <Area> areas = ListPool <Area> .Get(); areas.AddRange(ZoneAreaFilterUtils.TargetsToCompareAreaList(targetsToCompare, context)); int areaCount = areas.Count; foreach (IEntity entity in entities) { IEntityWithBoardPresence entityWithBoardPresence = entity as IEntityWithBoardPresence; if (entityWithBoardPresence != null) { for (int i = 0; i < areaCount; i++) { Area other = areas[i]; if (distance.Matches(entityWithBoardPresence.area.MinDistanceWith(other), context) && entityWithBoardPresence.area.IsAlignedWith(other)) { yield return(entity); break; } } } } ListPool <Area> .Release(areas); }
public void PreComputeDelayOverDistance([NotNull] DynamicValueContext castTargetContext) { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) if (m_delayOverDistance == null) { return; } ISingleTargetSelector origin = m_delayOverDistance.origin; ISingleCoordSelector singleCoordSelector = origin as ISingleCoordSelector; if (singleCoordSelector != null && singleCoordSelector.TryGetCoord(castTargetContext, out Coord coord)) { m_delayOverDistanceOrigin = (Vector2Int)coord; return; } ISingleEntitySelector singleEntitySelector = origin as ISingleEntitySelector; if (singleEntitySelector != null && singleEntitySelector.TryGetEntity(castTargetContext, out IEntityWithBoardPresence entity)) { m_delayOverDistanceOrigin = entity.view.cellObject.coords; } else { Log.Warning("Could not find the origin for the delay over distance.", 115, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Data\\Spells\\SpellEffectInstantiationData.cs"); } }
public override bool GetValue(DynamicValueContext context, out int value) { int level = context?.level ?? 1; value = GetValue(level); return(true); }
public IEnumerable <IEntity> EnumerateEntities(DynamicValueContext context) { if (TryGetEntity(context, out IEntity entity)) { yield return(entity); } }
public override bool IsValid(DynamicValueContext context) { int value = 0; this.value.GetValue(context, out value); return(evaluator.Matches(value, context)); }
private Coord?TryGetCoord(ISingleTargetSelector selector, DynamicValueContext context) { //IL_001b: Unknown result type (might be due to invalid IL or missing references) ISingleEntitySelector singleEntitySelector = selector as ISingleEntitySelector; if (singleEntitySelector != null) { if (singleEntitySelector.TryGetEntity(context, out IEntityWithBoardPresence entity)) { return(new Coord(entity.area.refCoord)); } return(null); } ISingleCoordSelector singleCoordSelector = selector as ISingleCoordSelector; if (singleCoordSelector != null) { if (singleCoordSelector.TryGetCoord(context, out Coord coord)) { return(coord); } return(null); } return(null); }
public IEnumerable <Coord> EnumerateCoords(DynamicValueContext context) { if (TryGetCoord(context, out Coord coord)) { yield return(coord); } }
public IEnumerable<Coord> Filter(IEnumerable<Coord> coords, DynamicValueContext context) { if (ZoneAreaFilterUtils.SingleTargetToCompareArea(refDirectionTargetA, context, out Area area) && ZoneAreaFilterUtils.SingleTargetToCompareArea(refDirectionTargetB, context, out Area area2)) { Direction? dirOpt = area.refCoord.GetStrictDirection4To(area2.refCoord); if (dirOpt.HasValue) { List<Area> applyAreas = ListPool<Area>.Get(); applyAreas.AddRange(ZoneAreaFilterUtils.TargetsToCompareAreaList(applyStartTargets, context)); int applyAreaCount = applyAreas.Count; foreach (Coord coord in coords) { Vector2Int val = default(Vector2Int); val._002Ector(coord.x, coord.y); for (int i = 0; i < applyAreaCount; i++) { Area area3 = applyAreas[i]; if (distance.Matches(area3.MinDistanceWith(val), context) && area3.IsAlignedWith(val) && area3.GetStrictDirection4To(val) == dirOpt) { yield return coord; break; } } } ListPool<Area>.Release(applyAreas); } } }
public IEnumerable<IEntity> Filter(IEnumerable<IEntity> entities, DynamicValueContext context) { if (ZoneAreaFilterUtils.SingleTargetToCompareArea(refDirectionTargetA, context, out Area area) && ZoneAreaFilterUtils.SingleTargetToCompareArea(refDirectionTargetB, context, out Area area2)) { Direction? dirOpt = area.refCoord.GetStrictDirection4To(area2.refCoord); if (dirOpt.HasValue) { List<Area> applyAreas = ListPool<Area>.Get(); applyAreas.AddRange(ZoneAreaFilterUtils.TargetsToCompareAreaList(applyStartTargets, context)); int applyAreaCount = applyAreas.Count; foreach (IEntity entity in entities) { IEntityWithBoardPresence entityWithBoardPresence = entity as IEntityWithBoardPresence; if (entityWithBoardPresence != null) { for (int i = 0; i < applyAreaCount; i++) { Area area3 = applyAreas[i]; if (distance.Matches(entityWithBoardPresence.area.MinDistanceWith(area3), context) && entityWithBoardPresence.area.IsAlignedWith(area3) && area3.GetStrictDirection4To(entityWithBoardPresence.area) == dirOpt) { yield return entity; break; } } } } ListPool<Area>.Release(applyAreas); } } }
public bool TryGetEntity <T>(DynamicValueContext context, out T entity) where T : class, IEntity { if (context.type == DynamicValueHolderType.CharacterAction) { CharacterActionValueContext characterActionValueContext = context as CharacterActionValueContext; if (characterActionValueContext != null) { T val = characterActionValueContext.relatedCharacterStatus as T; if (val != null) { entity = val; return(true); } } else { Log.Error("Cannot use ApplicationHolder when cast target context is " + context.GetType().Name + ".", 26, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Data\\TargetSelectors\\ApplicationHolderSelector.cs"); } } else { Log.Error($"Cannot use ApplicationHolder when cast object type is {context.type} ({context.GetType().Name}).", 31, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Data\\TargetSelectors\\ApplicationHolderSelector.cs"); } entity = null; return(false); }
public override bool GetValue(DynamicValueContext context, out int value) { int num = context?.level ?? 1; value = (int)Math.Round((float)baseValue + (float)num * factor); return(true); }
public IEnumerable <Target> EnumerateTargets(DynamicValueContext context) { foreach (Coord item in EnumerateCoords(context)) { yield return(new Target(item)); } }
public override bool IsValid(DynamicValueContext context) { if (!selector.TryGetEntity(context, out EntityStatus entity)) { return(false); } return(PropertiesFilter.ValidateCondition(entity, m_comparison, m_properties)); }
public override bool GetValue(DynamicValueContext context, out int value) { if (m_condition.IsValid(context)) { return(m_ifTrue.GetValue(context, out value)); } return(m_ifFalse.GetValue(context, out value)); }
public override bool IsValid(DynamicValueContext context) { if (selector.TryGetEntity(context, out IEntityWithLife entity)) { return(entity.life * 100 / entity.baseLife < RuntimeData.constantsDefinition.agonyThreshold); } return(false); }
public override bool IsValid(DynamicValueContext context) { return(selector.EnumerateEntities(context).All(delegate(IEntity e) { IEntityWithElementaryState entityWithElementaryState = e as IEntityWithElementaryState; return (entityWithElementaryState != null && entityWithElementaryState.HasElementaryState(elementaryState)) ? true : false; })); }
protected override CastValidity InternalCheckValidity(PlayerStatus status, DynamicValueContext castTargetContext) { if (status.reservePoints > 0) { return(CastValidity.SUCCESS); } return(CastValidity.NOT_ENOUGH_RESERVE_POINTS); }
public override bool ToString(DynamicValueContext context, out string value) { int value2; bool value3 = GetValue(context, out value2); value = value2.ToString(); return(value3); }
public override bool GetValue(DynamicValueContext context, out int value) { int value2; bool value3 = m_valueToNeg.GetValue(context, out value2); value = -value2; return(value3); }
protected override CastValidity InternalCheckValidity(PlayerStatus status, DynamicValueContext castTargetContext) { this.value.GetValue(castTargetContext, out int value); if (status.GetCarac(CaracId.ReservePoints) >= value) { return(CastValidity.SUCCESS); } return(CastValidity.NOT_ENOUGH_RESERVE_POINTS); }
public IEnumerable <IEntity> Filter(IEnumerable <IEntity> entities, DynamicValueContext context) { IEntity[] array = entities.ToArray(); List <IEntity> list = new List <IEntity>(); switch (m_superlative) { case Superlative.Biggest: { int num2 = int.MinValue; IEntity[] array2 = array; foreach (IEntity entity2 in array2) { int carac2 = entity2.GetCarac(this.carac); if (carac2 >= num2) { if (carac2 == num2) { list.Add(entity2); continue; } list.Clear(); list.Add(entity2); num2 = carac2; } } break; } case Superlative.Smallest: { int num = int.MaxValue; IEntity[] array2 = array; foreach (IEntity entity in array2) { int carac = entity.GetCarac(this.carac); if (carac <= num) { if (carac == num) { list.Add(entity); continue; } list.Clear(); list.Add(entity); num = carac; } } break; } default: Debug.LogError((object)"Unknown Superlative: {m_superlative"); break; } return(list); }
protected override CastValidity InternalCheckValidity(PlayerStatus status, DynamicValueContext castTargetContext) { this.value.GetValue(castTargetContext, out int value); if (status.GetCarac(element) >= value) { return(CastValidity.SUCCESS); } return(CastValidity.NOT_ENOUGH_ELEMENT_POINTS); }
public IEnumerable <IEntity> Filter(IEnumerable <IEntity> entities, DynamicValueContext context) { foreach (IEntity entity in entities) { if (ValidFor(entity)) { yield return(entity); } } }
public IEnumerable <IEntity> Filter(IEnumerable <IEntity> entities, DynamicValueContext context) { foreach (IEntity entity in entities) { if (entity is SummoningStatus) { yield return(entity); } } }
public IEnumerable <IEntity> Filter(IEnumerable <IEntity> entities, DynamicValueContext context) { foreach (IEntity entity in entities) { if (entity.HasProperty(m_property)) { yield return(entity); } } }
public IEnumerable <Target> EnumerateTargets(DynamicValueContext context) { ISelectorForCast selectorForCast = m_condition.IsValid(context) ? m_selectorIfTrue : m_selectorIfFalse; if (selectorForCast == null) { return(Empty()); } return(selectorForCast.EnumerateTargets(context)); }
public override bool Matches(int value, DynamicValueContext context) { minIncluded.GetValue(context, out int value2); maxIncluded.GetValue(context, out int value3); if (value2 <= value) { return(value3 >= value); } return(false); }
public IEnumerable <IEntity> Filter(IEnumerable <IEntity> entities, DynamicValueContext context) { int i = 0; for (int count = m_filters.Count; i < count; i++) { entities = m_filters[i].Filter(entities, context); } return(entities); }
public override IEnumerable <IEntity> EnumerateEntities(DynamicValueContext context) { DynamicValueFightContext dynamicValueFightContext = context as DynamicValueFightContext; if (dynamicValueFightContext == null) { return(Enumerable.Empty <IEntity>()); } return(dynamicValueFightContext.fightStatus.EnumerateEntities()); }