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;
     }
 }
Example #3
0
    /// <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;
        }
    }
Example #4
0
 public void Set(InputTargetType targetType, Transform target)
 {
     this.transform    = target;
     this.m_TargetType = targetType;
 }
Example #5
0
 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]);
 }