Example #1
0
    /// <summary>
    /// 追加詳細コリジョンヒットフラグ
    /// </summary>
    /// <param name="add_collision"></param>
    /// <returns></returns>
    public RpgCollisionHit AddCollisionHit(Collider collider, RpgCollisionDetails add_collision, bool comple_add = false)
    {
        if (collider == null)
        {
            return(null);
        }
        if (list_rpg_collision_hit_ == null)
        {
            list_rpg_collision_hit_ = new List <RpgCollisionHit>();
        }

        if (comple_add == false)
        {
            RpgCollisionHit hit = SearchCollisionHit(collider);
            if (hit != null)
            {
                return(null);
            }
        }

        RpgCollisionHit new_hit = new RpgCollisionHit();

        new_hit.Init(collider, add_collision.ThisObject);

        list_rpg_collision_hit_.Add(new_hit);
        new_hit.FlagHit();
        return(new_hit);
    }
Example #2
0
 /// <summary>
 /// ヒットUpdate
 /// </summary>
 /// <param name="hit"></param>
 public void HitUpdate(RpgCollisionHit hit)
 {
     if (hit.GetHitEnter == true && hit_enter_func_ != null)
     {
         hit_enter_func_(hit.HitCollision);
     }
     if (hit.GetHitSecond == true && hit_second_func_ != null)
     {
         hit_second_func_(hit.HitCollision);
     }
     if (hit.GetHitRelease == true && hit_release_func_ != null)
     {
         hit_release_func_(hit.HitCollision);
     }
 }
Example #3
0
    /// <summary>
    /// ヒットしたときに呼ぶ関数
    /// </summary>
    /// <param name="collider"></param>
    /// <returns></returns>
    public bool CollisionHitEnter(Collider collider, RpgCollisionDetails opponent_col)
    {
        if (collider == null || opponent_col == null)
        {
            return(false);
        }
        if (list_rpg_collision_hit_ == null)
        {
            list_rpg_collision_hit_ = new List <RpgCollisionHit>();
        }

        RpgCollisionHit hit = SearchCollisionHit(collider);

        if (hit == null)
        {
            hit = AddCollisionHit(collider, opponent_col, true);
        }

        hit.FlagHit();
        return(true);
    }