public bool CheckInputTarget(InputTargetType targetType, GoalTarget goal) { if (goal != null) { Units unit = goal.m_Unit; if (targetType == InputTargetType.MoveTarget) { return(unit != null && unit.isLive); } if (unit == null || !unit.isLive || !unit.CanBeSelected || !TeamManager.CanAttack(this.m_Owner, goal.m_Unit) || UnitFeature.DistanceToTarget(this.m_Owner.transform, unit.transform) > this.m_Owner.fog_range) { return(false); } switch (targetType) { case InputTargetType.AttackTarget: case InputTargetType.KillTarget: case InputTargetType.BuffTarget: case InputTargetType.FixedTarget: case InputTargetType.AttackYouTarget: case InputTargetType.TauntTarget: case InputTargetType.GuardTarget: return(true); case InputTargetType.SelectTarget: return(this.m_Owner.isPlayer); } } return(false); }
protected void SetInputTarget(InputTargetType targetType, Units target) { if (target != null) { if (this.m_Goals[(int)targetType] != null) { bool flag = this.m_Goals[(int)targetType].m_Unit == target; this.m_Goals[(int)targetType].Set(targetType, target); } else { GoalTarget goalTarget = new GoalTarget(); goalTarget.Set(targetType, target); this.m_Goals[(int)targetType] = goalTarget; } } else { this.m_Goals[(int)targetType] = null; } }
/// <summary> /// 入力を受け取り、各イベントへ派生させる /// </summary> /// <param name="inputType">入力の種類</param> /// <param name="targetType">入力対象の種類</param> /// <param name="target">入力対象オブジェクト</param> public void SetInput(InputType inputType, InputTargetType targetType, GameObject target) { switch (targetType) { //カード入力 case InputTargetType.card: Card card = target.GetComponent <Card>(); if (!card) { return; } switch (inputType) { case InputType.onClick: SetCardClick(card); break; case InputType.onPointer: SetPointerCard(card); break; case InputType.removeClick: RemoveCardClick(card); break; case InputType.removePointer: RemovePointerCard(card); break; } break; //カードゾーン入力 case InputTargetType.cardZone: CardZone cardZone = target.GetComponent <CardZone>(); if (!cardZone) { return; } switch (inputType) { case InputType.onClick: break; case InputType.onPointer: SetPointerCardZone(cardZone); break; case InputType.removeClick: break; case InputType.removePointer: RemovePointerCardZone(cardZone); break; } break; //プレイヤー入力 case InputTargetType.player: Player player = target.GetComponent <Player>(); if (!player) { return; } switch (inputType) { case InputType.onClick: PlayerClick(player); break; case InputType.onPointer: PointerPlayer(player); break; case InputType.removeClick: RemovePlayerDrag(player); break; case InputType.removePointer: RemovePointerPlayer(player); break; } break; } }
public void Set(InputTargetType targetType, Transform target) { this.transform = target; this.m_TargetType = targetType; }
public void Set(InputTargetType targetType, Units target) { this.m_Unit = target; this.m_TargetType = targetType; }
public double GetTimeTargetHasBeenOutOfView(InputTargetType targetType) { return(0.0); }
public double GetTimeTargetHasBeenVisible(InputTargetType targetType) { return(0.0); }
public Vector3?GetLastRecordedPosition(InputTargetType targetType) { return(null); }
public bool isTargetShootable(InputTargetType targetType) { return(false); }
public bool isTargetWithinFOV(InputTargetType targetType) { return(false); }
public bool isTargetPresent(InputTargetType targetType) { return(null != this.m_Goals[(int)targetType]); }
protected GoalTarget GetInputTarget(InputTargetType targetType) { return(this.m_Goals[(int)targetType]); }