public void SelectAim(ISkillAim aim) { ISkillAim[] aims = new ISkillAim[] { aim }; if (activeCard) { CardEffect cellAimedCard = activeCard.CardAsset.CardEffects.FirstOrDefault(ce => ce.cardAim == CardEffect.CardAim.Cell); if (cellAimedCard != null) { if (cellAimedCard.cellAimType == CardEffect.CellAimType.Circle) { List <ISkillAim> targetBlocks = new List <ISkillAim> (); aims = BlocksField.Instance.GetBlocksInRadius(aim as Block, cellAimedCard.Radius).ToArray(); foreach (Block bf in aims) { if (CellAllowed(cellAimedCard, bf)) { targetBlocks.Add(bf); } } aims = targetBlocks.ToArray(); } } } SelectAims(aims); }
public bool Check(ISkillAim aim = null) { switch (conditionType) { case ConditionType.Biom: break; case ConditionType.Cell: switch (aimConditionType) { case AimCondition.AimPlayer: break; case AimCondition.AnyEnemy: break; case AimCondition.Player: break; case AimCondition.AnyPlayer: break; case AimCondition.AllPlayers: break; } break; case ConditionType.State: break; case ConditionType.Cards: /*switch(aimConditionType) * { * case AimCondition.AimPlayer: * break; * case AimCondition.AnyEnemy: * break; * case AimCondition.Player: * break; * case AimCondition.AnyEnemy: * break; * case AimCondition.AllPlayers: * break; * } */ break; } return(false); }