/// <summary> /// 更新処理(当たり判定) /// </summary> /// <param name="collision"></param> public void UpdateCollision(BaseCollisionConstruction collision, RpgCollisionDetailsControl this_collision_control, List <BaseCollisionConstruction> opponent_collider) { if (collision == null) { return; } if (rpg_collision_ == null) { return; } Collider[] colliders = CollisionTypeOverLap(); RpgCollisionCalculation.CollisionCorrection(collision, this_collision_control, this, opponent_collider, colliders); }
/// <summary> /// コリジョンのタイプで当たり判定が変わる /// </summary> private Collider[] CollisionTypeOverLap() { Collider[] colliders = new Collider[0]; if (rpg_collision_.GetType() == typeof(BoxCollider)) { colliders = RpgCollisionCalculation.BoxCalculation((BoxCollider)rpg_collision_); } else if (rpg_collision_.GetType() == typeof(SphereCollider)) { colliders = RpgCollisionCalculation.SphereCalculation((SphereCollider)rpg_collision_); } else if (rpg_collision_.GetType() == typeof(CapsuleCollider)) { colliders = RpgCollisionCalculation.CapsuleCalculation((CapsuleCollider)rpg_collision_); } return(colliders); }