public void AddDamage(int damage, bool isSendRPC = true)
    {
        if (damage <= 0)
        {
            return;
        }

        if (photonView.isMine)
        {
            if (parentCtrl != null)
            {
                parentCtrl.AddDamage(damage);
            }
            else
            {
                nowHp -= damage;
                if (nowHp <= 0)
                {
                    Break();
                }
            }
        }
        else
        {
            if (isSendRPC)
            {
                stockDamage += damage;
                if (stockDamage >= maxHp / 10)
                {
                    photonView.RPC("AddDamageRPC", PhotonTargets.Others, stockDamage);
                    stockDamage = 0;
                }
            }
        }
    }
    //ダメージ処理
    protected void AddDamage(GameObject hitObj)
    {
        //ダメージ系処理は所有者のみ行う
        if (photonView.isMine)
        {
            //AttackRate計算
            float dmg = damage;
            if (ownerStatus != null)
            {
                dmg *= (ownerStatus.attackRate / 100);
            }

            if (hitObj.CompareTag("Player") || hitObj.tag == "Target")
            {
                isHit = true;

                if (dmg > 0 || statusChangeCtrl != null)
                {
                    //プレイヤーステータス
                    PlayerStatus status = GetHitObjStatus(hitObj);

                    if (status.IsReflection())
                    {
                        Reflection();
                        return;
                    }

                    //ダメージ
                    float addDmg = AddDamageProccess(status, dmg);

                    //デバフ
                    AddDebuff(status);

                    //スタック
                    if (stuckTime > 0)
                    {
                        status.AttackInterfareMove(stuckTime);
                    }

                    //ノックバック
                    if (knockBackRate != 0 && addDmg > 0)
                    {
                        TargetKnockBack(hitObj.transform, knockBackRate);
                    }
                }
            }
            else if (hitObj.CompareTag(Common.CO.TAG_STRUCTURE))
            {
                isHit = true;

                //ダメージ倍率計算
                if (myTran.tag == Common.CO.TAG_BULLET_EXTRA)
                {
                    dmg *= Common.CO.EXTRA_BULLET_BREAK_RATE;
                }
                StructureController structCtrl = hitObj.GetComponent <StructureController>();
                if (structCtrl != null)
                {
                    structCtrl.AddDamage((int)dmg);
                }
            }
            else if (hitObj.CompareTag(Common.CO.TAG_FLOOR))
            {
                isHit = true;
            }
        }
    }